X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.h;h=ec18e3500d8306cc7ab04221f5770bb1fd3f9c1e;hb=450d1bd65c11870d3942a30164518037b9a7503e;hp=347af2f49461d16ee029323ae620b6fd6352db8f;hpb=150ef68b3ea2df3c2130a4f5ea8128ddb5c76048;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.h b/src/ModuleBase/ModuleBase_DoubleSpinBox.h index 347af2f49..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,17 +11,18 @@ #include #include +class QKeyEvent; /** * \ingroup GUI -* An extension and customozation of QDoubleSpinBox class +* An extension and customization of QDoubleSpinBox class */ class MODULEBASE_EXPORT ModuleBase_DoubleSpinBox : public QDoubleSpinBox { Q_OBJECT public: - explicit 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 @@ -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;