Salome HOME
518d9a163698df418347103b689569e117be080d
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetBoolValue.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModuleBase_WidgetBoolValue.h
4 // Created:     04 June 2014
5 // Author:      Vitaly Smetannikov
6
7 #ifndef ModuleBase_WidgetBoolValue_H
8 #define ModuleBase_WidgetBoolValue_H
9
10 #include "ModuleBase.h"
11 #include "ModuleBase_ModelWidget.h"
12
13 class Config_WidgetAPI;
14 class QWidget;
15 class QCheckBox;
16
17 /**
18 * \ingroup GUI
19 * Implementation of widget for boolean input (check box)
20 */ 
21 class MODULEBASE_EXPORT ModuleBase_WidgetBoolValue : public ModuleBase_ModelWidget
22 {
23 Q_OBJECT
24  public:
25   /// Constructor
26   /// \param theParent the parent object
27   /// \param theData the widget configuation. The attribute of the model widget is obtained from
28   /// \param theParentId is Id of a parent of the current attribute
29   ModuleBase_WidgetBoolValue(QWidget* theParent, const Config_WidgetAPI* theData,
30                              const std::string& theParentId);
31
32   virtual ~ModuleBase_WidgetBoolValue();
33
34   virtual bool restoreValue();
35
36   virtual QList<QWidget*> getControls() const;
37
38   QWidget* getControl() const;
39
40 protected:
41   /// Saves the internal parameters to the given feature
42   /// \return True in success
43   virtual bool storeValue() const;
44
45  private:
46    /// The check box
47   QCheckBox* myCheckBox;
48 };
49
50 #endif