Divider: first commit
This commit is contained in:
parent
c8fbfb019d
commit
fae8e8c5d4
|
@ -1,6 +1,7 @@
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += staticlib
|
CONFIG += staticlib
|
||||||
SOURCES = \
|
SOURCES = \
|
||||||
|
qtmaterialdivider.cpp \
|
||||||
qtmaterialavatar.cpp \
|
qtmaterialavatar.cpp \
|
||||||
lib/qtmaterialstyle.cpp \
|
lib/qtmaterialstyle.cpp \
|
||||||
lib/qtmaterialtheme.cpp \
|
lib/qtmaterialtheme.cpp \
|
||||||
|
@ -39,6 +40,8 @@ SOURCES = \
|
||||||
qtmaterialdrawer_internal.cpp \
|
qtmaterialdrawer_internal.cpp \
|
||||||
qtmaterialdrawer.cpp
|
qtmaterialdrawer.cpp
|
||||||
HEADERS = \
|
HEADERS = \
|
||||||
|
qtmaterialdivider_p.h \
|
||||||
|
qtmaterialdivider.h \
|
||||||
qtmaterialavatar_p.h \
|
qtmaterialavatar_p.h \
|
||||||
qtmaterialavatar.h \
|
qtmaterialavatar.h \
|
||||||
lib/qtmaterialstyle_p.h \
|
lib/qtmaterialstyle_p.h \
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
#include "qtmaterialdivider.h"
|
||||||
|
#include "qtmaterialdivider_p.h"
|
||||||
|
#include <QPainter>
|
||||||
|
#include "lib/qtmaterialstyle.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \class QtMaterialDividerPrivate
|
||||||
|
* \internal
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \internal
|
||||||
|
*/
|
||||||
|
QtMaterialDividerPrivate::QtMaterialDividerPrivate(QtMaterialDivider *q)
|
||||||
|
: q_ptr(q)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \internal
|
||||||
|
*/
|
||||||
|
QtMaterialDividerPrivate::~QtMaterialDividerPrivate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \internal
|
||||||
|
*/
|
||||||
|
void QtMaterialDividerPrivate::init()
|
||||||
|
{
|
||||||
|
Q_Q(QtMaterialDivider);
|
||||||
|
|
||||||
|
size = 40;
|
||||||
|
useThemeColors = true;
|
||||||
|
|
||||||
|
QSizePolicy policy(QSizePolicy::Ignored,
|
||||||
|
// QSizePolicy policy(QSizePolicy::Expanding,
|
||||||
|
QSizePolicy::Fixed);
|
||||||
|
q->setSizePolicy(policy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \class QtMaterialDivider
|
||||||
|
*/
|
||||||
|
|
||||||
|
QtMaterialDivider::QtMaterialDivider(QWidget *parent)
|
||||||
|
: QWidget(parent),
|
||||||
|
d_ptr(new QtMaterialDividerPrivate(this))
|
||||||
|
{
|
||||||
|
d_func()->init();
|
||||||
|
}
|
||||||
|
|
||||||
|
QtMaterialDivider::~QtMaterialDivider()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void QtMaterialDivider::setUseThemeColors(bool value)
|
||||||
|
{
|
||||||
|
Q_D(QtMaterialDivider);
|
||||||
|
|
||||||
|
if (d->useThemeColors == value) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
d->useThemeColors = value;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool QtMaterialDivider::useThemeColors() const
|
||||||
|
{
|
||||||
|
Q_D(const QtMaterialDivider);
|
||||||
|
|
||||||
|
return d->useThemeColors;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \reimp
|
||||||
|
*/
|
||||||
|
QSize QtMaterialDivider::sizeHint() const
|
||||||
|
{
|
||||||
|
Q_D(const QtMaterialDivider);
|
||||||
|
|
||||||
|
return QSize(d->size, 2+2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void QtMaterialDivider::setSize(int size)
|
||||||
|
{
|
||||||
|
Q_D(QtMaterialDivider);
|
||||||
|
|
||||||
|
d->size = size;
|
||||||
|
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
int QtMaterialDivider::size() const
|
||||||
|
{
|
||||||
|
Q_D(const QtMaterialDivider);
|
||||||
|
|
||||||
|
return d->size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \reimp
|
||||||
|
*/
|
||||||
|
void QtMaterialDivider::resizeEvent(QResizeEvent *event)
|
||||||
|
{
|
||||||
|
Q_D(QtMaterialDivider);
|
||||||
|
|
||||||
|
QWidget::resizeEvent(event);
|
||||||
|
QSize sz = event->size();
|
||||||
|
d->size = width();
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \reimp
|
||||||
|
*/
|
||||||
|
void QtMaterialDivider::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event)
|
||||||
|
|
||||||
|
Q_D(QtMaterialDivider);
|
||||||
|
|
||||||
|
QPainter painter(this);
|
||||||
|
painter.setRenderHint(QPainter::Antialiasing);
|
||||||
|
|
||||||
|
const int wd = d->size; // width();
|
||||||
|
QPen pen;
|
||||||
|
pen.setWidth(2);
|
||||||
|
// pen.setColor(QtMaterialStyle::instance().themeColor("border"));
|
||||||
|
pen.setColor(QColor(255,0,0));
|
||||||
|
painter.setPen(pen);
|
||||||
|
painter.setOpacity(1);
|
||||||
|
painter.drawLine(0, 1, wd, 1);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
#ifndef QTMATERIALDIVIDER_H
|
||||||
|
#define QTMATERIALDIVIDER_H
|
||||||
|
|
||||||
|
#include <QtWidgets/QWidget>
|
||||||
|
#include <QResizeEvent>
|
||||||
|
#include "lib/qtmaterialtheme.h"
|
||||||
|
|
||||||
|
class QtMaterialDividerPrivate;
|
||||||
|
|
||||||
|
class QtMaterialDivider : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit QtMaterialDivider(QWidget *parent = 0);
|
||||||
|
//explicit QtMaterialDivider(const QIcon &icon, QWidget *parent = 0);
|
||||||
|
//explicit QtMaterialDivider(const QChar &letter, QWidget *parent = 0);
|
||||||
|
//explicit QtMaterialDivider(const QImage &image, QWidget *parent = 0);
|
||||||
|
~QtMaterialDivider();
|
||||||
|
|
||||||
|
void setUseThemeColors(bool value);
|
||||||
|
bool useThemeColors() const;
|
||||||
|
|
||||||
|
//void setTextColor(const QColor &color);
|
||||||
|
//QColor textColor() const;
|
||||||
|
|
||||||
|
//void setBackgroundColor(const QColor &color);
|
||||||
|
//QColor backgroundColor() const;
|
||||||
|
|
||||||
|
QSize sizeHint() const Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
void setSize(int size);
|
||||||
|
int size() const;
|
||||||
|
|
||||||
|
//void setLetter(const QChar &letter);
|
||||||
|
//void setImage(const QImage &image);
|
||||||
|
//void setIcon(const QIcon &icon);
|
||||||
|
|
||||||
|
//Material::DividerType type() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
const QScopedPointer<QtMaterialDividerPrivate> d_ptr;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(QtMaterialDivider)
|
||||||
|
Q_DECLARE_PRIVATE(QtMaterialDivider)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QTMATERIALDIVIDER_H
|
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef QTMATERIALDIVIDER_P_H
|
||||||
|
#define QTMATERIALDIVIDER_P_H
|
||||||
|
|
||||||
|
#include <QtGlobal>
|
||||||
|
#include <QColor>
|
||||||
|
#include "lib/qtmaterialtheme.h"
|
||||||
|
|
||||||
|
class QtMaterialDivider;
|
||||||
|
|
||||||
|
class QtMaterialDividerPrivate
|
||||||
|
{
|
||||||
|
Q_DISABLE_COPY(QtMaterialDividerPrivate)
|
||||||
|
Q_DECLARE_PUBLIC(QtMaterialDivider)
|
||||||
|
|
||||||
|
public:
|
||||||
|
QtMaterialDividerPrivate(QtMaterialDivider *q);
|
||||||
|
~QtMaterialDividerPrivate();
|
||||||
|
|
||||||
|
void init();
|
||||||
|
|
||||||
|
QtMaterialDivider *const q_ptr;
|
||||||
|
int size;
|
||||||
|
// Material::DividerType type;
|
||||||
|
// QChar letter;
|
||||||
|
// QImage image;
|
||||||
|
// QIcon icon;
|
||||||
|
// QPixmap pixmap;
|
||||||
|
bool useThemeColors;
|
||||||
|
// QColor textColor;
|
||||||
|
// QColor backgroundColor;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QTMATERIALDIVIDER_P_H
|
|
@ -0,0 +1,56 @@
|
||||||
|
#include "dividersettingseditor.h"
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QColorDialog>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <qtmaterialdivider.h>
|
||||||
|
|
||||||
|
DividerSettingsEditor::DividerSettingsEditor(QWidget *parent)
|
||||||
|
: QWidget(parent),
|
||||||
|
ui(new Ui::DividerSettingsForm),
|
||||||
|
m_divider(new QtMaterialDivider)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
|
||||||
|
QLabel *lbl = new QLabel;
|
||||||
|
lbl->setText( "1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 " );
|
||||||
|
|
||||||
|
layout = new QVBoxLayout;
|
||||||
|
canvas->setLayout(layout);
|
||||||
|
layout->addWidget(m_divider);
|
||||||
|
layout->setAlignment(m_divider, Qt::AlignCenter);
|
||||||
|
m_divider->setSize( canvas->width() );
|
||||||
|
layout->addWidget(lbl);
|
||||||
|
QSizePolicy policy(QSizePolicy::Ignored,
|
||||||
|
QSizePolicy::Fixed);
|
||||||
|
lbl->setSizePolicy(policy);
|
||||||
|
m_divider->setSizePolicy(policy);
|
||||||
|
|
||||||
|
|
||||||
|
setupForm();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
DividerSettingsEditor::~DividerSettingsEditor()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DividerSettingsEditor::setupForm()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void DividerSettingsEditor::updateWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#ifndef DIVIDERSETTINGSEDITOR_H
|
||||||
|
#define DIVIDERSETTINGSEDITOR_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include "ui_dividersettingsform.h"
|
||||||
|
|
||||||
|
class QtMaterialDivider;
|
||||||
|
|
||||||
|
class DividerSettingsEditor : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit DividerSettingsEditor(QWidget *parent = 0);
|
||||||
|
~DividerSettingsEditor();
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
void setupForm();
|
||||||
|
void updateWidget();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::DividerSettingsForm *const ui;
|
||||||
|
QtMaterialDivider *const m_divider;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DIVIDERSETTINGSEDITOR_H
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>DividerSettingsForm</class>
|
||||||
|
<widget class="QWidget" name="DividerSettingsForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>599</width>
|
||||||
|
<height>418</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>171</width>
|
||||||
|
<height>16</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TODO</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -18,6 +18,7 @@ SOURCES = mainwindow.cpp \
|
||||||
textfieldsettingseditor.cpp \
|
textfieldsettingseditor.cpp \
|
||||||
tabssettingseditor.cpp \
|
tabssettingseditor.cpp \
|
||||||
snackbarsettingseditor.cpp \
|
snackbarsettingseditor.cpp \
|
||||||
|
dividersettingseditor.cpp \
|
||||||
dialogsettingseditor.cpp \
|
dialogsettingseditor.cpp \
|
||||||
drawersettingseditor.cpp \
|
drawersettingseditor.cpp \
|
||||||
scrollbarsettingseditor.cpp
|
scrollbarsettingseditor.cpp
|
||||||
|
@ -37,6 +38,7 @@ HEADERS = mainwindow.h \
|
||||||
textfieldsettingseditor.h \
|
textfieldsettingseditor.h \
|
||||||
tabssettingseditor.h \
|
tabssettingseditor.h \
|
||||||
snackbarsettingseditor.h \
|
snackbarsettingseditor.h \
|
||||||
|
dividersettingseditor.h \
|
||||||
dialogsettingseditor.h \
|
dialogsettingseditor.h \
|
||||||
drawersettingseditor.h \
|
drawersettingseditor.h \
|
||||||
scrollbarsettingseditor.h
|
scrollbarsettingseditor.h
|
||||||
|
@ -59,6 +61,7 @@ FORMS += \
|
||||||
circularprogresssettingsform.ui \
|
circularprogresssettingsform.ui \
|
||||||
slidersettingsform.ui \
|
slidersettingsform.ui \
|
||||||
snackbarsettingsform.ui \
|
snackbarsettingsform.ui \
|
||||||
|
dividersettingsform.ui \
|
||||||
radiobuttonsettingsform.ui \
|
radiobuttonsettingsform.ui \
|
||||||
togglesettingsform.ui \
|
togglesettingsform.ui \
|
||||||
textfieldsettingsform.ui \
|
textfieldsettingsform.ui \
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "dialogsettingseditor.h"
|
#include "dialogsettingseditor.h"
|
||||||
#include "drawersettingseditor.h"
|
#include "drawersettingseditor.h"
|
||||||
#include "scrollbarsettingseditor.h"
|
#include "scrollbarsettingseditor.h"
|
||||||
|
#include "dividersettingseditor.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
|
@ -57,12 +58,14 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
DialogSettingsEditor *dialog = new DialogSettingsEditor;
|
DialogSettingsEditor *dialog = new DialogSettingsEditor;
|
||||||
DrawerSettingsEditor *drawer = new DrawerSettingsEditor;
|
DrawerSettingsEditor *drawer = new DrawerSettingsEditor;
|
||||||
ScrollBarSettingsEditor *scrollBar = new ScrollBarSettingsEditor;
|
ScrollBarSettingsEditor *scrollBar = new ScrollBarSettingsEditor;
|
||||||
|
DividerSettingsEditor *divider = new DividerSettingsEditor;
|
||||||
|
|
||||||
stack->addWidget(avatar);
|
stack->addWidget(avatar);
|
||||||
stack->addWidget(badge);
|
stack->addWidget(badge);
|
||||||
stack->addWidget(checkbox);
|
stack->addWidget(checkbox);
|
||||||
stack->addWidget(circularProgress);
|
stack->addWidget(circularProgress);
|
||||||
stack->addWidget(dialog);
|
stack->addWidget(dialog);
|
||||||
|
stack->addWidget(divider);
|
||||||
stack->addWidget(drawer);
|
stack->addWidget(drawer);
|
||||||
stack->addWidget(fab);
|
stack->addWidget(fab);
|
||||||
stack->addWidget(flatButton);
|
stack->addWidget(flatButton);
|
||||||
|
@ -82,6 +85,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
list->addItem("Checkbox");
|
list->addItem("Checkbox");
|
||||||
list->addItem("Circular Progress");
|
list->addItem("Circular Progress");
|
||||||
list->addItem("Dialog");
|
list->addItem("Dialog");
|
||||||
|
list->addItem("Divider");
|
||||||
list->addItem("Drawer");
|
list->addItem("Drawer");
|
||||||
list->addItem("Floating Action Button");
|
list->addItem("Floating Action Button");
|
||||||
list->addItem("Flat Button");
|
list->addItem("Flat Button");
|
||||||
|
|
Loading…
Reference in New Issue