X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.h;h=87cbe6e84e665075d2fe425b3cafbd8834b9a4af;hb=592b8a38b3c9e2a6a7d3d1d180b1f9b5406c4415;hp=a247fb8b782d5fde34efb0acb4ab629c47c88438;hpb=6d9f778b60206147106c918852c4a9595898f892;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.h b/src/ModuleBase/ModuleBase_DoubleSpinBox.h index a247fb8b7..87cbe6e84 100644 --- a/src/ModuleBase/ModuleBase_DoubleSpinBox.h +++ b/src/ModuleBase/ModuleBase_DoubleSpinBox.h @@ -1,5 +1,7 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: ModuleBase_DoubleSpinBox.h -// Author: Sergey TELKOV +// Author: Sergey BELASH // #ifndef MODULEBASE_DOUBLESPINBOX_H_ #define MODULEBASE_DOUBLESPINBOX_H_ @@ -9,35 +11,56 @@ #include #include + +/** +* \ingroup GUI +* An extension and customization of QDoubleSpinBox class +*/ class MODULEBASE_EXPORT ModuleBase_DoubleSpinBox : public QDoubleSpinBox { Q_OBJECT public: - ModuleBase_DoubleSpinBox(QWidget* = 0, int thePrecision = 6); + explicit ModuleBase_DoubleSpinBox( QWidget* theParent = 0, int thePrecision = -12 ); virtual ~ModuleBase_DoubleSpinBox(); + /// Returns true if the control is clear bool isCleared() const; + + /// Set control clear virtual void setCleared(const bool); + /// Returns current precision int getPrecision() const; + + /// Set precision void setPrecision(const int); + /// Set step virtual void stepBy(int); + /// Converts value from string to double virtual double valueFromText(const QString&) const; + + /// Convert value from double to string virtual QString textFromValue(double) const; + /// Validate current value virtual QValidator::State validate(QString&, int&) const; protected slots: + /// Called on text changed virtual void onTextChanged(const QString&); protected: + /// Removes extra trailing zero symbols QString removeTrailingZeroes(const QString&) const; private: + /// Is clear flag bool myCleared; + + /// Precision value int myPrecision; };