Salome HOME
An interface creation for a separate filter in order to use as a filter the OCC reali...
[modules/shaper.git] / src / ModuleBase / ModuleBase_DoubleSpinBox.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:      ModuleBase_DoubleSpinBox.h
4 // Author:    Sergey TELKOV
5 //
6 #ifndef MODULEBASE_DOUBLESPINBOX_H_
7 #define MODULEBASE_DOUBLESPINBOX_H_
8
9 #include "ModuleBase.h"
10
11 #include <QDoubleSpinBox>
12 #include <QValidator>
13
14 class MODULEBASE_EXPORT ModuleBase_DoubleSpinBox : public QDoubleSpinBox
15 {
16 Q_OBJECT
17
18  public:
19   ModuleBase_DoubleSpinBox(QWidget* = 0, int thePrecision = 6);
20   virtual ~ModuleBase_DoubleSpinBox();
21
22   bool isCleared() const;
23   virtual void setCleared(const bool);
24
25   int getPrecision() const;
26   void setPrecision(const int);
27
28   virtual void stepBy(int);
29
30   virtual double valueFromText(const QString&) const;
31   virtual QString textFromValue(double) const;
32
33   virtual QValidator::State validate(QString&, int&) const;
34
35  protected slots:
36   virtual void onTextChanged(const QString&);
37
38  protected:
39   QString removeTrailingZeroes(const QString&) const;
40
41  private:
42   bool myCleared;
43   int myPrecision;
44 };
45
46 #endif