]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #475 #451 correct detection of variables in the ParamSpinBox
authorsbh <sergey.belash@opencascade.com>
Fri, 17 Apr 2015 12:01:07 +0000 (15:01 +0300)
committersbh <sergey.belash@opencascade.com>
Fri, 17 Apr 2015 12:01:07 +0000 (15:01 +0300)
src/ModuleBase/ModuleBase_ParamSpinBox.cpp
src/ModuleBase/ModuleBase_ParamSpinBox.h

index 64e340fc082f5c6a4cf0f8179b7847af0b98eb85..1fdad51d3682ff889c22d401bd96be370ce285e5 100644 (file)
@@ -65,12 +65,6 @@ void ModuleBase_ParamSpinBox::connectSignalsAndSlots()
 {
   connect(this, SIGNAL(valueChanged(const QString&)),
           this, SLOT(onTextChanged(const QString&)));
-
-  //connect(lineEdit(), SIGNAL(textChanged(const QString&)),
-  //        this,       SLOT(onTextChanged(const QString&)));
-
-  //connect(lineEdit(), SIGNAL(textChanged(const QString&)),
-  //        this,       SIGNAL(textChanged(const QString&)));
 }
 
 /*!
@@ -79,11 +73,6 @@ void ModuleBase_ParamSpinBox::connectSignalsAndSlots()
 void ModuleBase_ParamSpinBox::onTextChanged(const QString& text)
 {
   myTextValue = text;
-
-  double value = 0;
-  if (isValid(text, value) == Acceptable) {
-    myCorrectValue = text;
-  }
 }
 
 /*!
@@ -102,6 +91,14 @@ double ModuleBase_ParamSpinBox::valueFromText(const QString& theText) const
   return aValue;
 }
 
+QString ModuleBase_ParamSpinBox::textFromValue (double theValue) const
+{
+  if (hasVariable(myTextValue)){
+    return myTextValue;
+  }
+  return ModuleBase_DoubleSpinBox::textFromValue(theValue);
+}
+
 /*!
  \brief This function is used to determine whether input is valid.
  \param str currently entered value
@@ -142,8 +139,7 @@ void ModuleBase_ParamSpinBox::setValue(const double value)
 {
   ModuleBase_DoubleSpinBox::setValue(value);
 
-  myCorrectValue = ModuleBase_DoubleSpinBox::textFromValue(value);
-  myTextValue = myCorrectValue;
+  myTextValue = ModuleBase_DoubleSpinBox::textFromValue(value);
 }
 
 /*!
@@ -175,7 +171,7 @@ bool ModuleBase_ParamSpinBox::isAcceptVariables() const
 
 bool ModuleBase_ParamSpinBox::hasVariable() const
 {
-  return hasVariable(text());
+  return hasVariable(myTextValue);
 }
 
 bool ModuleBase_ParamSpinBox::hasVariable(const QString& theText) const
index acdfadf1a98547dc60afe639a3d6eef551255983..403fc7a2983d00c185f71f589d2d79014417b562 100644 (file)
@@ -21,6 +21,7 @@ public:
   virtual void stepBy(int);
 
   virtual double valueFromText(const QString&) const;
+  virtual QString textFromValue (double value) const;
 
   virtual QValidator::State validate(QString&, int&) const;
 
@@ -54,7 +55,6 @@ signals:
   void connectSignalsAndSlots();
 
  private:
-  QString myCorrectValue;
   QString myTextValue;
 
   bool myAcceptVariables;