Salome HOME
Spell-checking
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetSwitch.h
index 1f10c2eead1072a7116d95eeaf2e156248d7a4d8..fe89a0749366ca7db0f82a0cdc65ba4b4d212757 100644 (file)
@@ -7,20 +7,20 @@
  *      Author: sbh
  */
 
-#ifndef ModuleBase_WidgetSwitch_H_
-#define ModuleBase_WidgetSwitch_H_
+#ifndef MODULEBASE_WIDGETSWITCH_H_
+#define MODULEBASE_WIDGETSWITCH_H_
 
 #include <ModuleBase.h>
-#include <ModuleBase_ModelWidget.h>
+#include <ModuleBase_PagedContainer.h>
 
 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
+* 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_ModelWidget
+class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_PagedContainer
 {
   Q_OBJECT
  public:
@@ -31,96 +31,26 @@ class MODULEBASE_EXPORT ModuleBase_WidgetSwitch : public ModuleBase_ModelWidget
                           const std::string& theParentId);
   virtual ~ModuleBase_WidgetSwitch();
 
-  virtual bool restoreValue() {
-    return false;
-  }
-
-  virtual QList<QWidget*> getControls() const;
-
-  virtual bool focusTo() {
-    return false;
-  }
+  /// 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);
-
-  /// 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;
+  virtual int addPage(ModuleBase_PageBase* theWidget,
+                        const QString& theName, const QString& theCaseId);
 
-  /// 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:
-  virtual bool storeValueCustom() const {
-    return false;
-  }
-  /// 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_ */