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;
24 virtual QString textFromValue (double value) const;
26 virtual QValidator::State validate(QString&, int&) const;
28 virtual void setValue(double);
30 virtual void setText(const QString&);
32 void setAcceptVariables(const bool);
33 bool isAcceptVariables() const;
34 bool hasVariable() const;
37 void textChanged(const QString&);
40 bool hasVariable(const QString& theText) const;
41 State isValid(const QString&, double&) const;
43 bool checkRange(const double) const;
45 bool findVariable(const QString&, double&) const;
48 virtual void keyPressEvent(QKeyEvent*);
49 virtual void showEvent(QShowEvent*);
52 void onTextChanged(const QString&);
55 void connectSignalsAndSlots();
60 bool myAcceptVariables;