#include <QLabel>
#include <QDockWidget>
-XGUI_MainMenu::XGUI_MainMenu(XGUI_MainWindow *parent) :
- QObject(parent), myDesktop(parent)
+XGUI_MainMenu::XGUI_MainMenu(XGUI_MainWindow *parent)
+ : QObject(parent), myDesktop(parent)
{
- parent->setTabPosition(Qt::TopDockWidgetArea, QTabWidget::North);
+ parent->setTabPosition(Qt::TopDockWidgetArea, QTabWidget::North);
}
-
XGUI_MainMenu::~XGUI_MainMenu(void)
{
}
-IWorkbench* XGUI_MainMenu::addWorkbench(QString theTitle)
+XGUI_Workbench* XGUI_MainMenu::addWorkbench(const QString& theId, const QString& theTitle)
{
- QDockWidget* aDoc = new QDockWidget(myDesktop);
- aDoc->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
- aDoc->setAllowedAreas(Qt::TopDockWidgetArea);
- aDoc->setWindowTitle(theTitle);
- aDoc->setMinimumHeight(30);
- aDoc->setContentsMargins(0, 0, 0, 0);
-
- XGUI_Workbench* aPage = new XGUI_Workbench(aDoc);
- aDoc->setWidget(aPage);
-
- myDesktop->addDockWidget(Qt::TopDockWidgetArea, aDoc);
- if (myMenuTabs.length() > 1) {
- myDesktop->tabifyDockWidget(myMenuTabs.last(), aDoc);
- }
-
-
- myMenuTabs.append(aDoc);
- return aPage;
+ QDockWidget* aDock = new QDockWidget(myDesktop);
+ aDock->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
+ aDock->setAllowedAreas(Qt::TopDockWidgetArea);
+ QString aTitle = theTitle;
+ if (aTitle.isEmpty()) {
+ aTitle = tr(theId.toLatin1().constData());
+ }
+ aDock->setWindowTitle(aTitle);
+ aDock->setMinimumHeight(30);
+ aDock->setContentsMargins(0, 0, 0, 0);
+
+ XGUI_Workbench* aPage = new XGUI_Workbench(aDock);
+ aPage->setObjectName(theId);
+ aDock->setWidget(aPage);
+
+ myDesktop->addDockWidget(Qt::TopDockWidgetArea, aDock);
+ if (myMenuTabs.length() > 1) {
+ myDesktop->tabifyDockWidget(myMenuTabs.last(), aDock);
+ }
+
+ myMenuTabs.append(aDock);
+ return aPage;
}
-
-IMenuGroup* XGUI_MainMenu::addGroup(int thePageId)
+/*
+ * Searches for already created workbench with given name.
+ */
+XGUI_Workbench* XGUI_MainMenu::findWorkbench(const QString& theObjName)
{
- XGUI_Workbench* aPage = dynamic_cast<XGUI_Workbench*>(myMenuTabs[thePageId]->widget());
- return aPage->addGroup();
+ return myDesktop->findChild<XGUI_Workbench*>(theObjName);
}
-