00001 /* $Id:$ */ 00002 00003 00004 /* This file was generated by otd2cpp.pl, a script for VOS by Reed Hedges <reed@zerohour.net> 00005 and Peter Amstutz <tetron@interreality.org> 00006 00007 Search for TODO for stuff that needs editing. You will want to especially fill in constructors, 00008 destructors, message handlers, non-property subobjects... 00009 00010 I can make no guarantee that this code will work, or even that it even is safe to run. 00011 Use it at your own risk. 00012 */ 00013 00014 /** @file menuBar.hh Defines MetaObject class for "menuBar" type (revision 0). 00015 00016 */ 00017 00018 #ifndef _GUI_MENUBAR_HH_ 00019 #define _GUI_MENUBAR_HH_ 00020 00021 #include <vos/vos.hh> 00022 #include <property/property.hh> 00023 00024 namespace VOSGUI { 00025 00026 /** MetaObject implementing MenuBar Object Type. 00027 00028 Contains a list of selectable items and/or submenus. 00029 00030 */ 00031 class MenuBar : public virtual MetaObject 00032 { 00033 00034 00035 protected: 00036 PropertyAccessControl* accessControl; 00037 00038 00039 public: 00040 00041 /** Constructor */ 00042 MenuBar(MetaObject* superobject); 00043 00044 /** Destructor */ 00045 virtual ~MenuBar(); 00046 00047 /** Return type string ("gui:menuBar") */ 00048 virtual const string getType(); 00049 00050 /** Register Extenders */ 00051 static void registerExtenders(); 00052 00053 /** Set default access control policy */ 00054 virtual void setPropertyAccessControl(PropertyAccessControl* ac); 00055 00056 /** Get default access control policy */ 00057 virtual PropertyAccessControl* getPropertyAccessControl(); 00058 00059 /** @name Access Subobjects */ 00060 //@{ 00061 00062 //@} 00063 00064 00065 /** @name Actuators. User-functions that correspond to message actions. */ 00066 //@{ 00067 00068 00069 //@} 00070 00071 }; 00072 00073 00074 00075 /** Local version of MenuBar. */ 00076 class LocalMenuBar : public virtual MenuBar 00077 { 00078 00079 public: 00080 00081 /** Constructor */ 00082 LocalMenuBar(MetaObject* superobject); 00083 00084 /** Destructor */ 00085 ~LocalMenuBar(); 00086 00087 /** Initialize required subproperties with given access control. */ 00088 virtual void initialize(PropertyAccessControl* ac); 00089 00090 /** Initialize required subproperties. If access control has been 00091 previously set with initialize(PropertyAccessControl*) or 00092 setPropertyAccessControl(), then that policy will be used. Otherwise, 00093 NoPropertyAccessControl will be used. 00094 */ 00095 virtual void initialize(); 00096 00097 /** Static generator, for factory. */ 00098 static MetaObject* new_LocalMenuBar(MetaObject* superobject, const string& type); 00099 00100 /** Called when this object gets a message */ 00101 virtual void sendMessage(Message* m); 00102 00103 /** @name Actuators. These methods correspond to messages. */ 00104 //@{ 00105 00106 //@} 00107 00108 protected: 00109 00110 /** @name Message Handlers */ 00111 //@{ 00112 00113 //@} 00114 00115 00116 00117 }; 00118 00119 00120 /** Remote version of MenuBar. */ 00121 class RemoteMenuBar : public virtual MenuBar 00122 { 00123 public: 00124 00125 /** Constructor */ 00126 RemoteMenuBar(MetaObject* superobject); 00127 00128 /** Destructor */ 00129 virtual ~RemoteMenuBar(); 00130 00131 /** Static generator, for factory. */ 00132 static MetaObject* new_RemoteMenuBar(MetaObject* superobject, const string& type); 00133 00134 /** Called when this object gets an update message from its Local master across the network. */ 00135 void sendUpdateMessage(Message *m); 00136 00137 /** @name Actuators. 00138 These are user-functions corresponding to messages. The remote actuators marshal arguments and send a message to the Local object. */ 00139 //@{ 00140 00141 00142 //@} 00143 00144 00145 protected: 00146 00147 /** @name Update Handlers. Handlers for remote update messages */ 00148 //@{ 00149 00150 //@} 00151 00152 }; 00153 00154 00155 } // end of namespace VOSGUI 00156 #endif // #ifdef _MENUBAR_HH_ 00157