X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetDoubleValue.cpp;h=7400d7f7d48db95bc329456d6a75aa6c7a567282;hb=5746238455553297ce5333502e6f27e6e5d9348b;hp=f98bf3dcf9cf25814c82e053d8989f5f6b667d8a;hpb=ba737434252ae41c4bee1b792a0f0bb098ffae87;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp b/src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp index f98bf3dcf..7400d7f7d 100644 --- a/src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp +++ b/src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp @@ -3,6 +3,8 @@ // Author: Vitaly Smetannikov #include +#include +#include #include #include @@ -16,13 +18,17 @@ #include #include #include -#include #include -#include +#include + +#include #ifndef DBL_MAX #define DBL_MAX 1.7976931348623158e+308 #endif +#ifdef _DEBUG +#include +#endif ModuleBase_WidgetDoubleValue::ModuleBase_WidgetDoubleValue(QWidget* theParent, const Config_WidgetAPI* theData, @@ -31,7 +37,7 @@ ModuleBase_WidgetDoubleValue::ModuleBase_WidgetDoubleValue(QWidget* theParent, { myContainer = new QWidget(theParent); QHBoxLayout* aControlLay = new QHBoxLayout(myContainer); - aControlLay->setContentsMargins(0, 0, 0, 0); + ModuleBase_Tools::adjustMargins(aControlLay); QString aLabelText = QString::fromStdString(theData->widgetLabel()); QString aLabelIcon = QString::fromStdString(theData->widgetIcon()); @@ -40,7 +46,7 @@ ModuleBase_WidgetDoubleValue::ModuleBase_WidgetDoubleValue(QWidget* theParent, myLabel->setPixmap(QPixmap(aLabelIcon)); aControlLay->addWidget(myLabel); - mySpinBox = new QDoubleSpinBox(myContainer); + mySpinBox = new ModuleBase_DoubleSpinBox(myContainer); QString anObjName = QString::fromStdString(attributeID()); mySpinBox->setObjectName(anObjName); @@ -64,13 +70,19 @@ ModuleBase_WidgetDoubleValue::ModuleBase_WidgetDoubleValue(QWidget* theParent, aProp = theData->getProperty(DOUBLE_WDG_STEP); double aStepVal = QString::fromStdString(aProp).toDouble(&isOk); if (isOk) { + double aMinStep = pow(10, -1. * (double) mySpinBox->decimals()); + if(aStepVal < aMinStep){ + aStepVal = aMinStep; + } mySpinBox->setSingleStep(aStepVal); } - aProp = theData->getProperty(DOUBLE_WDG_DFLT); + aProp = theData->getProperty(ANY_WDG_DEFAULT); double aDefVal = QString::fromStdString(aProp).toDouble(&isOk); if (isOk) { mySpinBox->setValue(aDefVal); + } else if (aProp == DOUBLE_WDG_DEFAULT_COMPUTED){ + myIsComputedDefault = true; } QString aTTip = QString::fromStdString(theData->widgetTooltip()); @@ -80,8 +92,6 @@ ModuleBase_WidgetDoubleValue::ModuleBase_WidgetDoubleValue(QWidget* theParent, aControlLay->setStretch(1, 1); connect(mySpinBox, SIGNAL(valueChanged(double)), this, SIGNAL(valuesChanged())); - - mySpinBox->installEventFilter(this); } ModuleBase_WidgetDoubleValue::~ModuleBase_WidgetDoubleValue() @@ -112,22 +122,6 @@ bool ModuleBase_WidgetDoubleValue::restoreValue() QList ModuleBase_WidgetDoubleValue::getControls() const { QList aList; - aList.append(myLabel); aList.append(mySpinBox); return aList; } - -bool ModuleBase_WidgetDoubleValue::eventFilter(QObject *theObject, QEvent *theEvent) -{ - if (theObject == mySpinBox) { - if (theEvent->type() == QEvent::KeyRelease) { - QKeyEvent* aKeyEvent = (QKeyEvent*) theEvent; - if (aKeyEvent && aKeyEvent->key() == Qt::Key_Return) { - emit focusOutWidget(this); - } - emit keyReleased(attributeID(), (QKeyEvent*) theEvent); - return true; - } - } - return ModuleBase_ModelWidget::eventFilter(theObject, theEvent); -}