// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
-// File: ModuleBase_Widgets.h
+// File: ModuleBase_WidgetIntValue.cpp
// Created: 04 June 2014
// Author: Vitaly Smetannikov
#include <ModuleBase_WidgetIntValue.h>
#include <ModuleBase_ParamSpinBox.h>
#include <ModuleBase_Tools.h>
+#include <ModuleBase_IntSpinBox.h>
#include <ModelAPI_AttributeInteger.h>
#include <ModelAPI_Data.h>
#include <QLabel>
#include <QEvent>
#include <QTimer>
-#include <QSpinBox>
#include <math.h>
if (!aLabelIcon.isEmpty())
myLabel->setPixmap(QPixmap(aLabelIcon));
- mySpinBox = new QSpinBox(this);
+ mySpinBox = new ModuleBase_IntSpinBox(this);
QString anObjName = QString::fromStdString(attributeID());
mySpinBox->setObjectName(anObjName);
QString aTTip = QString::fromStdString(theData->widgetTooltip());
mySpinBox->setToolTip(aTTip);
+ myLabel->setToolTip(aTTip);
aControlLay->addRow(myLabel, mySpinBox);
- connect(mySpinBox, SIGNAL(valueChanged(int)), this, SIGNAL(valuesChanged()));
+ connect(mySpinBox, SIGNAL(valueChanged(int)), this, SIGNAL(valuesModified()));
}
ModuleBase_WidgetIntValue::~ModuleBase_WidgetIntValue()
{
}
-void ModuleBase_WidgetIntValue::reset()
+bool ModuleBase_WidgetIntValue::resetCustom()
{
- if (isComputedDefault()) {
- return;
- //if (myFeature->compute(myAttributeID))
- // restoreValue();
+ bool aDone = false;
+ if (!isUseReset() || isComputedDefault()) {
+ aDone = false;
} else {
bool isOk;
int aDefValue = QString::fromStdString(getDefaultValue()).toInt(&isOk);
mySpinBox->setValue(isOk ? aDefValue : 0);
mySpinBox->blockSignals(isBlocked);
storeValueCustom();
+ aDone = true;
}
}
+ return aDone;
}
bool ModuleBase_WidgetIntValue::storeValueCustom() const
return true;
}
-bool ModuleBase_WidgetIntValue::restoreValue()
+bool ModuleBase_WidgetIntValue::restoreValueCustom()
{
DataPtr aData = myFeature->data();
AttributeIntegerPtr aRef = aData->integer(attributeID());
aList.append(mySpinBox);
return aList;
}
+
+bool ModuleBase_WidgetIntValue::processEnter()
+{
+ bool isModified = getValueState() == ModifiedInPP;
+ //bool isModified = mySpinBox->isModified();
+ if (isModified) {
+ emit valuesChanged();
+ //mySpinBox->clearModified();
+ mySpinBox->selectAll();
+ }
+ return isModified;
+}