00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <vos/corelibs/vos/vos.hh>
00025 #include <vos/metaobjects/property/property.hh>
00026 #include "menu.hh"
00027
00028 using namespace VOSGUI;
00029
00030
00031 Menu::Menu(MetaObject* s) : MetaObject(s)
00032 {
00033 }
00034
00035
00036 Menu::~Menu() {
00037 }
00038
00039
00040 void Menu::setPropertyAccessControl(PropertyAccessControl* ac) {
00041 accessControl = ac;
00042 }
00043
00044 PropertyAccessControl* Menu::getPropertyAccessControl() {
00045 return accessControl;
00046 }
00047
00048 LocalMenu::LocalMenu(MetaObject* s) : Menu(s), MetaObject(s)
00049 {
00050 accessControl = &NoPropertyAccessControl::static_;
00051 }
00052
00053 LocalMenu::~LocalMenu() {
00054 }
00055
00056
00057
00058 void LocalMenu::initialize(PropertyAccessControl* ac) {
00059 accessControl = ac;
00060 }
00061
00062 void LocalMenu::initialize() {
00063 initialize(&NoPropertyAccessControl::static_);
00064 }
00065
00066 RemoteMenu::RemoteMenu(MetaObject* s) : Menu(s), MetaObject(s)
00067 {
00068 }
00069
00070 RemoteMenu::~RemoteMenu() {
00071 }
00072
00073
00074
00075 const string Menu::getType() {
00076 return string("gui:menu");
00077 }
00078
00079
00080 void Menu::registerExtenders() {
00081 LocalSite::addLocalObjectExtension(typeid(LocalMenu).name(), &LocalMenu::new_LocalMenu);
00082 LocalSite::addLocalObjectExtension(typeid(Menu).name(), &LocalMenu::new_LocalMenu);
00083 LocalSite::addLocalObjectExtension("gui:menu", &LocalMenu::new_LocalMenu);
00084 RemoteSite::addRemoteObjectExtension(typeid(RemoteMenu).name(), &RemoteMenu::new_RemoteMenu);
00085 RemoteSite::addRemoteObjectExtension(typeid(Menu).name(), &RemoteMenu::new_RemoteMenu);
00086 RemoteSite::addRemoteObjectExtension("gui:menu", &RemoteMenu::new_RemoteMenu);
00087 }
00088
00089
00090
00091
00092
00093
00094
00095
00096 void LocalMenu::sendMessage(Message* m) {
00097
00098
00099 Menu::sendMessage(m);
00100 }
00101
00102
00103
00104
00105
00106
00107 void RemoteMenu::sendUpdateMessage(Message* m) {
00108
00109
00110
00111
00112
00113
00114
00115
00116 Menu::sendUpdateMessage(m);
00117 }
00118
00119
00120
00121
00122
00123
00124 MetaObject* LocalMenu::new_LocalMenu(MetaObject *s, const string& type) {
00125 LocalMenu* o = new LocalMenu(s);
00126 return o;
00127 }
00128
00129 MetaObject* RemoteMenu::new_RemoteMenu(MetaObject *s, const string& type) {
00130 return new RemoteMenu(s);
00131 }
00132