FXEX::FXBaseObject Class Reference

#include <FXBaseObject.h>

Inheritance diagram for FXEX::FXBaseObject:

FXObject FXEX::FXThreadEvent FXThreadMessageRetriever

Detailed Description

This is a base class for ojects which can send messages to the application

Definition at line 61 of file FXBaseObject.h.


Public Types

enum  {
  ID_NONE = 0, ID_DELETE = 6, ID_DISABLE, ID_ENABLE,
  ID_SETVALUE = 17, ID_SETINTVALUE, ID_SETREALVALUE, ID_SETSTRINGVALUE,
  ID_SETINTRANGE, ID_SETREALRANGE, ID_GETINTVALUE, ID_GETREALVALUE,
  ID_GETSTRINGVALUE, ID_XML, ID_META, ID_COMMENT,
  ID_DOCUMENT, ID_TAG, ID_CONTENT, ID_LAST
}

Public Member Functions

virtual void create ()
 create resource
virtual void destroy ()
 destroy resource
virtual void detach ()
 detach resource
virtual void disable ()
 disable us
virtual void enable ()
 enable us
 FXBaseObject (FXApp *a, FXObject *tgt=NULL, FXSelector sel=0)
 Alternnatively, supply the app object as well.
 FXBaseObject (FXObject *tgt=NULL, FXSelector sel=0)
 Just supply the target and selector (de-serialisation too).
FXApp * getApp ()
 application pointer
FXSelector getSelector ()
 get the message
FXObjectgetTarget ()
 get the target
void * getUserData ()
 get user data
FXuint getUserDataLen ()
 get user daat length
FXbool isEnabled ()
 are we enabled?
virtual FXbool isReadonly ()
 are we modifiable
virtual void load (FXStream &store)
 load object from stream
long onCmdDisable (FXObject *, FXSelector, void *)
long onCmdEnable (FXObject *, FXSelector, void *)
long onUpdate (FXObject *, FXSelector, void *)
virtual void save (FXStream &store) const
 save object to stream
virtual void setReadonly (FXbool mode=TRUE)
 set modifiable mode
void setSelector (FXSelector sel)
 set the selector
void setTarget (FXObject *tgt)
 set the target
void setUserData (void *d)
 set user data
void setUserDataLen (FXuint len)
 set the user data length
virtual ~FXBaseObject ()
 dtor

Protected Types

enum  {
  FLAG_ENABLED = 0x00000002, FLAG_UPDATE = 0x00000004, FLAG_FOCUSED = 0x00000010, FLAG_DIRTY = 0x00000020,
  FLAG_RECALC = 0x00000040, FLAG_DEFAULT = 0x00000200, FLAG_INITIAL = 0x00000400, FLAG_ACTIVE = 0x00001000,
  FLAG_CHANGED = 0x00010000, FLAG_READONLY = 0x10000000
}
 flags defined are the same as those defined in FXWindow, etc. More...

Protected Attributes

void * data
FXuint datalen
FXuint flags
FXSelector message
FXuint options
FXObjecttarget

Private Attributes

FXApp * app

Member Enumeration Documentation

anonymous enum [protected]

flags defined are the same as those defined in FXWindow, etc.

Enumerator:
FLAG_ENABLED 
FLAG_UPDATE 
FLAG_FOCUSED 
FLAG_DIRTY 
FLAG_RECALC 
FLAG_DEFAULT 
FLAG_INITIAL 
FLAG_ACTIVE 
FLAG_CHANGED 
FLAG_READONLY 

Definition at line 67 of file FXBaseObject.h.

00067          {
00068         FLAG_ENABLED  = 0x00000002,   // enabled
00069         FLAG_UPDATE   = 0x00000004,   // needs update
00070         FLAG_FOCUSED  = 0x00000010,   // has focus
00071         FLAG_DIRTY    = 0x00000020,   // dirty
00072         FLAG_RECALC   = 0x00000040,   // needs recalculation
00073         FLAG_DEFAULT  = 0x00000200,   // set to default
00074         FLAG_INITIAL  = 0x00000400,   // set to initial value
00075         FLAG_ACTIVE   = 0x00001000,   // active
00076         FLAG_CHANGED  = 0x00010000,   // changed
00077         FLAG_READONLY = 0x10000000    // read only
00078     };

anonymous enum

Enumerator:
ID_NONE 
ID_DELETE 
ID_DISABLE 
ID_ENABLE 
ID_SETVALUE 
ID_SETINTVALUE 
ID_SETREALVALUE 
ID_SETSTRINGVALUE 
ID_SETINTRANGE 
ID_SETREALRANGE 
ID_GETINTVALUE 
ID_GETREALVALUE 
ID_GETSTRINGVALUE 
ID_XML 
ID_META 
ID_COMMENT 
ID_DOCUMENT 
ID_TAG 
ID_CONTENT 
ID_LAST 

