Salome HOME
Issue 1303 Re-ordering of Sketcher menus: additional structure for feature info to...
[modules/shaper.git] / src / XGUI / XGUI_MenuGroup.h
index d4d08329e273d5e93f253c47ee0cd34df5fb8623..c1748f3132ed2dad75b0798aa6b1d47bef13fc19 100755 (executable)
@@ -9,6 +9,11 @@
 
 #include "XGUI.h"
 
+#include <string>
+#include <list>
+
+class Config_FeatureMessage;
+
 /**
 * \ingroup GUI
 * A class for management of menu actions (features). The actions should be arranged like they are
@@ -19,9 +24,24 @@ class XGUI_EXPORT XGUI_MenuGroup
 {
  public:
   /// Constructor
-  XGUI_MenuGroup();
+  XGUI_MenuGroup(const std::string& theName);
   virtual ~XGUI_MenuGroup() {}
+
+  /// Returns a name of the workbench
+  /// \return workbench name
+  std::string getName() const { return myName; }
+
+  /// Stores XML information for the feature kind
+  /// \param theMessage a container of the feature XML properties
+  virtual void setFeatureInfo(const std::shared_ptr<Config_FeatureMessage>& theMessage);
+
+  /// Returns container of existing features
+  /// \returns list
+  const std::list<std::shared_ptr<Config_FeatureMessage> >& featureInfo() const;
+
+private:
+  std::string myName; /// a name of the workbench
+  std::list<std::shared_ptr<Config_FeatureMessage> > myFeatureInfo; /// container of existing features
 };
 
 #endif /* XGUI_MENUGROUP_H_ */
-