X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_PropertyPanel.h;h=9ba7754edaca4a4ae7ee9d2ee048fca2c6237f03;hb=65a616a3bb6cbdf09c61fed7eb91d1f5d9667988;hp=c202af395b6a2055510138899dc168884536dad3;hpb=a2686c838648dcf05659df3c31d9b90aca42b792;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PropertyPanel.h b/src/XGUI/XGUI_PropertyPanel.h index c202af395..9ba7754ed 100644 --- a/src/XGUI/XGUI_PropertyPanel.h +++ b/src/XGUI/XGUI_PropertyPanel.h @@ -17,8 +17,11 @@ #include +class XGUI_ActionsMgr; class QKeyEvent; -class QVBoxLayout; +class QGridLayout; +class ModuleBase_PageBase; +class ModuleBase_PageWidget; /// Internal name of property panel widget const static char* PROP_PANEL = "property_panel_dock"; @@ -29,6 +32,9 @@ const static char* PROP_PANEL_OK = "property_panel_ok"; /// Internal name of Cancel button const static char* PROP_PANEL_CANCEL = "property_panel_cancel"; +/// Internal name of Help button +const static char* PROP_PANEL_HELP = "property_panel_help"; + /** * \ingroup GUI * Realization of Property panel object. @@ -44,9 +50,12 @@ Q_OBJECT virtual ~XGUI_PropertyPanel(); + /// Returns header widget + virtual QWidget* headerWidget() const { return myHeaderWidget; } + /// Returns main widget of the property panel, which children will be created /// by WidgetFactory using the XML definition - QWidget* contentWidget(); + ModuleBase_PageBase* contentWidget(); /// Brings back all widget created by widget factory for signal/slot /// connections and further processing @@ -56,7 +65,7 @@ Q_OBJECT virtual const QList& modelWidgets() const; /// Removes all widgets in the widget area of the property panel - void cleanContent(); + virtual void cleanContent(); /// Returns currently active widget virtual ModuleBase_ModelWidget* activeWidget() const { return myActiveWidget; } @@ -68,9 +77,6 @@ Q_OBJECT /// Activate the next from current widget in the property panel virtual void activateNextWidget(); - /// \brief Enable/Disable stretch area in the panel - void setStretchEnabled(bool isEnabled); - /// Set Enable/Disable state of Cancel button /// \param theEnabled Enable/Disable state of Cancel button virtual void setCancelEnabled(bool theEnabled); @@ -82,16 +88,21 @@ Q_OBJECT /// \param isEditing state of editing mode flag virtual void setEditingMode(bool isEditing); + //! Allows to set predefined actions for the property panel fetched from the ActionsMgr + void setupActions(XGUI_ActionsMgr* theMgr); + + /// Returns widget processed by preselection + virtual ModuleBase_ModelWidget* preselectionWidget() const; + + /// Sets widget processed by preselection + virtual void setPreselectionWidget(ModuleBase_ModelWidget* theWidget); + public slots: /// \brief Update all widgets in property panel with values from the given feature /// \param theFeature a Feature to update values in widgets void updateContentWidget(FeaturePtr theFeature); - /// Enables / disables "ok" ("accept") button - /// \param toEnable enable/disable state of button - void setAcceptEnabled(bool toEnable); - /** * Makes the given widget active, highlights it and removes * highlighting from the previous active widget @@ -100,13 +111,17 @@ Q_OBJECT */ virtual void activateWidget(ModuleBase_ModelWidget* theWidget); + protected: + QWidget* myHeaderWidget; + private: - QWidget* myCustomWidget; + ModuleBase_PageWidget* myPanelPage; QList myWidgets; - QVBoxLayout* myMainLayout; /// Currently active widget ModuleBase_ModelWidget* myActiveWidget; + /// Currently widget processed by preselection + ModuleBase_ModelWidget* myPreselectionWidget; }; #endif /* XGUI_PROPERTYPANEL_H_ */