X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchShapePlugin%2FSketchShapePlugin_WidgetCreator.h;h=1ce859f99b0845088cfbb5f8bd5dbacfddfe4889;hb=31c4ff77330b870d466fbd6b38e1fa566600f79a;hp=a812b01a2ad82331de148bdc0c5480e985d8cffc;hpb=72a0aa8a5b7f5d146cf32764f627bf0a682467f4;p=modules%2Fshaper.git diff --git a/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h b/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h index a812b01a2..1ce859f99 100755 --- a/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h +++ b/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h @@ -9,6 +9,7 @@ #include class ModuleBase_ModelWidget; +class ModuleBase_IWorkshop; class QWidget; /** @@ -24,19 +25,36 @@ public: /// Virtual destructor ~SketchShapePlugin_WidgetCreator() {} + /// Returns a container of possible page types, which this creator can process + /// \returns types + virtual const std::set& pageTypes(); + /// Returns a list of possible widget types, which this creator can process - /// \return theTypes + /// \returns types virtual const std::set& 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 myTypes; /// types of widgets + std::set myPages; /// types of pages + std::set myWidgets; /// types of widgets }; +typedef std::shared_ptr SketchShapePlguinWidgetCreatorPtr; #endif