X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetSwitch.h;h=f105bc6fda25ba4c75eb4220ecc5f581f445c5bc;hb=a2982d2108f929cf9e7f996cfd590c4ce59dc21c;hp=e6e6eec91d3d658eedda831ae7eb0a71ba05c8c5;hpb=7bf19255421b34594c7b0a76d0ce28166d0ce895;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetSwitch.h b/src/ModuleBase/ModuleBase_WidgetSwitch.h index e6e6eec91..f105bc6fd 100644 --- a/src/ModuleBase/ModuleBase_WidgetSwitch.h +++ b/src/ModuleBase/ModuleBase_WidgetSwitch.h @@ -16,39 +16,95 @@ class QComboBox; class QVBoxLayout; +/** +* \ingroup GUI +* Implements a model widget for swithch as a container widget. It can be defined in XML with "switch" keyword +*/ class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public QFrame { Q_OBJECT public: + /// Constructor + /// \param parent a parent widget ModuleBase_WidgetSwitch(QWidget* parent = NULL); virtual ~ModuleBase_WidgetSwitch(); + /// Add a page to the widget + /// \param theWidget a page widget + /// \param theName a name of page int addPage(QWidget * theWidget, const QString & theName); + + /// Returns count of pages int count() const; + + /// Returns index of current page int currentIndex() const; + + /// Returns current widget (page) QWidget * currentWidget() const; + + /// Returns index of widget (page) + /// \param theWidget a widget page int indexOf(QWidget * theWidget) const; + + /// Insert page + /// \param index an index (position) to insert + /// \param theWidget a page widget + /// \param theName a name of the page int insertPage(int index, QWidget * theWidget, const QString & theName); + + /// Returns True if a page by given index is enabled + /// \param index index of the page bool isPageEnabled(int index) const; + + /// Returns text of the page by its id + /// \param index index of the page QString pageText(int index) const; + + /// Returns tooltip of the page by its id + /// \param index index of the page QString pageToolTip(int index) const; + + /// Remove page by its id + /// \param index index of the page void removePage(int index); + + /// Enale/disable a page by its Id + /// \param index index of the page + /// \param enabled an enable flag void setPageEnabled(int index, bool enabled); + + /// Set page name + /// \param index index of the page + /// \param text a name of the page void setPageName(int index, const QString & text); + + /// Set page tooltip + /// \param index index of the page + /// \param toolTip a tooltip of the page void setPageToolTip(int index, const QString & toolTip); public slots: + /// Set current page by index + /// \param index index of the page void setCurrentIndex(int index); signals: + /// Emitted on current page change void currentPageChanged(int); protected: + /// Update widget void refresh(); private: + /// Layout QVBoxLayout* myMainLay; + + /// Combo box QComboBox* myCombo; + + /// List of pages QWidgetList myCases; };