![]() |
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members
![]() |
Go to the source code of this file.
Classes | |
class | FX::FXMetaClass |
Describes a FOX object. More... | |
class | FX::FXObject |
Object is the base class for all objects in FOX; in order to receive messages from the user interface, your class must derive from Object. More... | |
Namespaces | |
namespace | FX |
Defines | |
#define | FXDECLARE(classname) |
#define | FXIMPLEMENT(classname, baseclassname, mapping, nmappings) |
#define | FXDECLARE_ABSTRACT(classname) |
#define | FXIMPLEMENT_ABSTRACT(classname, baseclassname, mapping, nmappings) |
#define | FXMETACLASS(classname) (&classname::metaClass) |
#define | FXDEFMAP(classname) static const classname::FXMapEntry |
#define | FXMAPTYPES(typelo, typehi, func) {FXSEL(typelo,FX::MINKEY),FXSEL(typehi,FX::MAXKEY),&func} |
#define | FXMAPTYPE(type, func) {FXSEL(type,FX::MINKEY),FXSEL(type,FX::MAXKEY),&func} |
#define | FXMAPFUNCS(type, keylo, keyhi, func) {FXSEL(type,keylo),FXSEL(type,keyhi),&func} |
#define | FXMAPFUNC(type, key, func) {FXSEL(type,key),FXSEL(type,key),&func} |
Typedefs | |
typedef FXuint | FX::FXSelector |
Enumerations | |
enum | { FX::MINKEY = 0, FX::MAXKEY = 65535 } |
enum | { FX::MINTYPE = 0, FX::MAXTYPE = 65535 } |
#define FXDECLARE | ( | classname | ) |
public: \ struct FXMapEntry { FX::FXSelector keylo; FX::FXSelector keyhi; long (classname::* func)(FX::FXObject*,FX::FXSelector,void*); }; \ static const FX::FXMetaClass metaClass; \ static FX::FXObject* manufacture(); \ virtual long handle(FX::FXObject* sender,FX::FXSelector sel,void* ptr); \ virtual const FX::FXMetaClass* getMetaClass() const { return &metaClass; } \ friend FX::FXStream& operator<<(FX::FXStream& store,const classname* obj){return store.saveObject((FX::FXObjectPtr)(obj));} \ friend FX::FXStream& operator>>(FX::FXStream& store,classname*& obj){return store.loadObject((FX::FXObjectPtr&)(obj));} \
Macro to set up class declaration.
Referenced by FX::FXCommandGroup::FXCommandGroup().
#define FXIMPLEMENT | ( | classname, | |
baseclassname, | |||
mapping, | |||
nmappings | |||
) |
FX::FXObject* classname::manufacture(){return new classname;} \ const FX::FXMetaClass classname::metaClass(#classname,classname::manufacture,&baseclassname::metaClass,mapping,nmappings,sizeof(classname::FXMapEntry)); \ long classname::handle(FX::FXObject* sender,FX::FXSelector sel,void* ptr){ \ const FXMapEntry* me=(const FXMapEntry*)metaClass.search(sel); \ return me ? (this->* me->func)(sender,sel,ptr) : baseclassname::handle(sender,sel,ptr); \ }
Macro to set up class implementation.
#define FXDECLARE_ABSTRACT | ( | classname | ) |
public: \ struct FXMapEntry { FX::FXSelector keylo; FX::FXSelector keyhi; long (classname::* func)(FX::FXObject*,FX::FXSelector,void*); }; \ static const FX::FXMetaClass metaClass; \ virtual long handle(FX::FXObject* sender,FX::FXSelector sel,void* ptr); \ virtual const FX::FXMetaClass* getMetaClass() const { return &metaClass; } \ friend FX::FXStream& operator<<(FX::FXStream& store,const classname* obj){return store.saveObject((FX::FXObjectPtr)(obj));} \ friend FX::FXStream& operator>>(FX::FXStream& store,classname*& obj){return store.loadObject((FX::FXObjectPtr&)(obj));} \
Macro to set up abstract class declaration.
#define FXIMPLEMENT_ABSTRACT | ( | classname, | |
baseclassname, | |||
mapping, | |||
nmappings | |||
) |
const FX::FXMetaClass classname::metaClass(#classname,NULL,&baseclassname::metaClass,mapping,nmappings,sizeof(classname::FXMapEntry)); \ long classname::handle(FX::FXObject* sender,FX::FXSelector sel,void* ptr){ \ const FXMapEntry* me=(const FXMapEntry*)metaClass.search(sel); \ return me ? (this->* me->func)(sender,sel,ptr) : baseclassname::handle(sender,sel,ptr); \ }
Macro to set up abstract class implementation.
#define FXMETACLASS | ( | classname | ) | (&classname::metaClass) |
MetaClass of a class.
#define FXDEFMAP | ( | classname | ) | static const classname::FXMapEntry |
Set up map type.
#define FXMAPTYPES | ( | typelo, | |
typehi, | |||
func | |||
) | {FXSEL(typelo,FX::MINKEY),FXSEL(typehi,FX::MAXKEY),&func} |
Define range of function types.
#define FXMAPTYPE | ( | type, | |
func | |||
) | {FXSEL(type,FX::MINKEY),FXSEL(type,FX::MAXKEY),&func} |
Define range of function types.
#define FXMAPFUNCS | ( | type, | |
keylo, | |||
keyhi, | |||
func | |||
) | {FXSEL(type,keylo),FXSEL(type,keyhi),&func} |
Define range of functions.
![]() |