Definition at line 92 of file FXBaseObject.h.

00092          {
00093         ID_NONE=0,
00094         ID_DELETE=6,
00095         ID_DISABLE,
00096         ID_ENABLE,
00097         ID_SETVALUE=17,
00098         ID_SETINTVALUE,
00099         ID_SETREALVALUE,
00100         ID_SETSTRINGVALUE,
00101         ID_SETINTRANGE,
00102         ID_SETREALRANGE,
00103         ID_GETINTVALUE,
00104         ID_GETREALVALUE,
00105         ID_GETSTRINGVALUE,
00106         ID_XML,
00107         ID_META,
00108         ID_COMMENT,
00109         ID_DOCUMENT,
00110         ID_TAG,
00111         ID_CONTENT,
00112         ID_LAST
00113     };


Constructor & Destructor Documentation

FXEX::FXBaseObject::FXBaseObject ( FXObject tgt = NULL,
FXSelector  sel = 0 
)

Just supply the target and selector (de-serialisation too).

FXEX::FXBaseObject::FXBaseObject ( FXApp *  a,
FXObject tgt = NULL,
FXSelector  sel = 0 
)

Alternnatively, supply the app object as well.

Definition at line 76 of file FXBaseObject.cpp.

References app, data, flags, message, and target.

00076                                                                 : FXObject() {
00077     data=NULL;
00078     target=tgt;
00079     message=sel;
00080     flags=0;
00081     app=a;
00082     if (app==NULL) {
00083         app=FXApp::instance();
00084     }
00085     if (app==NULL) {
00086         fxerror("%s: Cannot create object without FXApp object\n",getClassName());
00087     }
00088 }

FXEX::FXBaseObject::~FXBaseObject (  )  [virtual]

dtor

Definition at line 91 of file FXBaseObject.cpp.

References app, data, and target.

00091                             {
00092     if (data != NULL && data != (void*)-1)
00093         fxerror("%s::~%s - user data is not NULL prior to destruction\n",getClassName(),getClassName());
00094     app=(FXApp*)-1;
00095     target=(FXObject*)-1;
00096 }


Member Function Documentation

virtual void FXEX::FXBaseObject::create (  )  [inline, virtual]

create resource

Definition at line 194 of file FXBaseObject.h.

00194 {}

virtual void FXEX::FXBaseObject::destroy (  )  [inline, virtual]

destroy resource

Definition at line 200 of file FXBaseObject.h.

00200 {}

virtual void FXEX::FXBaseObject::detach (  )  [inline, virtual]

detach resource

Definition at line 197 of file FXBaseObject.h.

00197 {}

virtual void FXEX::FXBaseObject::disable (  )  [inline, virtual]

disable us

Definition at line 181 of file FXBaseObject.h.

References FLAG_ENABLED, and flags.

Referenced by onCmdDisable().

00181                            {
00182         flags&=~FLAG_ENABLED;
00183     }

virtual void FXEX::FXBaseObject::enable (  )  [inline, virtual]

enable us

Definition at line 176 of file FXBaseObject.h.

References FLAG_ENABLED, and flags.

Referenced by onCmdEnable().

00176                           {
00177         flags|=FLAG_ENABLED;
00178     }

FXApp * FXEX::FXBaseObject::getApp (  ) 

application pointer

Definition at line 123 of file FXBaseObject.cpp.

References app.

Referenced by FXEX::FXThreadEvent::~FXThreadEvent().

00123                             {
00124     if (app) return app;
00125     return FXApp::instance();
00126 }

FXSelector FXEX::FXBaseObject::getSelector (  )  [inline]

get the message

Definition at line 141 of file FXBaseObject.h.

References message.

00141                              {
00142         return message;
00143     }

FXObject* FXEX::FXBaseObject::getTarget (  )  [inline]

get the target

Definition at line 131 of file FXBaseObject.h.

References target.

00131                           {
00132         return target;
00133     }

void* FXEX::FXBaseObject::getUserData (  )  [inline]

get user data

Definition at line 151 of file FXBaseObject.h.

References data.

00151                         {
00152         return data;
00153     }

FXuint FXEX::FXBaseObject::getUserDataLen (  )  [inline]

get user daat length

Definition at line 161 of file FXBaseObject.h.

References datalen.

00161                             {
00162         return datalen;
00163     }

FXbool FXEX::FXBaseObject::isEnabled (  )  [inline]

are we enabled?

Definition at line 171 of file FXBaseObject.h.

