1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModuleBase_WidgetAction.h
4 // Created: 15 Apr 2016
5 // Author: Natalia Ermolaeva
7 #ifndef ModuleBase_WidgetAction_H
8 #define ModuleBase_WidgetAction_H
10 #include "ModuleBase.h"
11 #include "ModuleBase_ModelWidget.h"
13 class Config_WidgetAPI;
19 * Implementation of widget for feature action (tool button)
21 class MODULEBASE_EXPORT ModuleBase_WidgetAction : public ModuleBase_ModelWidget
26 /// \param theParent the parent object
27 /// \param theData the widget configuation. The attribute of the model widget is obtained from
28 ModuleBase_WidgetAction(QWidget* theParent, const Config_WidgetAPI* theData);
30 virtual ~ModuleBase_WidgetAction();
32 /// Do not accept focus, returns false
33 virtual bool focusTo();
35 /// Returns list of widget controls
36 /// \return a control list
37 virtual QList<QWidget*> getControls() const;
39 /// \return Context for translation
40 virtual std::string context() const {
41 std::string aContext = myFeatureId;
42 if(!aContext.empty() && !myActionID.empty()) {
45 aContext += myActionID;
52 /// \return True in success
53 virtual bool storeValueCustom();
56 virtual bool restoreValueCustom();
59 /// Listens the button click and call the customAction function of the current feature
60 void onActionClicked();
63 QToolButton* myButton; ///< action button
64 std::string myActionID; ///< action index