Salome HOME
SketchShapePlugin: checked group box/multi editor controls, which highlight the paren...
[modules/shaper.git] / src / SketchShapePlugin / SketchShapePlugin_WidgetCreator.h
index fe4a442217d11234157c3274cd40edeb2f577d37..1ce859f99b0845088cfbb5f8bd5dbacfddfe4889 100755 (executable)
@@ -9,6 +9,7 @@
 #include <set>
 
 class ModuleBase_ModelWidget;
+class ModuleBase_IWorkshop;
 class QWidget;
 
 /** 
@@ -24,18 +25,34 @@ public:
   /// Virtual destructor
   ~SketchShapePlugin_WidgetCreator() {}
 
+  /// Returns a container of possible page types, which this creator can process
+  /// \returns types
+  virtual const std::set<std::string>& pageTypes();
+
   /// Returns a list of possible widget types, which this creator can process
-  /// \return theTypes
+  /// \returns types
   virtual const std::set<std::string>& widgetTypes();
 
+  /// Create page by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  virtual ModuleBase_PageBase* createPageByType(const std::string& theType,
+                                                QWidget* theParent,
+                                                Config_WidgetAPI* theWidgetApi,
+                                                std::string theParentId);
+
   /// Create widget by its type
   /// \param theType a type
   /// \param theParent a parent widget
   virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
-                                                     QWidget* theParent = NULL);
+                                                     QWidget* theParent,
+                                                     Config_WidgetAPI* theWidgetApi,
+                                                     std::string theParentId,
+                                                     ModuleBase_IWorkshop* theWorkshop);
 
 private:
-  std::set<std::string> myTypes; /// types of widgets
+  std::set<std::string> myPages; /// types of pages
+  std::set<std::string> myWidgets; /// types of widgets
 };
 
 typedef std::shared_ptr<SketchShapePlugin_WidgetCreator> SketchShapePlguinWidgetCreatorPtr;