Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Examples

vos/gui/gui/menubar.hh

Go to the documentation of this file.
00001 /* $Id: menubar.hh,v 1.6 2003/07/24 05:18:26 tetron Exp $ */
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 #if defined(_WIN32) && defined(_MSC_VER)
00022 # ifdef VOSGUI_EXPORTS
00023 #  define VOSGUI_API __declspec(dllexport)
00024 # else
00025 #  define VOSGUI_API __declspec(dllimport)
00026 # endif
00027 #else
00028 # define VOSGUI_API
00029 #endif
00030 
00031 #include <vos/corelibs/vos/vos.hh>
00032 #include <vos/metaobjects/property/property.hh>
00033 
00034 namespace VOSGUI {
00035 
00036 /** MetaObject implementing Menubar Object Type. 
00037     
00038     Contains a list of selectable items and/or submenus.
00039   
00040 */
00041 class VOSGUI_API Menubar : public virtual MetaObject
00042 {
00043 
00044 
00045 protected:
00046     PropertyAccessControl* accessControl;
00047 
00048 
00049 public:
00050 
00051     /** Constructor */
00052     Menubar(MetaObject* superobject);
00053 
00054     /** Destructor */
00055     virtual ~Menubar();
00056 
00057     /** Return type string ("gui:menubar") */
00058     virtual const string getType();
00059 
00060     /** Register Extenders */
00061     static void registerExtenders();
00062 
00063     /** Set default access control policy */
00064     virtual void setPropertyAccessControl(PropertyAccessControl* ac);
00065 
00066     /** Get default access control policy */
00067     virtual PropertyAccessControl* getPropertyAccessControl();
00068         
00069 
00070 };
00071 
00072 
00073 
00074 /** Local version of Menubar. */
00075 class VOSGUI_API LocalMenubar : public virtual Menubar
00076 {
00077 
00078 public:
00079 
00080     /** Constructor */
00081     LocalMenubar(MetaObject* superobject);
00082 
00083     /** Destructor */
00084     ~LocalMenubar();
00085 
00086     /** Initialize required subproperties with given access control. */
00087     virtual void initialize(PropertyAccessControl* ac);
00088 
00089     /** Initialize required subproperties. If access control has been
00090     previously set with initialize(PropertyAccessControl*) or
00091     setPropertyAccessControl(), then that policy will be used. Otherwise,
00092     NoPropertyAccessControl will be used.
00093     */
00094     virtual void initialize();
00095 
00096     /** Static generator, for factory. */
00097     static MetaObject* new_LocalMenubar(MetaObject* superobject, const string& type);
00098 
00099     /** Called when this object gets a message */
00100     virtual void sendMessage(Message* m);
00101 
00102 
00103 };
00104 
00105 
00106 /** Remote version of Menubar. */
00107 class VOSGUI_API RemoteMenubar : public virtual Menubar
00108 {
00109 public:
00110 
00111     /** Constructor */
00112     RemoteMenubar(MetaObject* superobject);
00113 
00114     /** Destructor */
00115     virtual ~RemoteMenubar();
00116 
00117     /** Static generator, for factory. */
00118     static MetaObject* new_RemoteMenubar(MetaObject* superobject, const string& type);
00119 
00120     /** Called when this object gets an update message from its Local master across the network. */
00121     void sendUpdateMessage(Message *m);
00122 
00123 
00124 };
00125 
00126 
00127 } // end of namespace VOSGUI
00128 #endif // #ifdef _MENUBAR_HH_
00129 

Generated on Tue Aug 12 03:55:43 2003 for Interreality Project - VOS by doxygen 1.3.2