QT5 compatability fix
[hypercube:hypercube.git] / GUI / numericedit.cpp
1 #include <QDoubleValidator>
2 #include <cfloat>
3 #include <climits>
4 #include "numericedit.h"
5
6
7 FloatEdit::FloatEdit(int digits, QWidget *parent)
8         : QLineEdit(parent)
9 {
10         setValidator(new QDoubleValidator(0, FLT_MAX, FLT_DIG, this));
11
12         int borders = minimumSizeHint().width() - fontMetrics().maxWidth();
13         setMaximumWidth(fontMetrics().width('0') * digits + borders);
14
15         connect(this, SIGNAL(textEdited(const QString&)),
16           this, SLOT(emitEditedValue(const QString&)));
17
18         _value = 0;
19 }
20
21 void FloatEdit::setValue(float value)
22 {
23         _value = value;
24         setText(QString("%1").arg(value));
25         emit valueChanged(_value);
26 }
27
28 void FloatEdit::emitEditedValue(const QString &text)
29 {
30         _value = text.toFloat();
31         emit valueChanged(_value);
32 }
33
34
35 IntEdit::IntEdit(int digits, QWidget *parent)
36         : QLineEdit(parent)
37 {
38         setValidator(new QIntValidator(0, INT_MAX, this));
39
40         int borders = minimumSizeHint().width() - fontMetrics().maxWidth();
41         setMaximumWidth(fontMetrics().width('0') * digits + borders);
42
43         connect(this, SIGNAL(textEdited(const QString&)),
44           this, SLOT(emitEditedValue(const QString&)));
45
46         _value = 0;
47 }
48
49 void IntEdit::setValue(int value)
50 {
51         _value = value;
52         setText(QString("%1").arg(value));
53         emit valueChanged(_value);
54 }
55
56 void IntEdit::emitEditedValue(const QString &text)
57 {
58         _value = text.toInt();
59         emit valueChanged(_value);
60 }