11 #include <QtCore/QSettings>
12 #include <QtCore/QDebug>
14 #if QT_VERSION >= 0x050000
15 #include <QtWidgets/QHBoxLayout>
16 #include <QtWidgets/QCheckBox>
17 #include <QtWidgets/QLineEdit>
18 #include <QtWidgets/QLabel>
19 #include <QtWidgets/QToolButton>
20 #include <QtWidgets/QToolBar>
22 #include <QtGui/QHBoxLayout>
23 #include <QtGui/QCheckBox>
24 #include <QtGui/QLineEdit>
25 #include <QtGui/QLabel>
26 #include <QtGui/QToolButton>
27 #include <QtGui/QToolBar>
29 #include <QtGui/QDoubleValidator>
39 setWindowTitle(title);
47 layout->setContentsMargins(0,0,0,0);
52 _log->setCheckable(
true);
53 _log->setChecked(settings.
value(
"LogScale",
false).toBool());
54 _log->setToolTip(title + tr(
": Plot the axis in logrithmic scale"));
55 _log->setToolButtonStyle(parent->toolButtonStyle());
56 _log->setIconSize(parent->iconSize());
57 _log->setAutoRaise(
true);
59 layout->addWidget(
_log);
63 _auto->setIcon(
QIcon(
":images/autoscale.png"));
64 _auto->setCheckable(
true);
65 _auto->setChecked(settings.
value(
"AutoScale",
true).toBool());
66 _auto->setToolTip(title + tr(
": Toggle manual setting the minimum and maximum value of the scale"));
67 _auto->setToolButtonStyle(parent->toolButtonStyle());
68 _auto->setIconSize(parent->iconSize());
69 _auto->setAutoRaise(
true);
71 layout->addWidget(
_auto);
83 _mininput->setToolTip(title + tr(
": Minimum axis value"));
94 _maxinput->setToolTip(title + tr(
": Maximum axis value"));
109 if(
max() <=
min() || (
log() && (!std::isfinite(std::log10(
min())) ||
110 !std::isfinite(std::log10(
max())))))
112 _mininput->setStyleSheet(
"QLineEdit {color: blue; background-color: #FF0000}");
113 _maxinput->setStyleSheet(
"QLineEdit {color: blue; background-color: #FF0000}");
117 _mininput->setStyleSheet(
"QLineEdit {color: black; background-color: #FFFFFF}");
118 _maxinput->setStyleSheet(
"QLineEdit {color: black; background-color: #FFFFFF}");
138 return _auto->isChecked();
143 return _log->isChecked();
QLineEdit * _mininput
the minimum value input
void on_changed()
react on when one of the inputs changed
QToolButton * _auto
select manual input
bool log() const
return wether log is enabled
setValue(const QString &key, const QVariant &value)
MinMaxControl(QString title, QToolBar *parent)
constructor
bool autoscale() const
return whether the plot should be autoscaled
QToolButton * _log
select manual input
void controls_changed()
signal is emitted when one of the controls have changed
value(const QString &key, const QVariant &defaultValue=QVariant()
double max() const
retieve the maximum value
contains a control over min and max values
QLineEdit * _maxinput
the maximum value input
double min() const
retrieve the minimum value
setValidator(const QValidator *v)
beginGroup(const QString &prefix)