18 : QDoubleSpinBox(parent)
20 buttonMinimum = -std::numeric_limits<double>::max();
21 buttonMaximum = std::numeric_limits<double>::max();
22 this->precision = precision;
23 setKeyboardTracking(
false);
32 double v = valueFromText(text());
33 QAbstractSpinBox::StepEnabled e = 0;
34 if (v > buttonMinimum)
36 if (v < buttonMaximum)
46 double _value = valueFromText(text());
47 double _singleStep = singleStep();
51 if (_value + steps * _singleStep < buttonMinimum)
53 setValue(buttonMinimum);
56 else if (_value + steps * _singleStep > buttonMaximum)
58 setValue(buttonMaximum);
63 QDoubleSpinBox::stepBy(steps);
72 QString newLineEditText = QLocale().toString(value,
'g', precision);
74 if (qAbs(value) >= 1000.0)
75 newLineEditText.remove(QLocale().groupSeparator());
77 return newLineEditText;
85 setMinimum(-std::numeric_limits<double>::max());
86 setMaximum(std::numeric_limits<double>::max());
94 this->buttonMinimum = buttonMinimum;
102 this->buttonMaximum = buttonMaximum;
110 double normalized = ((double)value - sliderMin) / (sliderMax - sliderMin);
111 return valueMin + (normalized * (valueMax - valueMin));
119 double normalized = (value - valueMin) / (valueMax - valueMin);
120 int rounded = (int) (normalized * (sliderMax - sliderMin));
121 return sliderMin + rounded;
130 Qt::FocusReason reason =
event->reason();
133 if( reason == Qt::MouseFocusReason ||
134 reason == Qt::TabFocusReason ||
135 reason == Qt::BacktabFocusReason )
136 QDoubleSpinBox::focusOutEvent(event);
155 QDoubleSpinBox::hideEvent(event);