History

Switching to a wrapper mechanism for VR menus

Brad Davis committed 11 years ago

Commit a96f69a1 parent ee3058830 files · +1335 −1045Browse files

Showing the changes to interface/src/scripting/MenuScriptingInterface.cpp (1 of 30 files). Show all

Unified · Split

interface/src/scripting/MenuScriptingInterface.cpp+35−13
@@ -28,50 +28,72 @@ void MenuScriptingInterface::menuItemTriggered() { · 27 unmodified lines
2828 }
2929
3030 void MenuScriptingInterface::addMenu(const QString& menu) {
31− Menu::getInstance()->addMenu("", menu);
31+ QMetaObject::invokeMethod(Menu::getInstance(), "addMenu", Q_ARG(const QString&, menu));
3232 }
3333
3434 void MenuScriptingInterface::removeMenu(const QString& menu) {
35− Menu::getInstance()->removeMenu(menu);
35+ QMetaObject::invokeMethod(Menu::getInstance(), "removeMenu", Q_ARG(const QString&, menu));
3636 }
3737
3838 bool MenuScriptingInterface::menuExists(const QString& menu) {
39− return Menu::getInstance()->menuExists(menu);
39+ bool result;
40+ QMetaObject::invokeMethod(Menu::getInstance(), "menuExists", Qt::BlockingQueuedConnection,
41+ Q_RETURN_ARG(bool, result),
42+ Q_ARG(const QString&, menu));
43+ return result;
4044 }
4145
4246 void MenuScriptingInterface::addSeparator(const QString& menuName, const QString& separatorName) {
43− Menu::getInstance()->addSeparator(menuName, separatorName);
47+ QMetaObject::invokeMethod(Menu::getInstance(), "addSeparator",
48+ Q_ARG(const QString&, menuName),
49+ Q_ARG(const QString&, separatorName));
4450 }
4551
4652 void MenuScriptingInterface::removeSeparator(const QString& menuName, const QString& separatorName) {
47− Menu::getInstance()->removeSeparator(menuName, separatorName);
53+ QMetaObject::invokeMethod(Menu::getInstance(), "removeSeparator",
54+ Q_ARG(const QString&, menuName),
55+ Q_ARG(const QString&, separatorName));
4856 }
4957
5058 void MenuScriptingInterface::addMenuItem(const MenuItemProperties& properties) {
51− Menu::getInstance()->addMenuItem(properties);
59+ QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
5260 }
5361
5462 void MenuScriptingInterface::addMenuItem(const QString& menu, const QString& menuitem, const QString& shortcutKey) {
55− Menu::getInstance()->addItem(menu, menuitem);
56− Menu::getInstance()->setItemShortcut(menuitem, shortcutKey);
63+ MenuItemProperties properties(menu, menuitem, shortcutKey);
64+ QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
5765 }
5866
5967 void MenuScriptingInterface::addMenuItem(const QString& menu, const QString& menuitem) {
60− Menu::getInstance()->addItem(menu, menuitem);
68+ MenuItemProperties properties(menu, menuitem);
69+ QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
6170 }
6271
6372 void MenuScriptingInterface::removeMenuItem(const QString& menu, const QString& menuitem) {
64− Menu::getInstance()->removeItem(menuitem);
73+ QMetaObject::invokeMethod(Menu::getInstance(), "removeMenuItem",
74+ Q_ARG(const QString&, menu),
75+ Q_ARG(const QString&, menuitem));
6576 };
6677
6778 bool MenuScriptingInterface::menuItemExists(const QString& menu, const QString& menuitem) {
68− return Menu::getInstance()->itemExists(menu, menuitem);
79+ bool result;
80+ QMetaObject::invokeMethod(Menu::getInstance(), "menuItemExists", Qt::BlockingQueuedConnection,
81+ Q_RETURN_ARG(bool, result),
82+ Q_ARG(const QString&, menu),
83+ Q_ARG(const QString&, menuitem));
84+ return result;
6985 }
7086
7187 bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) {
72− return Menu::getInstance()->isChecked(menuOption);
88+ bool result;
89+ QMetaObject::invokeMethod(Menu::getInstance(), "isOptionChecked", Qt::BlockingQueuedConnection,
90+ Q_RETURN_ARG(bool, result),
91+ Q_ARG(const QString&, menuOption));
92+ return result;
7393 }
7494
7595 void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool isChecked) {
76− Menu::getInstance()->setChecked(menuOption, isChecked);
96+ QMetaObject::invokeMethod(Menu::getInstance(), "setIsOptionChecked", Qt::BlockingQueuedConnection,
97+ Q_ARG(const QString&, menuOption),
98+ Q_ARG(bool, isChecked));
7799 }