Salome HOME
Issue #1477 Build Vertex - wrong selection in viewer
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetToolbox.h
index c57c75e02d625061ab943ebb23e93d3ce179939f..f92d79f4c2cc706f113825751ba72a488a64cd10 100644 (file)
@@ -8,32 +8,49 @@
 #ifndef MODULEBASE_WIDGETTOOLBOX_H_
 #define MODULEBASE_WIDGETTOOLBOX_H_
 
-#include <ModuleBase_ModelWidget.h>
+#include <ModuleBase.h>
+#include <ModuleBase_PagedContainer.h>
 
-#include <QToolBox>
+class ModuleBase_PageBase;
+class ModuleBase_ToolBox;
 
-class ModuleBase_WidgetToolbox : public ModuleBase_ModelWidget
+/**
+* \ingroup GUI
+* Implements a model widget for switch as a container widget. It can be defined in XML with "toolbox" keyword
+*/
+class MODULEBASE_EXPORT ModuleBase_WidgetToolbox : public ModuleBase_PagedContainer
 {
   Q_OBJECT
  public:
-  ModuleBase_WidgetToolbox(QWidget* theParent, const Config_WidgetAPI* theData,
-                           const std::string& theParentId);
+  /// Constructor
+  /// \param theParent the parent object
+  /// \param theData the widget configuration. The attribute of the model widget is obtained from
+  ModuleBase_WidgetToolbox(QWidget* theParent, const Config_WidgetAPI* theData);
   virtual ~ModuleBase_WidgetToolbox();
 
-  virtual bool restoreValue();
-  virtual QList<QWidget*> getControls() const;
+  /// Defines if it is supported to set the value in this widget
+  /// \return false because this is an info widget
+  virtual bool canAcceptFocus() const { return false; };
 
-  int addPage(QWidget* theWidget, const QString& theName, const QString& theCaseId);
+  /// Add a page to the widget
+  /// \param theWidget a page widget
+  /// \param theName a name of page
+  /// \param theCaseId an Id of the page
+  /// \param theIcon an icon of the page
+  virtual int addPage( ModuleBase_PageBase* theWidget,
+                       const QString& theName,
+                       const QString& theCaseId,
+                       const QPixmap& theIcon );
 
  protected:
-  virtual bool storeValueCustom() const;
+  /// Implements ModuleBase_PagedContainer
+  virtual int currentPageIndex() const;
 
- protected slots:
-  void onPageChanged();
+  /// Implements ModuleBase_PagedContainer
+  virtual void setCurrentPageIndex(int);
 
  private:
-  QToolBox* myToolBox;
-  QStringList myCaseIds;
+  ModuleBase_ToolBox* myToolBox;
 };
 
 #endif /* MODULEBASE_WIDGETTOOLBOX_H_ */