Salome HOME
Issue 1303 Re-ordering of Sketcher menus: additional structure for feature info to...
[modules/shaper.git] / src / XGUI / XGUI_MenuWorkbench.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        XGUI_MenuWorkbench.cpp
4 // Created:     13 Apr 2016
5 // Author:      Natalia ERMOLAEVA
6
7 #include <XGUI_MenuWorkbench.h>
8
9 #include <XGUI_MenuGroup.h>
10
11 XGUI_MenuWorkbench::XGUI_MenuWorkbench(const std::string& theName)
12 : myName(theName)
13 {
14 }
15
16 std::shared_ptr<XGUI_MenuGroup> XGUI_MenuWorkbench::findGroup(const std::string& theGroupName)
17 {
18   std::list< std::shared_ptr<XGUI_MenuGroup> >::const_iterator anIt = myGroups.begin(),
19                                                               aLast = myGroups.end();
20   std::shared_ptr<XGUI_MenuGroup> aResultGroup = 0;
21   for (; anIt != aLast && !aResultGroup; anIt++) {
22     std::shared_ptr<XGUI_MenuGroup> aGroup = *anIt;
23     if (aGroup->getName() == theGroupName)
24       aResultGroup = aGroup;
25   }
26   if (!aResultGroup) {
27     aResultGroup = std::shared_ptr<XGUI_MenuGroup>(new XGUI_MenuGroup(theGroupName));
28     myGroups.push_back(aResultGroup);
29   }
30   return aResultGroup;
31 }
32
33 const std::list<std::shared_ptr<XGUI_MenuGroup> >& XGUI_MenuWorkbench::groups() const
34 {
35   return myGroups;
36 }