]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/XGUI/XGUI_MainMenu.cpp
Salome HOME
Implimentation of the Config XML Reader
[modules/shaper.git] / src / XGUI / XGUI_MainMenu.cpp
index 0a4903bcea28b92a50b13f46b89b46bbf9bd604c..a19731deaf2bb9201ab6279096dd7ad6a4ae7166 100644 (file)
@@ -18,9 +18,11 @@ XGUI_MainMenu::~XGUI_MainMenu(void)
 {
 }
 
-IWorkbench* XGUI_MainMenu::addWorkbench(QString theTitle)
+IWorkbench* XGUI_MainMenu::addWorkbench(const QString& theTitle)
 {
     QDockWidget* aDoc = new QDockWidget(myDesktop);
+    QString workbenchObjName = theTitle + "_Workbench";
+    aDoc->setObjectName(workbenchObjName);
     aDoc->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
     aDoc->setAllowedAreas(Qt::TopDockWidgetArea);
     aDoc->setWindowTitle(theTitle);
@@ -35,11 +37,22 @@ IWorkbench* XGUI_MainMenu::addWorkbench(QString theTitle)
         myDesktop->tabifyDockWidget(myMenuTabs.last(), aDoc);
     }
 
-
     myMenuTabs.append(aDoc);
     return aPage;
 }
 
+/*
+ * Searches for already created workbench with given name.
+ */
+IWorkbench* XGUI_MainMenu::findWorkbench(const QString& theObjName)
+{
+  QDockWidget* aDoc = myDesktop->findChild<QDockWidget*>(theObjName);
+  if(aDoc) {
+    return dynamic_cast<IWorkbench*>(aDoc->widget());
+  }
+  return NULL;
+}
+
 
 IMenuGroup* XGUI_MainMenu::addGroup(int thePageId)
 {