From 8cffd7e07d114cad4b7b6a2cd185beb9e8ef0d00 Mon Sep 17 00:00:00 2001 From: Itay Cohen Date: Wed, 3 Apr 2019 10:50:25 +0300 Subject: [PATCH] Implement Getter for MainWindow's menus (#1418) * implement getter for MainWindow's menus --- src/bindings/bindings.xml | 4 +++- src/core/MainWindow.cpp | 27 +++++++++++++++++++++++++++ src/core/MainWindow.h | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/bindings/bindings.xml b/src/bindings/bindings.xml index fde2f1fe..e6b1a34d 100644 --- a/src/bindings/bindings.xml +++ b/src/bindings/bindings.xml @@ -8,7 +8,9 @@ - + + + diff --git a/src/core/MainWindow.cpp b/src/core/MainWindow.cpp index 265c0653..0fd90b91 100644 --- a/src/core/MainWindow.cpp +++ b/src/core/MainWindow.cpp @@ -451,6 +451,33 @@ void MainWindow::addExtraWidget(QDockWidget *extraDock) restoreExtraDock.restoreWidth(extraDock->widget()); } +/** + * @brief Getter for MainWindow's different menus + * @param type The type which represents the desired menu + * @return The requested menu or nullptr if "type" is invalid +**/ +QMenu *MainWindow::getMenuByType(MenuType type) +{ + switch (type) { + case MenuType::File: + return ui->menuFile; + case MenuType::Edit: + return ui->menuEdit; + case MenuType::View: + return ui->menuView; + case MenuType::Windows: + return ui->menuWindows; + case MenuType::Debug: + return ui->menuDebug; + case MenuType::Help: + return ui->menuHelp; + case MenuType::Plugins: + return ui->menuPlugins; + default: + return nullptr; + } +} + void MainWindow::addPluginDockWidget(QDockWidget *dockWidget, QAction *action) { addDockWidget(Qt::TopDockWidgetArea, dockWidget); diff --git a/src/core/MainWindow.h b/src/core/MainWindow.h index 4e82bf31..26566a36 100644 --- a/src/core/MainWindow.h +++ b/src/core/MainWindow.h @@ -99,6 +99,8 @@ public: void addExtraWidget(QDockWidget *extraDock); void addPluginDockWidget(QDockWidget *dockWidget, QAction *action); + enum class MenuType { File, Edit, View, Windows, Debug, Help, Plugins }; + QMenu *getMenuByType(MenuType type); void addMenuFileAction(QAction *action); void updateDockActionChecked(QAction * action);