Salome HOME
Initial iteration for storage the back references and making concealment only on...
[modules/shaper.git] / src / XGUI / XGUI_Workbench.cpp
index 996d5a7aeffe9df3245cb776321c6d244a430dd2..8826b335f576318696b0426e5f8526a1083b487e 100644 (file)
@@ -8,15 +8,15 @@
 #define SCROLL_STEP 20
 
 //**************************************************
-class CommandsArea: public QScrollArea
+class CommandsArea : public QScrollArea
 {
-public:
+ public:
   CommandsArea(QWidget* theParent)
       : QScrollArea(theParent)
   {
   }
 
-protected:
+ protected:
   virtual void resizeEvent(QResizeEvent * theEvent);
 };
 
@@ -84,7 +84,9 @@ XGUI_MenuGroupPanel* XGUI_Workbench::addGroup(const QString& theId)
   XGUI_MenuGroupPanel* aGroup = new XGUI_MenuGroupPanel(myChildWidget);
   aGroup->setObjectName(theId);
   myLayout->addWidget(aGroup);
-  addSeparator();
+  if (theId != "Default") {
+    addSeparator();
+  }
   myLayout->addStretch();
   myGroups.append(aGroup);
   return aGroup;
@@ -170,4 +172,25 @@ bool XGUI_Workbench::eventFilter(QObject *theObj, QEvent *theEvent)
     }
   }
   return QWidget::eventFilter(theObj, theEvent);
-}
\ No newline at end of file
+}
+
+XGUI_Command* XGUI_Workbench::feature(const QString& theId) const
+{
+  QList<XGUI_MenuGroupPanel*>::const_iterator aIt;
+  for (aIt = myGroups.constBegin(); aIt != myGroups.constEnd(); ++aIt) {
+    XGUI_Command* aCmd = (*aIt)->feature(theId);
+    if (aCmd)
+      return aCmd;
+  }
+  return 0;
+}
+
+QList<XGUI_Command*> XGUI_Workbench::features() const
+{
+  QList<XGUI_Command*> aList;
+  foreach (XGUI_MenuGroupPanel* aGroup, myGroups)
+  {
+    aList.append(aGroup->features());
+  }
+  return aList;
+}