History

moved MenuScriptingInterface to own files

ZappoMan committed 12 years ago

Commit e03c7be1 parent 73b0a5b5 files · +141 −105Browse files

Showing the changes to interface/src/Menu.cpp (1 of 5 files). Show all

Unified · Split

interface/src/Menu.cpp+1−71
@@ -30,6 +30,7 @@ · 29 unmodified lines
30 30
31#include "Application.h"31#include "Application.h"
32#include "Menu.h"32#include "Menu.h"
33#include "MenuScriptingInterface.h"
33#include "Util.h"34#include "Util.h"
34#include "InfoView.h"35#include "InfoView.h"
35#include "ui/MetavoxelEditor.h"36#include "ui/MetavoxelEditor.h"
@@ -1508,74 +1509,3 @@ void Menu::removeMenuItem(const QString& menu, const QString& menuitem) { · 1472 unmodified lines
1508 QMenuBar::repaint();1509 QMenuBar::repaint();
1509};1510};
1510 1511
1511MenuScriptingInterface* MenuScriptingInterface::_instance = NULL;
1512QMutex MenuScriptingInterface::_instanceMutex;
1513
1514MenuScriptingInterface* MenuScriptingInterface::getInstance() {
1515 // lock the menu instance mutex to make sure we don't race and create two menus and crash
1516 _instanceMutex.lock();
1517 if (!_instance) {
1518 _instance = new MenuScriptingInterface();
1519 }
1520 _instanceMutex.unlock();
1521 return _instance;
1522}
1523
1524void MenuScriptingInterface::deleteLaterIfExists() {
1525 _instanceMutex.lock();
1526 if (_instance) {
1527 _instance->deleteLater();
1528 _instance = NULL;
1529 }
1530 _instanceMutex.unlock();
1531}
1532
1533void MenuScriptingInterface::menuItemTriggered() {
1534 QAction* menuItemAction = dynamic_cast<QAction*>(sender());
1535 if (menuItemAction) {
1536 // emit the event
1537 emit menuItemEvent(menuItemAction->text());
1538 }
1539}
1540
1541void MenuScriptingInterface::addMenu(const QString& menu) {
1542 QMetaObject::invokeMethod(Menu::getInstance(), "addMenu", Q_ARG(const QString&, menu));
1543}
1544
1545void MenuScriptingInterface::removeMenu(const QString& menu) {
1546 QMetaObject::invokeMethod(Menu::getInstance(), "removeMenu", Q_ARG(const QString&, menu));
1547}
1548
1549void MenuScriptingInterface::addSeparator(const QString& menuName, const QString& separatorName) {
1550 QMetaObject::invokeMethod(Menu::getInstance(), "addSeparator",
1551 Q_ARG(const QString&, menuName),
1552 Q_ARG(const QString&, separatorName));
1553}
1554
1555void MenuScriptingInterface::addMenuItem(const MenuItemProperties& properties) {
1556 QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
1557}
1558
1559void MenuScriptingInterface::addMenuItem(const QString& menu, const QString& menuitem, const QString& shortcutKey) {
1560 MenuItemProperties properties(menu, menuitem, shortcutKey);
1561 QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
1562}
1563
1564void MenuScriptingInterface::addMenuItem(const QString& menu, const QString& menuitem) {
1565 MenuItemProperties properties(menu, menuitem);
1566 QMetaObject::invokeMethod(Menu::getInstance(), "addMenuItem", Q_ARG(const MenuItemProperties&, properties));
1567}
1568
1569void MenuScriptingInterface::removeMenuItem(const QString& menu, const QString& menuitem) {
1570 QMetaObject::invokeMethod(Menu::getInstance(), "removeMenuItem",
1571 Q_ARG(const QString&, menu),
1572 Q_ARG(const QString&, menuitem));
1573};
1574
1575bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) {
1576 return Menu::getInstance()->isOptionChecked(menuOption);
1577}
1578
1579void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool isChecked) {
1580 return Menu::getInstance()->setIsOptionChecked(menuOption, isChecked);
1581}