]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Use default value only in case it is defined
authorvsv <vsv@opencascade.com>
Fri, 24 Aug 2018 09:40:15 +0000 (12:40 +0300)
committervsv <vsv@opencascade.com>
Fri, 24 Aug 2018 09:40:15 +0000 (12:40 +0300)
src/ModuleBase/ModuleBase_WidgetIntValue.cpp
src/ModuleBase/ModuleBase_WidgetIntValue.h

index 12931a997d81702ce2e518d5a6d46ebf2866ec96..b99e1d4ebabe7357c48008869f01e960710031fa 100644 (file)
@@ -52,7 +52,7 @@
 
 ModuleBase_WidgetIntValue::ModuleBase_WidgetIntValue(QWidget* theParent,
                                                      const Config_WidgetAPI* theData)
-: ModuleBase_ModelWidget(theParent, theData)
+: ModuleBase_ModelWidget(theParent, theData), myHasDefault(false)
 {
   QFormLayout* aControlLay = new QFormLayout(this);
   ModuleBase_Tools::adjustMargins(aControlLay);
@@ -91,11 +91,9 @@ ModuleBase_WidgetIntValue::ModuleBase_WidgetIntValue(QWidget* theParent,
     mySpinBox->setSingleStep(aStepVal);
   }
 
-  myDefVal = QString::fromStdString(getDefaultValue()).toInt(&isOk);
+  myDefVal = QString::fromStdString(getDefaultValue()).toInt(&myHasDefault);
   if (isOk)
     mySpinBox->setValue(myDefVal);
-  else
-    myDefVal = 0;
 
   QString aTTip = translate(theData->widgetTooltip());
   mySpinBox->setToolTip(aTTip);
@@ -206,7 +204,7 @@ bool ModuleBase_WidgetIntValue::restoreValueCustom()
       anAttribute->setExpressionError("");
       anAttribute->setExpressionInvalid(false);
     }
-    if (!anAttribute->isInitialized())
+    if ((!anAttribute->isInitialized()) && myHasDefault)
       anAttribute->setValue(myDefVal);
   }
   return true;
index 3d6030844502e1cdd458bb9615a42a2da084aca0..4637af46c6d01f6d1398e9067f4e3a9625b3af86 100644 (file)
@@ -85,6 +85,7 @@ protected:
   FeaturePtr myParameter;
 
   int myDefVal;
+  bool myHasDefault;
 };
 
 #endif