2 #ifndef ModuleBase_ParamSpinBox_H
3 #define ModuleBase_ParamSpinBox_H
5 #include "ModuleBase.h"
7 #include <ModuleBase_DoubleSpinBox.h>
11 class MODULEBASE_EXPORT ModuleBase_ParamSpinBox : public ModuleBase_DoubleSpinBox
15 enum State { Invalid = 0, NoVariable, Incompatible, Acceptable };
18 explicit ModuleBase_ParamSpinBox(QWidget* theParent = 0, int thePrecision = 6);
19 virtual ~ModuleBase_ParamSpinBox();
21 virtual void stepBy(int);
23 virtual double valueFromText(const QString&) const;
25 virtual QValidator::State validate(QString&, int&) const;
27 virtual void setValue(double);
29 virtual void setText(const QString&);
31 void setAcceptVariables(const bool);
32 bool isAcceptVariables() const;
33 bool hasVariable() const;
36 void textChanged(const QString&);
39 bool hasVariable(const QString& theText) const;
40 State isValid(const QString&, double&) const;
42 bool checkRange(const double) const;
44 bool findVariable(const QString&, double&) const;
47 virtual void keyPressEvent(QKeyEvent*);
48 virtual void showEvent(QShowEvent*);
51 void onTextChanged(const QString&);
54 void connectSignalsAndSlots();
57 QString myCorrectValue;
60 bool myAcceptVariables;