Implement Getter for MainWindow's menus (#1418)

* implement getter for MainWindow's menus
This commit is contained in:
Itay Cohen 2019-04-03 10:50:25 +03:00 committed by GitHub
parent 3292cb22cc
commit 8cffd7e07d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 1 deletions

View File

@ -8,7 +8,9 @@
<object-type name="CutterCore" />
<object-type name="Configuration" />
<object-type name="MainWindow" />
<object-type name="MainWindow" >
<enum-type name="MenuType" />
</object-type>
<object-type name="BasicBlockHighlighter" />
<object-type name="CutterDockWidget" />

View File

@ -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);

View File

@ -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);