X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.h;h=ec18e3500d8306cc7ab04221f5770bb1fd3f9c1e;hb=450d1bd65c11870d3942a30164518037b9a7503e;hp=2daa53b955a94ecf7f4052f326168c79136238ea;hpb=8ed4a17283ab175d26749d6985801bc761087020;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.h b/src/ModuleBase/ModuleBase_DoubleSpinBox.h index 2daa53b95..ec18e3500 100644 --- a/src/ModuleBase/ModuleBase_DoubleSpinBox.h +++ b/src/ModuleBase/ModuleBase_DoubleSpinBox.h @@ -11,6 +11,7 @@ #include #include +class QKeyEvent; /** * \ingroup GUI @@ -21,7 +22,7 @@ class MODULEBASE_EXPORT ModuleBase_DoubleSpinBox : public QDoubleSpinBox Q_OBJECT public: - explicit ModuleBase_DoubleSpinBox( QWidget* theParent = 0, int thePrecision = 12 ); + explicit ModuleBase_DoubleSpinBox( QWidget* theParent = 0, int thePrecision = -12 ); virtual ~ModuleBase_DoubleSpinBox(); /// Returns true if the control is clear @@ -48,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&); @@ -55,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;