1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModuleBase_WidgetAction.cpp
4 // Created: 15 Apr 2016
5 // Author: Natalia Ermolaeva
7 #include <ModuleBase_WidgetAction.h>
8 #include <ModuleBase_Tools.h>
10 #include <Config_WidgetAPI.h>
13 #include <QHBoxLayout>
14 #include <QToolButton>
16 ModuleBase_WidgetAction::ModuleBase_WidgetAction(QWidget* theParent,
17 const Config_WidgetAPI* theData)
18 : ModuleBase_ModelWidget(theParent, theData)
20 QHBoxLayout* aControlLay = new QHBoxLayout(this);
21 ModuleBase_Tools::adjustMargins(aControlLay);
23 myActionID = attributeID();
26 QString aText = QString::fromStdString(theData->widgetLabel());
27 QString aToolTip = QString::fromStdString(theData->widgetTooltip());
29 myButton = new QToolButton(this);
30 myButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
31 aControlLay->addWidget(myButton);
33 QString aLabelIcon = QString::fromStdString(theData->widgetIcon());
34 if (!aLabelIcon.isEmpty())
35 myButton->setIcon(QPixmap(aLabelIcon));
37 myButton->setText(aText);
38 myButton->setToolTip(aToolTip);
40 connect(myButton, SIGNAL(clicked(bool)), this, SLOT(onActionClicked()));
43 ModuleBase_WidgetAction::~ModuleBase_WidgetAction()
47 QList<QWidget*> ModuleBase_WidgetAction::getControls() const
49 QList<QWidget*> aList;
50 aList.append(myButton);
54 bool ModuleBase_WidgetAction::storeValueCustom()
59 bool ModuleBase_WidgetAction::restoreValueCustom()
64 void ModuleBase_WidgetAction::onActionClicked()
66 if (myFeature->customAction(myActionID))
67 updateObject(myFeature);