1 #include "XGUI_MainMenu.h"
2 #include "XGUI_Workbench.h"
3 #include "XGUI_MainWindow.h"
10 XGUI_MainMenu::XGUI_MainMenu(XGUI_MainWindow *parent) :
11 QObject(parent), myDesktop(parent)
13 parent->setTabPosition(Qt::TopDockWidgetArea, QTabWidget::North);
17 XGUI_MainMenu::~XGUI_MainMenu(void)
21 IWorkbench* XGUI_MainMenu::addWorkbench(const QString& theTitle)
23 QDockWidget* aDoc = new QDockWidget(myDesktop);
24 QString workbenchObjName = theTitle + "_Workbench";
25 aDoc->setObjectName(workbenchObjName);
26 aDoc->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
27 aDoc->setAllowedAreas(Qt::TopDockWidgetArea);
28 aDoc->setWindowTitle(theTitle);
29 aDoc->setMinimumHeight(30);
30 aDoc->setContentsMargins(0, 0, 0, 0);
32 XGUI_Workbench* aPage = new XGUI_Workbench(aDoc);
33 aDoc->setWidget(aPage);
35 myDesktop->addDockWidget(Qt::TopDockWidgetArea, aDoc);
36 if (myMenuTabs.length() > 1) {
37 myDesktop->tabifyDockWidget(myMenuTabs.last(), aDoc);
40 myMenuTabs.append(aDoc);
45 * Searches for already created workbench with given name.
47 IWorkbench* XGUI_MainMenu::findWorkbench(const QString& theObjName)
49 QDockWidget* aDoc = myDesktop->findChild<QDockWidget*>(theObjName);
51 return dynamic_cast<IWorkbench*>(aDoc->widget());
57 IMenuGroup* XGUI_MainMenu::addGroup(int thePageId)
59 XGUI_Workbench* aPage = dynamic_cast<XGUI_Workbench*>(myMenuTabs[thePageId]->widget());
60 return aPage->addGroup();