]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
0020580: EDF 1169 GEOM: float number precision in dialog boxes
authorvsr <vsr@opencascade.com>
Wed, 12 May 2010 06:14:58 +0000 (06:14 +0000)
committervsr <vsr@opencascade.com>
Wed, 12 May 2010 06:14:58 +0000 (06:14 +0000)
Additional fix for the bug with very small values (pseudo-zero)

src/Qtx/QtxDoubleSpinBox.cxx

index f0560db9be6487ce590f55d97e2ea68600adf2f4..87120b243d338520c9a66dc6a7aad82534be09ed 100644 (file)
@@ -28,6 +28,8 @@
 
 #include <limits>
 
+const double PSEUDO_ZERO = 1.e-20;
+
 /*!
   \class QtxDoubleSpinBox
   \brief Enhanced version of the Qt's double spin box.
@@ -263,6 +265,11 @@ void QtxDoubleSpinBox::stepBy( int steps )
   myCleared = false;
 
   QDoubleSpinBox::stepBy( steps );
+  double tmpval = value();
+  if ( qAbs( tmpval ) < PSEUDO_ZERO ) tmpval = 0.;
+  if ( tmpval < minimum() ) tmpval = minimum();
+  else if ( tmpval > maximum() ) tmpval = maximum();
+  setValue( tmpval );
 }
 
 /*!