Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

node.h

Go to the documentation of this file.
00001 
00002 
00003 //
00004 //      NODE.H                                          (c)     YoY'99                                          WEB: www.aestesis.org
00005 //
00008 #ifndef                                                 _NODE_H_
00009 #define                                                 _NODE_H_
00012 #include                                                <windows.h>
00013 #include                                                "types.h"
00016 
00017 //      If you use directly the variables in the class API, it's at your own risks. Prefer the methods...   
00018 
00021 
00022 ADLL extern char                                *Alasterror;
00023 
00026 
00027 class Aproperties
00028 {
00029 public:
00030         qword                                           guid;
00031         int                                                     offset;
00032         char                                            *name;
00033         char                                            *design;
00034 };
00035 
00038 
00039 class ACI
00040 {
00041 public:
00042         class ACI                                       *inherited;
00043         char                                            *name;
00044         qword                                           guid;
00045         int                                                     nproperties;
00046         class Aproperties                       *properties;
00047         class ACI                                       *next;
00048 
00049         ADLL                                            ACI(char *name, qword guid, ACI *inherited, int np, class Aproperties *p);
00050         ADLL virtual                            ~ACI();
00051 };
00052 
00055 
00056 ADLL extern ACI                                 *aciList;
00057 
00060 
00061 class Anode
00062 {
00063 public:
00064 
00065         enum
00066         {
00067                                                                 stateTOP                                                = (1<<00),
00068                                                                 stateENABLE                                             = (1<<01),
00069                                                                 stateCOLAPSED                                   = (1<<02),
00070                                                                 stateLAST                                               = (1<<03) 
00071         };
00072 
00073 
00074         ADLL static ACI                         CI;
00075         virtual ACI                                     *getCI                                                  ()                                              { return &CI; }
00076 
00077         char                                            *name;
00078 
00079         Anode                                           *father;
00080         Anode                                           *next;
00081         Anode                                           *prev;
00082         Anode                                           *fchild;
00083         Anode                                           *lchild;
00084 
00085         dword                                           state;
00086 
00087         ADLL                                            Anode                                                   (char *name=NULL, Anode *father=NULL);
00088         ADLL virtual                            ~Anode                                                  ();
00089 
00090         virtual bool                            notify                                                  (Anode *o, int event, dword p=0);
00091         ADLL void                                       asyncNotify                                             (Anode *o, int event, dword p=0);
00092 
00093         ADLL bool                                       is                                                              (char *name);
00094         ADLL bool                                       isCI                                                    (ACI *CI);
00095         ADLL bool                                       isGUID                                                  (qword guid);
00096 
00097         ADLL int                                        count                                                   ();
00098 
00099         // private
00100 
00101         ADLL virtual void                       add                                                             (Anode *o);
00102         ADLL virtual void                       del                                                             (Anode *o);
00103 
00104 };
00105 
00108 
00109 __inline bool Anode::notify(Anode *o, int event, dword p)
00110 {
00111         if(father)
00112                 return ((event&0xf000)==0xa000)?father->notify(o, event, p):FALSE;
00113         return FALSE;
00114 }
00115 
00118 // notify
00119 
00120 enum
00121 {
00122                                                                 nyNOTHING                                               =0x0000,
00123                                                                 nyNOTIFY,
00124 
00125                                                                 nyCLICK                                                 =0x0010,
00126                                                                 nyDBLCKICK,
00127                                                                 nyCHECK,
00128                                                                 nyCLOSE,
00129                                                                 nyCHANGE,
00130                                                                 nyOK,
00131                                                                 nyCANCEL,
00132                                                                 nyRESET,
00133                                                                 nySELECT,
00134                                                                 nyPRESS,
00135                                                                 nyRELEASE,
00136 
00137                                                                 nyUSER1                                                 =0x1000,
00138                                                                 nyUSER2                                                 =0x2000,
00139                                                                 nyUSER3                                                 =0x3000,
00140                                                                 nyUSER4                                                 =0x4000,
00141                                                                 nyUSER5                                                 =0x5000,
00142                                                                 nyUSER6                                                 =0x6000,
00143                                                                 nyUSER7                                                 =0x7000,
00144                                                                 nyUSER8                                                 =0x8000,
00145                                                                 nyUSER9                                                 =0x9000,
00146 
00147                                                                 nyTHRUMESSAGE                                   =0xA000,
00148                                                                 nySTATUS                                                =0xA500,        // send message to status bar 
00149                                                                 nyTOOLTIPS,                                                                     // send message to help bar or tooltips
00150                                                                 nyALERT,                                                                        // idem (just different level)
00151                                                                 nyWARNING,                                                                      // idem (just different level)
00152                                                                 nyERROR,                                                                        // idem (just different level)
00153                                                                 nyCONTEXT                                                                       // context menu
00154 };
00155 
00158 #endif                                                  //_NODE_H_

Generated on Tue Nov 20 10:21:25 2001 for elektronika plugz SDK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001