home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1997 May
/
Pcwk0597.iso
/
sybase
/
starbuck
/
hpp.z
/
WOPTIMA.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1996-09-11
|
6KB
|
183 lines
//
// woptima.hpp -- Private functions.
//
#ifndef _WOPTIMA_HPP_INCLUDED
#define _WOPTIMA_HPP_INCLUDED
#ifndef _WDEF_HPP_INCLUDED
#include "wdef.hpp"
#endif
#ifndef _WTOOLBAR_HPP_INCLUDED
#include "wtoolbar.hpp"
#endif
#ifndef _WDIALOG_HPP_INCLUDED
#include "wdialog.hpp"
#endif
#ifndef _WPROPSHT_HPP_INCLUDED
#include "wpropsht.hpp"
#endif
struct __OptimaRTControl {
WUInt size;
WLong controlID;
WRect r;
WStyle style;
WStyle ex_style;
char text[];
};
class WWindow;
class WModule;
class WFont;
class WTransaction;
class WQuery;
class WDataSource;
#ifndef _WIN16
#undef GetObject
#if defined( _UNICODE )
#define GetObject GetObjectW
#else
#define GetObject GetObjectA
#endif
#endif
class WCMCLASS WOptima {
public:
static WBool CreateControl( WWindow * parent,
const WResourceID & parentID,
WWindow * control, long controlID,
WFont * font = NULL,
WModuleHandle module=_ApplicationModule );
static void ConnectTransaction( WForm * parent,
WTransaction * trans,
const WChar * name, WBool connect );
static void CreateQuery( WForm * parent, WQuery * query,
const WChar * trans_name,
const WChar * query_name );
static void AutoOpenQuery( WForm * parent, WQuery * query );
static WDataSource *GetDataSource( WForm * parent, const WChar * dsource_name );
static WObject *GetObject( WForm *parent, const WChar * object_name );
static void SetFormIcon( WForm * form, WBool mainForm,
const WResourceID & id,
WModuleHandle module=_ApplicationModule );
};
struct WCMCLASS WOptimaStaticToolbarData {
WEventHandler clickHandler;
WEventHandler doubleClickHandler;
};
class WCMCLASS WOptimaToolbarData {
private:
struct WResourceToolbarItem {
WToolbarItemStyle style;
WInt bitmapIndex;
WInt stringIndex;
WBool enabled;
WBool checked;
WBool pressed;
WBool indeterminate;
WBool hidden;
WBool lineBreak;
WBool inToolbar;
WInt textLength;
WInt toolTipTextLength;
};
struct WResourceCustomImage {
WInt resourceID;
WInt numBitmaps;
WInt isIcon;
};
struct WResourceToolbar {
WBool usesStandardBitmaps;
WBool usesViewBitmaps;
WBool usesLargeBitmaps;
WInt bitmapSizeWidth;
WInt bitmapSizeHeight;
WInt buttonSizeWidth;
WInt buttonSizeHeight;
WInt numItems;
WToolbarItemInfoArray * items;
WInt numCustomImages;
const WResourceCustomImage * images;
};
public:
WOptimaToolbarData( WOptimaStaticToolbarData s[], int size );
~WOptimaToolbarData();
WBool BuildToolbar( WToolbar * toolbar,
const WResourceID & id,
WModuleHandle module=_ApplicationModule );
WBool DispatchToolbarEvent( WToolbar * toolbar,
WObject * handlerOwner,
WEventID eventID,
WToolbarEventData * event );
protected:
WBool BuildToolbar( WToolbar * toolbar,
WResourceToolbar & toolbarResource,
WModuleHandle moduleHandle );
private:
WOptimaStaticToolbarData * sTable;
WBitmap ** images;
WInt imagesSize;
WInt size;
};
typedef WPropertySheetItem * WCMDEF (*WOptimaMakePSI)();
struct WCMCLASS WOptimaStaticPropertySheetData {
WOptimaMakePSI maker;
const WChar * resourceID;
const WChar * text;
};
class WCMCLASS WOptimaPropertySheetData {
public:
WOptimaPropertySheetData( WOptimaStaticPropertySheetData s[],
WInt size );
~WOptimaPropertySheetData();
virtual WBool BuildPropertySheet( WPropertySheet *,
WBool hasHelp );
WPropertySheetItem * FindPropertySheetItem( const WChar * ) const;
private:
WPropertySheetInfo * _propertySheets;
WOptimaStaticPropertySheetData *_staticData;
WInt _numPropertySheets;
};
extern class WOptimaCreateGlobal * TheFirstWOptimaCreateGlobal;
class WCMCLASS WOptimaCreateGlobal {
public:
WOptimaCreateGlobal( WObject * (*create)( WBool ),
void (*destroy)( WObject * ),
WOptimaCreateGlobal ** first );
static void CreateGlobals( WOptimaCreateGlobal ** first );
static void DestroyGlobals( WOptimaCreateGlobal ** first );
private:
WObject * (*_createFN)( WBool doCreate );
void (*_destroyFN)( WObject * item );
WOptimaCreateGlobal * _next;
};
#endif