X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetSwitch.h;h=aafb6224f0c280599a33eb0d5b6769f6222eed5b;hb=1804fe9b51c902003511022872a64ef4bc7775fc;hp=f105bc6fda25ba4c75eb4220ecc5f581f445c5bc;hpb=72cb66f9c09b0f8fa224f6f8ab43548658015b49;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetSwitch.h b/src/ModuleBase/ModuleBase_WidgetSwitch.h index f105bc6fd..aafb6224f 100644 --- a/src/ModuleBase/ModuleBase_WidgetSwitch.h +++ b/src/ModuleBase/ModuleBase_WidgetSwitch.h @@ -7,105 +7,50 @@ * Author: sbh */ -#ifndef ModuleBase_WidgetSwitch_H_ -#define ModuleBase_WidgetSwitch_H_ +#ifndef MODULEBASE_WIDGETSWITCH_H_ +#define MODULEBASE_WIDGETSWITCH_H_ #include -#include +#include class QComboBox; -class QVBoxLayout; +class QStackedLayout; /** * \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 +class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_PagedContainer { -Q_OBJECT + Q_OBJECT public: /// Constructor /// \param parent a parent widget - ModuleBase_WidgetSwitch(QWidget* parent = NULL); + ModuleBase_WidgetSwitch(QWidget* theParent, + const Config_WidgetAPI* theData, + const std::string& theParentId); virtual ~ModuleBase_WidgetSwitch(); + /// Defines if it is supported to set the value in this widget + /// It returns false because this is an info widget + virtual bool canSetValue() const { return false; }; + /// 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); + virtual int addPage(ModuleBase_PageBase* theWidget, + const QString& theName, const QString& theCaseId); - /// 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: + protected: + virtual int currentPageIndex() const; /// 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(); + virtual void setCurrentPageIndex(int index); private: - /// Layout - QVBoxLayout* myMainLay; - /// Combo box QComboBox* myCombo; - - /// List of pages - QWidgetList myCases; + QStackedLayout* myPagesLayout; }; #endif /* ModuleBase_WidgetSwitch_H_ */