X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetSwitch.h;h=a1cec7a779402f91454144f4bbf488645e303703;hb=f9fd953bf814fad40ae045f6164c7f80229b0872;hp=08ce3bc711721e9fd37f55681b1f99066b5f2780;hpb=0951dd3a93f5370e1b42aef86cccbe0aaa8df0a6;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetSwitch.h b/src/ModuleBase/ModuleBase_WidgetSwitch.h index 08ce3bc71..a1cec7a77 100644 --- a/src/ModuleBase/ModuleBase_WidgetSwitch.h +++ b/src/ModuleBase/ModuleBase_WidgetSwitch.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + /* * ModuleBase_WidgetSwitch.h * @@ -5,49 +7,52 @@ * 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; -class MODULEBASE_EXPORT ModuleBase_WidgetSwitch: public QFrame +/** +* \ingroup GUI +* Implements a model widget for switch as a container widget. It can be defined in XML with "switch" keyword +*/ +class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_PagedContainer { Q_OBJECT -public: - ModuleBase_WidgetSwitch(QWidget* parent = NULL); + public: + /// Constructor + /// \param parent a parent widget + ModuleBase_WidgetSwitch(QWidget* theParent, + const Config_WidgetAPI* theData, + const std::string& theParentId); virtual ~ModuleBase_WidgetSwitch(); - int addPage(QWidget * theWidget, const QString & theName); - int count() const; - int currentIndex() const; - QWidget * currentWidget() const; - int indexOf(QWidget * theWidget) const; - int insertPage(int index, QWidget * theWidget, const QString & theName); - bool isPageEnabled(int index) const; - QString pageText(int index) const; - QString pageToolTip(int index) const; - void removePage(int index); - void setPageEnabled(int index, bool enabled); - void setPageName(int index, const QString & text); - void setPageToolTip(int index, const QString & toolTip); - -public slots: - void setCurrentIndex(int index); - -signals: - void currentPageChanged(int); - -protected: - void refresh(); - -private: - QVBoxLayout* myMainLay; + /// 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 + virtual int addPage( ModuleBase_PageBase* theWidget, + const QString& theName, + const QString& theCaseId, + const QIcon& theIcon ); + + protected: + virtual int currentPageIndex() const; + /// Set current page by index + /// \param index index of the page + virtual void setCurrentPageIndex(int index); + + private: + /// Combo box QComboBox* myCombo; - QWidgetList myCases; + QStackedLayout* myPagesLayout; }; #endif /* ModuleBase_WidgetSwitch_H_ */