Salome HOME
Fix for the issue #2753 : error when dump/load script
[modules/shaper.git] / src / ModuleBase / ModuleBase_ParamSpinBox.h
index 16ab6378909e0f320d7fa08f9ee18abe73e62ad2..8437b746cc8967641c7de81f8cbf7b7316f72795 100644 (file)
@@ -51,7 +51,7 @@ public:
    \param theParent a parent object
    \param thePrecision a precision of values display
    */
-  ModuleBase_ParamSpinBox( QWidget* theParent = 0, int thePrecision = -12 );
+  ModuleBase_ParamSpinBox( QWidget* theParent = 0, int thePrecision = 12 );
 
   /// Set list of completion strings
   void setCompletionList(QStringList&);
@@ -88,8 +88,8 @@ public:
   void setMinimum(double theMin) { myMinimum = theMin; myValidator->setBottom(theMin); }
   void setMaximum(double theMax) { myMaximum = theMax; myValidator->setTop(theMax); }
 
-  int decimals() const { return myDecimals; }
-  void setDecimals(int thePrecision) { myDecimals = thePrecision; }
+  int decimals() const { return myValidator->decimals(); }
+  void setDecimals(int thePrecision) { myValidator->setDecimals(thePrecision); }
 
   double singleStep() const { return mySingleStep; }
   void setSingleStep(double theStep) { mySingleStep = theStep; }
@@ -97,8 +97,17 @@ public:
   void setValueEnabled(bool theEnable);
 
 protected:
+  /*!
+  \brief This function is called when the spinbox receives key release event.
+  */
   virtual void keyReleaseEvent(QKeyEvent *event);
 
+  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; }
 
    /// Returns True if the given text contains variable
@@ -136,19 +145,17 @@ private slots:
 
 private:
   QString getPrefix(int& theStart, int& theEnd) const;
-
+  void showCompletion(bool checkPrefix);
 
   bool myIsEquation;
   bool myAcceptVariables;
 
   QStringListModel* myCompleterModel;
   QCompleter* myCompleter;
-  int myPrecision;
 
   double myMinimum;
   double myMaximum;
 
-  int myDecimals;
   int myCompletePos;
 
   double mySingleStep;