From a33d6dfa0cdfd4fd65c8ca1255663d57507e35f9 Mon Sep 17 00:00:00 2001 From: johanneshilden Date: Sat, 30 Sep 2017 04:14:28 +0300 Subject: [PATCH] Add ScrollBar settings editor and form files --- components/qtmaterialscrollbar.cpp | 1 + examples/examples.pro | 9 +++-- examples/mainwindow.cpp | 4 +++ examples/scrollbarsettingseditor.cpp | 54 ++++++++++++++++++++++++++++ examples/scrollbarsettingseditor.h | 26 ++++++++++++++ examples/scrollbarsettingsform.ui | 32 +++++++++++++++++ 6 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 examples/scrollbarsettingseditor.cpp create mode 100644 examples/scrollbarsettingseditor.h create mode 100644 examples/scrollbarsettingsform.ui diff --git a/components/qtmaterialscrollbar.cpp b/components/qtmaterialscrollbar.cpp index 16b6978..77953d1 100644 --- a/components/qtmaterialscrollbar.cpp +++ b/components/qtmaterialscrollbar.cpp @@ -1,6 +1,7 @@ #include "qtmaterialscrollbar.h" #include "qtmaterialscrollbar_p.h" #include +#include #include "qtmaterialscrollbar_internal.h" #include "lib/qtmaterialstyle.h" diff --git a/examples/examples.pro b/examples/examples.pro index 4e97bf4..035943e 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -18,7 +18,8 @@ SOURCES = mainwindow.cpp \ tabssettingseditor.cpp \ snackbarsettingseditor.cpp \ dialogsettingseditor.cpp \ - drawersettingseditor.cpp + drawersettingseditor.cpp \ + scrollbarsettingseditor.cpp HEADERS = mainwindow.h \ avatarsettingseditor.h \ badgesettingseditor.h \ @@ -36,7 +37,8 @@ HEADERS = mainwindow.h \ tabssettingseditor.h \ snackbarsettingseditor.h \ dialogsettingseditor.h \ - drawersettingseditor.h + drawersettingseditor.h \ + scrollbarsettingseditor.h LIBS += ../components/libcomponents.a INCLUDEPATH += ../components/ TARGET = ../examples-exe @@ -60,4 +62,5 @@ FORMS += \ textfieldsettingsform.ui \ tabssettingsform.ui \ dialogsettingsform.ui \ - drawersettingsform.ui + drawersettingsform.ui \ + scrollbarsettingsform.ui diff --git a/examples/mainwindow.cpp b/examples/mainwindow.cpp index a41aa36..365633f 100644 --- a/examples/mainwindow.cpp +++ b/examples/mainwindow.cpp @@ -19,6 +19,7 @@ #include "snackbarsettingseditor.h" #include "dialogsettingseditor.h" #include "drawersettingseditor.h" +#include "scrollbarsettingseditor.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -55,6 +56,7 @@ MainWindow::MainWindow(QWidget *parent) SnackbarSettingsEditor *snackbar = new SnackbarSettingsEditor; DialogSettingsEditor *dialog = new DialogSettingsEditor; DrawerSettingsEditor *drawer = new DrawerSettingsEditor; + ScrollBarSettingsEditor *scrollBar = new ScrollBarSettingsEditor; stack->addWidget(avatar); stack->addWidget(badge); @@ -68,6 +70,7 @@ MainWindow::MainWindow(QWidget *parent) stack->addWidget(progress); stack->addWidget(radioButton); stack->addWidget(raisedButton); + stack->addWidget(scrollBar); stack->addWidget(slider); stack->addWidget(snackbar); stack->addWidget(tabs); @@ -86,6 +89,7 @@ MainWindow::MainWindow(QWidget *parent) list->addItem("Progress"); list->addItem("Radio Button"); list->addItem("Raised Button"); + list->addItem("ScrollBar"); list->addItem("Slider"); list->addItem("Snackbar"); list->addItem("Tabs"); diff --git a/examples/scrollbarsettingseditor.cpp b/examples/scrollbarsettingseditor.cpp new file mode 100644 index 0000000..e021f40 --- /dev/null +++ b/examples/scrollbarsettingseditor.cpp @@ -0,0 +1,54 @@ +#include "scrollbarsettingseditor.h" +#include +#include +#include +#include "qtmaterialscrollbar.h" + +ScrollBarSettingsEditor::ScrollBarSettingsEditor(QWidget *parent) + : QWidget(parent), + ui(new Ui::ScrollBarSettingsForm), + m_scrollbar(new QtMaterialScrollBar) +{ + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); + + QWidget *widget = new QWidget; + layout->addWidget(widget); + + QWidget *canvas = new QWidget; + canvas->setStyleSheet("QWidget { background: white; }"); + layout->addWidget(canvas); + + ui->setupUi(widget); + layout->setContentsMargins(20, 20, 20, 20); + + layout = new QVBoxLayout; + canvas->setLayout(layout); + canvas->setMaximumHeight(400); + + QTextEdit *edit = new QTextEdit; + edit->setText("

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

The distinction between the subjects of syntax and semantics has its origin in the study of natural languages.

"); + edit->update(); + edit->setMaximumHeight(200); + + m_scrollbar->setOrientation(Qt::Vertical); + edit->setVerticalScrollBar(m_scrollbar); + + layout->addWidget(edit); + layout->setAlignment(edit, Qt::AlignHCenter); + + setupForm(); +} + +ScrollBarSettingsEditor::~ScrollBarSettingsEditor() +{ + delete ui; +} + +void ScrollBarSettingsEditor::setupForm() +{ +} + +void ScrollBarSettingsEditor::updateWidget() +{ +} diff --git a/examples/scrollbarsettingseditor.h b/examples/scrollbarsettingseditor.h new file mode 100644 index 0000000..ea5cd66 --- /dev/null +++ b/examples/scrollbarsettingseditor.h @@ -0,0 +1,26 @@ +#ifndef SCROLLBARSETTINGSEDITOR_H +#define SCROLLBARSETTINGSEDITOR_H + +#include +#include "ui_scrollbarsettingsform.h" + +class QtMaterialScrollBar; + +class ScrollBarSettingsEditor : public QWidget +{ + Q_OBJECT + +public: + explicit ScrollBarSettingsEditor(QWidget *parent = 0); + ~ScrollBarSettingsEditor(); + +protected slots: + void setupForm(); + void updateWidget(); + +private: + Ui::ScrollBarSettingsForm *const ui; + QtMaterialScrollBar *const m_scrollbar; +}; + +#endif // SCROLLBARSETTINGSEDITOR_H diff --git a/examples/scrollbarsettingsform.ui b/examples/scrollbarsettingsform.ui new file mode 100644 index 0000000..4e33ed7 --- /dev/null +++ b/examples/scrollbarsettingsform.ui @@ -0,0 +1,32 @@ + + + ScrollBarSettingsForm + + + + 0 + 0 + 474 + 387 + + + + Form + + + + + 10 + 70 + 171 + 16 + + + + TODO + + + + + +