X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetFactory.h;h=fd416271ecd652c380da60843ea9e5600d3124cf;hb=eef14b29d313b9dd16453d12f20aa02383ee139c;hp=1e1f29fa76e8dfc54e6de9b682f1efc2881cc0f5;hpb=70b63231279a083e2c9c0281b1ad28dd6d4fba82;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetFactory.h b/src/ModuleBase/ModuleBase_WidgetFactory.h index 1e1f29fa7..fd416271e 100644 --- a/src/ModuleBase/ModuleBase_WidgetFactory.h +++ b/src/ModuleBase/ModuleBase_WidgetFactory.h @@ -38,9 +38,14 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory virtual ~ModuleBase_WidgetFactory(); /// Creates content widget for property panel - /// \param theParent a parent widget - void createWidget(ModuleBase_PageBase* theParent); + /// \param thePage a parent page + void createWidget(ModuleBase_PageBase* thePage); + /// Creates one widget for property panel for the widget with given index + /// \param theParent a parent widget + /// \param theWidgetId a widget index + void createWidget(ModuleBase_PageBase* thePage, + const std::string& theWidgetId); /// Returns list of model widgets QList getModelWidgets() const @@ -48,12 +53,27 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory return myModelWidgets; } - protected: + /// Returns the value of the title key from XML definition of the attribute in the feature + /// \param theFeatureKind a value of a kind of a feature + /// \param theAttributeId a value of a kind of the attribute under the feature + /// \param theTitle the result title + void getAttributeTitle(const std::string& theFeatureKind, + const std::string& theAttributeId, + std::string& theTitle); + +protected: /// check if ModuleBase_Widget has expandable widgets in getControls bool hasExpandingControls(QWidget* theParent); - /// Create widget by its type - /// \param theType a type - /// \param theParent a parent widget + + /// Create page by its type + /// \param theType a type + /// \param theParent a parent widget + ModuleBase_PageBase* createPageByType(const std::string& theType, + QWidget* theParent); + + /// Create widget by its type + /// \param theType a type + /// \param theParent a parent widget ModuleBase_ModelWidget* createWidgetByType(const std::string& theType, QWidget* theParent = NULL); @@ -61,6 +81,12 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory /// \param theStdString is STD string static QString qs(const std::string& theStdString); + /// It updates internal config api to point in the structure to given id of widget + /// The method is recusive and it stops when the found flag is true + /// \param theWidgetId a widget id key value + /// \param theFound a flag about found windget and recursive search should be stopped + void moveToWidgetId(const std::string& theWidgetId, bool& theFound); + private: /// API object for XML reading Config_WidgetAPI* myWidgetApi;