]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #2533: Send signal on modified int value
authorvsv <vsv@opencascade.com>
Thu, 5 Jul 2018 13:36:27 +0000 (16:36 +0300)
committervsv <vsv@opencascade.com>
Thu, 5 Jul 2018 13:36:56 +0000 (16:36 +0300)
src/ModuleBase/ModuleBase_ParamSpinBox.cpp
src/ModuleBase/ModuleBase_ParamSpinBox.h
src/ModuleBase/ModuleBase_WidgetIntValue.cpp

index 97b8e3f22123643d4a132e60ecad58a075dd4a52..f3dfd36b56b0b4223778987f2833edd2223cb130 100644 (file)
@@ -110,7 +110,7 @@ void ModuleBase_ParamSpinBox::stepBy(int steps)
   double aVal = lineEdit()->text().toDouble();
   aVal += steps * mySingleStep;
   setValue(aVal);
-  QAbstractSpinBox::stepBy(steps);
+  //QAbstractSpinBox::stepBy(steps);
 }
 
 void ModuleBase_ParamSpinBox::onTextChanged(const QString& theText)
@@ -154,7 +154,9 @@ void ModuleBase_ParamSpinBox::setValue(double value)
   else if (aVal > myMaximum)
     aVal = myMaximum;
   QString aText = QString::number(aVal, 'g', decimals());
+  lineEdit()->blockSignals(true);
   lineEdit()->setText(aText);
+  lineEdit()->blockSignals(false);
   emit textChanged(aText);
 }
 
index 7e33da9c693b911267cd86bb33c2dae083efcf40..a2a4086980645fd47b89535bcce26c736edd48f6 100644 (file)
@@ -104,6 +104,9 @@ protected:
 
   virtual bool eventFilter(QObject* theObj, QEvent* theEvent);
 
+  /// The virtual function is reimplemented in order to avoid extra increasing of value by StepBy
+  /// method
+  virtual void timerEvent(QTimerEvent *event) {}
 
   virtual StepEnabled stepEnabled() const { return StepUpEnabled | StepDownEnabled; }
 
index e694d35f58b0953cc71ef626fcc081cc5d056917..176fea5fcd7dd52a98cc5d44a529b8ffdcde3c63 100644 (file)
@@ -101,7 +101,7 @@ ModuleBase_WidgetIntValue::ModuleBase_WidgetIntValue(QWidget* theParent,
   myLabel->setToolTip(aTTip);
 
   aControlLay->addRow(myLabel, mySpinBox);
-  connect(mySpinBox, SIGNAL(valueChanged(int)), this, SIGNAL(valuesModified()));
+  connect(mySpinBox, SIGNAL(textChanged(const QString&)), this, SIGNAL(valuesModified()));
 }
 
 ModuleBase_WidgetIntValue::~ModuleBase_WidgetIntValue()