00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _VOSGUI_DISPLAY_HH_
00023 #define _VOSGUI_DISPLAY_HH_
00024
00025 #if defined(_WIN32) && defined(_MSC_VER)
00026 # ifdef VOSGUI_EXPORTS
00027 # define VOSGUI_API __declspec(dllexport)
00028 # else
00029 # define VOSGUI_API __declspec(dllimport)
00030 # endif
00031 #else
00032 # define VOSGUI_API
00033 #endif
00034
00035 #include <vos/corelibs/vos/vos.hh>
00036 #include "container.hh"
00037
00038 namespace VOSGUI
00039 {
00040
00041 class VOSGUI_API Display : public virtual MetaObject
00042 {
00043
00044 protected:
00045 PropertyAccessControl* accessControl;
00046
00047 public:
00048
00049
00050 Display(MetaObject* superobject);
00051
00052
00053 virtual ~Display();
00054
00055
00056 virtual void setPropertyAccessControl(PropertyAccessControl* ac);
00057
00058
00059 virtual PropertyAccessControl* getPropertyAccessControl();
00060
00061
00062
00063 virtual void initialize(PropertyAccessControl* ac);
00064
00065
00066
00067
00068
00069
00070 virtual void initialize();
00071
00072
00073 virtual const string getType();
00074
00075
00076 static void registerExtenders();
00077
00078
00079
00080 string getAppInfo();
00081 void setAppInfo(const string& value, PropertyAccessControl* ac = 0);
00082
00083
00084
00085
00086 string getUserId();
00087 void setUserId(const string& value, PropertyAccessControl* ac = 0);
00088
00089
00090
00091
00092
00093
00094 bool getAppDedicated();
00095 void setAppDedicated(bool value, PropertyAccessControl* ac = 0);
00096
00097
00098
00099
00100
00101
00102
00103
00104 virtual void addWindow(Container* c, const string& contextName = "");
00105
00106
00107 inline void addContainer(Container* c, const string& contextName="") {
00108 addWindow(c, contextName);
00109 }
00110
00111
00112
00113
00114 virtual void removeWindow(Container* c);
00115
00116
00117 inline void removeContainer(Container* c) {
00118 removeWindow(c);
00119 }
00120
00121
00122 virtual void addSubDisplay(Display* d, const string& cname = "");
00123
00124
00125 virtual void removeSubDisplay(Display* d);
00126 };
00127
00128
00129
00130 class VOSGUI_API LocalDisplay : public virtual Display
00131 {
00132
00133 public:
00134
00135
00136 LocalDisplay(MetaObject* superobject);
00137
00138
00139 static MetaObject* new_LocalDisplay(MetaObject* superobject, const string& type);
00140
00141 };
00142
00143
00144
00145 class VOSGUI_API RemoteDisplay : public virtual Display
00146 {
00147 public:
00148
00149
00150 RemoteDisplay(MetaObject* superobject);
00151
00152
00153 static MetaObject* new_RemoteDisplay(MetaObject* superobject, const string& type);
00154
00155 };
00156 }
00157
00158 #endif // #ifdef _VOSGUI_DISPLAY_HH_
00159