qt-material-widgets/examples/sliderexamples.cpp

288 lines
7.2 KiB
C++
Raw Normal View History

2016-04-22 20:31:55 +00:00
#include <QDebug>
2016-03-22 14:30:17 +00:00
#include <QVBoxLayout>
#include <QPushButton>
#include <QLineEdit>
2016-05-03 22:40:34 +00:00
#include <QSlider>
2016-05-11 17:26:19 +00:00
#include <QLabel>
2016-05-10 14:17:51 +00:00
#include <QCheckBox>
#include "sliderexamples.h"
2016-03-22 14:30:17 +00:00
#include "components/slider.h"
#include "exampleview.h"
#include "frame.h"
SliderExamples::SliderExamples(QWidget *parent)
: ExampleList(parent),
_edit(new QLineEdit),
_edit2(new QLineEdit),
_slider(new Slider),
2016-05-09 20:32:16 +00:00
_slider2(new Slider),
2016-05-10 14:17:51 +00:00
_slider3(new Slider),
2016-05-09 20:32:16 +00:00
__slider(new QSlider)
{
2016-03-22 14:30:17 +00:00
QLayout *mainLayout = widget()->layout();
{
2016-05-10 14:17:51 +00:00
QHBoxLayout *layout = new QHBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(layout);
_slider3->setMinimumWidth(250);
QCheckBox *checkbox = new QCheckBox;
QCheckBox *checkbox2 = new QCheckBox;
2016-05-11 06:09:19 +00:00
QCheckBox *checkbox3 = new QCheckBox;
2016-05-10 14:17:51 +00:00
layout->addWidget(_slider3);
layout->addWidget(checkbox);
layout->addWidget(checkbox2);
2016-05-11 06:09:19 +00:00
layout->addWidget(checkbox3);
2016-03-22 14:30:17 +00:00
ExampleView *view = new ExampleView;
2016-05-10 14:17:51 +00:00
view->setWidget(widget);
2016-05-11 22:18:09 +00:00
view->setBackgroundRole(QPalette::Base);
2016-03-22 14:30:17 +00:00
Frame *frame = new Frame;
frame->setCodeSnippet(
2016-03-23 05:35:41 +00:00
"Slider *slider = new Slider;"
2016-03-22 14:30:17 +00:00
);
frame->setWidget(view);
mainLayout->addWidget(frame);
2016-05-10 14:17:51 +00:00
connect(checkbox, SIGNAL(toggled(bool)), this, SLOT(inv()));
connect(checkbox2, SIGNAL(toggled(bool)), this, SLOT(togglePageStepMode()));
2016-05-11 06:09:19 +00:00
connect(checkbox3, SIGNAL(toggled(bool)), this, SLOT(toggleEnabled()));
2016-03-22 14:30:17 +00:00
}
2016-03-22 15:05:02 +00:00
{
Slider *slider = new Slider;
2016-03-23 05:35:41 +00:00
slider->setOrientation(Qt::Vertical);
2016-03-22 15:05:02 +00:00
ExampleView *view = new ExampleView;
view->setWidget(slider);
Frame *frame = new Frame;
frame->setCodeSnippet(
2016-03-23 05:35:41 +00:00
"Slider *slider = new Slider;\n"
"slider->setOrientation(Qt::Vertical);"
2016-03-22 15:05:02 +00:00
);
frame->setWidget(view);
2016-04-03 17:22:24 +00:00
mainLayout->addWidget(frame);
}
{
QWidget *widget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout;
widget->setLayout(layout);
2016-04-03 17:22:24 +00:00
Slider *slider = new Slider;
layout->addWidget(slider);
2016-04-22 20:31:55 +00:00
layout->addWidget(_edit);
layout->setStretch(0, 1);
layout->setStretch(1, 1);
2016-04-03 17:22:24 +00:00
ExampleView *view = new ExampleView;
view->setWidget(widget);
2016-04-03 17:22:24 +00:00
Frame *frame = new Frame;
frame->setCodeSnippet(
"x"
2016-04-03 17:22:24 +00:00
);
frame->setWidget(view);
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateValue(int)));
2016-03-22 15:05:02 +00:00
mainLayout->addWidget(frame);
}
{
QVBoxLayout *layout = new QVBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(layout);
widget->setMinimumWidth(350);
QPushButton *button = new QPushButton("Change orientation");
2016-05-09 20:32:16 +00:00
//_slider->setMinimumWidth(250);
layout->addWidget(_slider);
layout->addWidget(button);
ExampleView *view = new ExampleView;
view->setWidget(widget);
Frame *frame = new Frame;
frame->setCodeSnippet(
"Slider *slider = new Slider;"
);
frame->setWidget(view);
mainLayout->addWidget(frame);
connect(button, SIGNAL(pressed()), this, SLOT(flip()));
}
{
QVBoxLayout *layout = new QVBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(layout);
widget->setMinimumWidth(350);
2016-05-09 20:32:16 +00:00
QPushButton *button = new QPushButton("Change orientation");
//__slider->setMinimumWidth(250);
layout->addWidget(__slider);
layout->addWidget(button);
ExampleView *view = new ExampleView;
view->setWidget(widget);
Frame *frame = new Frame;
frame->setCodeSnippet("xxx");
frame->setWidget(view);
mainLayout->addWidget(frame);
connect(button, SIGNAL(pressed()), this, SLOT(flip2()));
}
{
QVBoxLayout *layout = new QVBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(layout);
widget->setMinimumWidth(350);
QHBoxLayout *hLayout = new QHBoxLayout;
QPushButton *button = new QPushButton("Update value");
hLayout->addWidget(_edit2);
hLayout->addWidget(button);
_slider2->setMinimumWidth(250);
layout->addWidget(_slider2);
layout->addLayout(hLayout);
2016-05-03 22:40:34 +00:00
layout->addWidget(new QSlider(Qt::Horizontal));
ExampleView *view = new ExampleView;
view->setWidget(widget);
Frame *frame = new Frame;
frame->setCodeSnippet(
"Slider *slider = new Slider;"
);
frame->setWidget(view);
mainLayout->addWidget(frame);
connect(button, SIGNAL(pressed()), this, SLOT(updateSliderValue()));
2016-05-03 05:53:21 +00:00
_slider2->setTracking(false);
}
2016-05-04 20:44:33 +00:00
{
Slider *slider = new Slider;
slider->setValue(20);
2016-05-04 20:44:33 +00:00
slider->setDisabled(true);
slider->setMinimumWidth(250);
ExampleView *view = new ExampleView;
view->setWidget(slider);
Frame *frame = new Frame;
frame->setCodeSnippet(
"Slider *slider = new Slider;\n"
"slider->setDisabled(true);\n"
);
frame->setWidget(view);
mainLayout->addWidget(frame);
}
2016-05-11 14:23:17 +00:00
{
QVBoxLayout *layout = new QVBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(layout);
widget->setMinimumWidth(350);
2016-05-11 17:26:19 +00:00
Slider *slider;
QHBoxLayout *hLayout;
2016-05-11 14:23:17 +00:00
2016-05-11 17:26:19 +00:00
slider = new Slider;
hLayout = new QHBoxLayout;
hLayout->addWidget(new QLabel("R"));
2016-05-11 14:23:17 +00:00
hLayout->addWidget(slider);
2016-05-11 17:26:19 +00:00
hLayout->addWidget(new QLineEdit);
2016-05-11 14:23:17 +00:00
layout->addLayout(hLayout);
slider = new Slider;
hLayout = new QHBoxLayout;
2016-05-11 17:26:19 +00:00
hLayout->addWidget(new QLabel("G"));
2016-05-11 14:23:17 +00:00
hLayout->addWidget(slider);
2016-05-11 17:26:19 +00:00
hLayout->addWidget(new QLineEdit);
2016-05-11 14:23:17 +00:00
layout->addLayout(hLayout);
slider = new Slider;
hLayout = new QHBoxLayout;
2016-05-11 17:26:19 +00:00
hLayout->addWidget(new QLabel("B"));
2016-05-11 14:23:17 +00:00
hLayout->addWidget(slider);
2016-05-11 17:26:19 +00:00
hLayout->addWidget(new QLineEdit);
2016-05-11 14:23:17 +00:00
layout->addLayout(hLayout);
ExampleView *view = new ExampleView;
view->setWidget(widget);
Frame *frame = new Frame;
frame->setCodeSnippet(
"xx"
);
frame->setWidget(view);
mainLayout->addWidget(frame);
}
2016-05-03 22:40:34 +00:00
}
SliderExamples::~SliderExamples()
{
}
void SliderExamples::updateValue(int value)
{
_edit->setText(QString::number(value));
}
void SliderExamples::flip()
{
_slider->setOrientation(Qt::Horizontal == _slider->orientation() ?
Qt::Vertical : Qt::Horizontal);
}
2016-05-09 20:32:16 +00:00
void SliderExamples::flip2()
{
__slider->setOrientation(Qt::Horizontal == __slider->orientation() ?
Qt::Vertical : Qt::Horizontal);
}
void SliderExamples::updateSliderValue()
{
2016-05-02 20:57:57 +00:00
_slider2->setValue(_edit2->text().toInt());
}
2016-05-10 14:17:51 +00:00
void SliderExamples::inv()
{
_slider3->setInvertedAppearance(!_slider3->invertedAppearance());
}
void SliderExamples::togglePageStepMode()
{
_slider3->setPageStepMode(!_slider3->pageStepMode());
}
2016-05-11 06:09:19 +00:00
void SliderExamples::toggleEnabled()
{
bool enabled = !_slider3->isEnabled();
_slider3->setEnabled(enabled);
}