HAL
settings_widget_slider.cpp
Go to the documentation of this file.
2 
4 
5 #include <QFormLayout>
6 #include <QHBoxLayout>
7 #include <QLabel>
8 #include <QPair>
9 
10 #include <QSlider>
11 #include <QStringList>
12 #include "gui/gui_globals.h"
13 
15 
16 #include <QDebug>
17 
18 namespace hal
19 {
21  : SettingsWidget(item, parent)
22  {
23 
26 
27  mSlider = new QSlider(Qt::Orientation::Horizontal, this);
28  mSlider->setMinimum(item->minimum());
29  mSlider->setMaximum(item->maximum());
30  connect(mSlider, &QSlider::valueChanged, this, &SettingsWidgetSlider::onSliderValueChanged);
31 
32  layout->addWidget(mSlider);
33 
34  mNumber = new QLabel(this);
35  layout ->addWidget(mNumber);
36 
37  QLabel* label = new QLabel();
38  layout->addWidget(label);
39 
40  load(item->value());
41  }
42 
44  {
45  mSlider->setValue(value.toInt());
46  mNumber->setText(value.toString());
47  }
48 
50  {
51  return QVariant(mSlider->value());
52  }
53 
54  void SettingsWidgetSlider::onSliderValueChanged(int value)
55  {
56  mNumber->setText(QString::number(value));
58  }
59 }
A SettingsItem representing a slider.
virtual QVariant value() const override
The base class for all specific SettingsWidgets.
QBoxLayout * mContainer
virtual QVariant value() override
SettingsWidgetSlider(SettingsItemSlider *item, QWidget *parent=nullptr)
virtual void load(const QVariant &value) override
void setMaximum(int)
void setMinimum(int)
void setValue(int)
void valueChanged(int value)
void addLayout(QLayout *layout, int stretch)
void setText(const QString &)
void addWidget(QWidget *w)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QString number(int n, int base)
int toInt(bool *ok) const const
QString toString() const const
QLayout * layout() const const