#ifndef MODULEBASE_WIDGETTOOLBOX_H_
#define MODULEBASE_WIDGETTOOLBOX_H_
-#include <ModuleBase_ModelWidget.h>
-
-#include <QToolBox>
+#include <ModuleBase.h>
+#include <ModuleBase_PagedContainer.h>
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:
+ /// Constructor
+ /// \param theParent the parent object
+ /// \param theData the widget configuration. The attribute of the model widget is obtained from
+ /// \param theParentId is Id of a parent of the current attribute
ModuleBase_WidgetToolbox(QWidget* theParent, const Config_WidgetAPI* theData,
const std::string& theParentId);
virtual ~ModuleBase_WidgetToolbox();
- virtual bool restoreValue();
- virtual QList<QWidget*> getControls() const;
- virtual bool focusTo();
+ /// Defines if it is supported to set the value in this widget
+ /// \return false because this is an info widget
+ virtual bool canSetValue() const { return false; };
- int addPage(ModuleBase_PageBase* 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 void activateCustom();
- 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;
- QList<ModuleBase_PageBase*> myPages;
+ ModuleBase_ToolBox* myToolBox;
};
#endif /* MODULEBASE_WIDGETTOOLBOX_H_ */