References FLAG_ENABLED, and flags.

00171                        {
00172         return (flags&FLAG_ENABLED)!=0;
00173     }

virtual FXbool FXEX::FXBaseObject::isReadonly (  )  [inline, virtual]

are we modifiable

Definition at line 186 of file FXBaseObject.h.

References FLAG_READONLY, and flags.

00186                                 {
00187         return (flags&FLAG_READONLY)!=0;
00188     }

void FXEX::FXBaseObject::load ( FXStream &  store  )  [virtual]

load object from stream

Definition at line 111 of file FXBaseObject.cpp.

References app, data, datalen, flags, load(), message, options, and target.

00111                                        {
00112     FXObject::load(store);
00113     store >> app;
00114     store >> target;
00115     store >> message;
00116     store >> flags;
00117     store >> options;
00118     store >> datalen;
00119     store.load((FXuchar*)data,(unsigned long)datalen);
00120 }

long FXEX::FXBaseObject::onCmdDisable ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 141 of file FXBaseObject.cpp.

References disable().

00141                                                           {
00142     disable();
00143     return 1;
00144 }

long FXEX::FXBaseObject::onCmdEnable ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 135 of file FXBaseObject.cpp.

References enable().

00135                                                          {
00136     enable();
00137     return 1;
00138 }

long FXEX::FXBaseObject::onUpdate ( FXObject sender,
FXSelector  ,
void *   
)

Definition at line 147 of file FXBaseObject.cpp.

References FLAG_ENABLED, and flags.

00147                                                              {
00148     if (flags&FLAG_ENABLED)
00149         sender->handle(this,FXSEL(SEL_UPDATE,FXWindow::ID_ENABLE),NULL);
00150     else
00151         sender->handle(this,FXSEL(SEL_UPDATE,FXWindow::ID_DISABLE),NULL);
00152     return 1;
00153 }

void FXEX::FXBaseObject::save ( FXStream &  store  )  const [virtual]

save object to stream

Definition at line 99 of file FXBaseObject.cpp.

References app, data, datalen, flags, message, options, and target.

00099                                              {
00100     FXObject::save(store);
00101     store << app;
00102     store << target;
00103     store << message;
00104     store << flags;
00105     store << options;
00106     store << datalen;
00107     store.save((FXuchar*)data,(unsigned long)datalen);
00108 }

void FXEX::FXBaseObject::setReadonly ( FXbool  mode = TRUE  )  [virtual]

set modifiable mode

Definition at line 129 of file FXBaseObject.cpp.

References FLAG_READONLY, and flags.

00129                                           {
00130     if (mode) flags|=FLAG_READONLY;
00131     else flags&=~FLAG_READONLY;
00132 }

void FXEX::FXBaseObject::setSelector ( FXSelector  sel  )  [inline]

set the selector

Definition at line 146 of file FXBaseObject.h.

References message.

Referenced by GUIApplicationWindow::dependentBuild().

00146                                      {
00147         message=sel;
00148     }

void FXEX::FXBaseObject::setTarget ( FXObject tgt  )  [inline]

set the target

Definition at line 136 of file FXBaseObject.h.

References target.

Referenced by GUIApplicationWindow::dependentBuild().

00136                                   {
00137         target=tgt;
00138     }

void FXEX::FXBaseObject::setUserData ( void *  d  )  [inline]

set user data

Definition at line 156 of file FXBaseObject.h.

References data.

00156                               {
00157         data=d;
00158     }

void FXEX::FXBaseObject::setUserDataLen ( FXuint  len  )  [inline]

set the user data length

Definition at line 166 of file FXBaseObject.h.

References datalen.

00166                                     {
00167         datalen=len;
00168     }


Field Documentation

FXApp* FXEX::FXBaseObject::app [private]

Definition at line 81 of file FXBaseObject.h.

Referenced by FXBaseObject(), getApp(), load(), save(), and ~FXBaseObject().

void* FXEX::FXBaseObject::data [protected]

Definition at line 86 of file FXBaseObject.h.

Referenced by FXBaseObject(), getUserData(), load(), save(), setUserData(), and ~FXBaseObject().

FXuint FXEX::FXBaseObject::datalen [protected]

Definition at line 87 of file FXBaseObject.h.

Referenced by getUserDataLen(), load(), save(), and setUserDataLen().

FXuint FXEX::FXBaseObject::flags [protected]

FXSelector FXEX::FXBaseObject::message [protected]

FXuint FXEX::FXBaseObject::options [protected]

Definition at line 89 of file FXBaseObject.h.

Referenced by load(), and save().


The documentation for this class was generated from the following files:

Generated on Wed May 5 00:07:01 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6