X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.h;h=ec18e3500d8306cc7ab04221f5770bb1fd3f9c1e;hb=450d1bd65c11870d3942a30164518037b9a7503e;hp=5eb2d976e427169185f1dbf1cfbdc0f7048b4e0a;hpb=331af9b7eb4feddf17c37fe2ce1f0f046f522145;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.h b/src/ModuleBase/ModuleBase_DoubleSpinBox.h index 5eb2d976e..ec18e3500 100644 --- a/src/ModuleBase/ModuleBase_DoubleSpinBox.h +++ b/src/ModuleBase/ModuleBase_DoubleSpinBox.h @@ -1,7 +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_ @@ -11,16 +11,18 @@ #include #include +class QKeyEvent; /** -* An extension and customozation of QDoubleSpinBox class +* \ingroup GUI +* An extension and customization of QDoubleSpinBox class */ class MODULEBASE_EXPORT ModuleBase_DoubleSpinBox : public QDoubleSpinBox { Q_OBJECT public: - ModuleBase_DoubleSpinBox(QWidget* theParent = 0, int thePrecision = 6); + explicit ModuleBase_DoubleSpinBox( QWidget* theParent = 0, int thePrecision = -12 ); virtual ~ModuleBase_DoubleSpinBox(); /// Returns true if the control is clear @@ -47,6 +49,17 @@ Q_OBJECT /// Validate current value virtual QValidator::State validate(QString&, int&) const; + /// Change enable/disable internal state to emit key press event + /// \param theEnable if true, the signal is emitted + /// \return the previous value + bool enableKeyPressEvent(const bool& theEnable); + +signals: + /// The signal about key release on the control, that corresponds to the attribute + /// \param theEvent key release event + void enterPressed(); + void enterReleased(); + protected slots: /// Called on text changed virtual void onTextChanged(const QString&); @@ -54,8 +67,16 @@ Q_OBJECT protected: /// Removes extra trailing zero symbols QString removeTrailingZeroes(const QString&) const; + /// Called on key press event + virtual void keyReleaseEvent(QKeyEvent* theEvent); + + /// Called on key press event + virtual void keyPressEvent(QKeyEvent* theEvent); private: + // boolen flag whether the key event is emitted. The default value is false + bool myIsEmitKeyPressEvent; + /// Is clear flag bool myCleared;