Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / XGUI / XGUI_MainMenu.cpp
index 0be7579aaa9626ae08df1addc1215d4f6e5ec935..efce9ab2c0bca4aacc50089f752d041dd8094ab4 100644 (file)
@@ -7,49 +7,47 @@
 #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);
+  myGeneralPage = addWorkbench(tr("General"));
 }
 
-
 XGUI_MainMenu::~XGUI_MainMenu(void)
 {
 }
 
-int XGUI_MainMenu::addWorkbench(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 myMenuTabs.length() - 1;
-}
-
-
-int XGUI_MainMenu::addGroup(int thePageId)
+XGUI_Workbench* XGUI_MainMenu::addWorkbench(const QString& theId, const QString& theTitle)
 {
-    XGUI_Workbench* aPage = dynamic_cast<XGUI_Workbench*>(myMenuTabs[thePageId]->widget());
-    return aPage->addGroup();
+  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;
 }
 
-void XGUI_MainMenu::addCommand(int thePageId, int theGroupId, XGUI_Command* theCommand)
+/*
+ * 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());
-    aPage->addCommand(theGroupId, theCommand);
+  return myDesktop->findChild<XGUI_Workbench*>(theObjName);
 }
-