1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModuleBase_WidgetChoice.h
4 // Created: 03 Sept 2014
5 // Author: Vitaly Smetannikov
7 #ifndef ModuleBase_WidgetChoice_H
8 #define ModuleBase_WidgetChoice_H
10 #include "ModuleBase.h"
11 #include "ModuleBase_ModelWidget.h"
18 * Implementation of model widget for choice widget definition (combo box)
19 * It can be defined as following:
21 * <choice id="bool_type"
23 * tooltip="Type of boolean operation"
24 * string_list="Cut Fuse Common"
28 class MODULEBASE_EXPORT ModuleBase_WidgetChoice : public ModuleBase_ModelWidget
33 /// \param theParent the parent object
34 /// \param theData the widget configuation. The attribute of the model widget is obtained from
35 /// \param theParentId is Id of a parent of the current attribute
36 ModuleBase_WidgetChoice(QWidget* theParent, const Config_WidgetAPI* theData,
37 const std::string& theParentId);
39 virtual ~ModuleBase_WidgetChoice();
41 virtual bool storeValue() const;
43 virtual bool restoreValue();
45 virtual bool focusTo();
47 /// Returns the internal parent wiget control, that can be shown anywhere
48 /// \returns the widget
49 QWidget* getControl() const
54 /// Returns list of widget controls
55 /// \return a controls list
56 virtual QList<QWidget*> getControls() const;
59 /// Slot called on combo box index change
60 void onCurrentIndexChanged(int theIndex);