Divider: first commit
This commit is contained in:
parent
c8fbfb019d
commit
fae8e8c5d4
|
@ -1,6 +1,7 @@
|
|||
TEMPLATE = lib
|
||||
CONFIG += staticlib
|
||||
SOURCES = \
|
||||
qtmaterialdivider.cpp \
|
||||
qtmaterialavatar.cpp \
|
||||
lib/qtmaterialstyle.cpp \
|
||||
lib/qtmaterialtheme.cpp \
|
||||
|
@ -39,6 +40,8 @@ SOURCES = \
|
|||
qtmaterialdrawer_internal.cpp \
|
||||
qtmaterialdrawer.cpp
|
||||
HEADERS = \
|
||||
qtmaterialdivider_p.h \
|
||||
qtmaterialdivider.h \
|
||||
qtmaterialavatar_p.h \
|
||||
qtmaterialavatar.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 \
|
||||
tabssettingseditor.cpp \
|
||||
snackbarsettingseditor.cpp \
|
||||
dividersettingseditor.cpp \
|
||||
dialogsettingseditor.cpp \
|
||||
drawersettingseditor.cpp \
|
||||
scrollbarsettingseditor.cpp
|
||||
|
@ -37,6 +38,7 @@ HEADERS = mainwindow.h \
|
|||
textfieldsettingseditor.h \
|
||||
tabssettingseditor.h \
|
||||
snackbarsettingseditor.h \
|
||||
dividersettingseditor.h \
|
||||
dialogsettingseditor.h \
|
||||
drawersettingseditor.h \
|
||||
scrollbarsettingseditor.h
|
||||
|
@ -59,6 +61,7 @@ FORMS += \
|
|||
circularprogresssettingsform.ui \
|
||||
slidersettingsform.ui \
|
||||
snackbarsettingsform.ui \
|
||||
dividersettingsform.ui \
|
||||
radiobuttonsettingsform.ui \
|
||||
togglesettingsform.ui \
|
||||
textfieldsettingsform.ui \
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "dialogsettingseditor.h"
|
||||
#include "drawersettingseditor.h"
|
||||
#include "scrollbarsettingseditor.h"
|
||||
#include "dividersettingseditor.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
|
@ -57,12 +58,14 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
DialogSettingsEditor *dialog = new DialogSettingsEditor;
|
||||
DrawerSettingsEditor *drawer = new DrawerSettingsEditor;
|
||||
ScrollBarSettingsEditor *scrollBar = new ScrollBarSettingsEditor;
|
||||
DividerSettingsEditor *divider = new DividerSettingsEditor;
|
||||
|
||||
stack->addWidget(avatar);
|
||||
stack->addWidget(badge);
|
||||
stack->addWidget(checkbox);
|
||||
stack->addWidget(circularProgress);
|
||||
stack->addWidget(dialog);
|
||||
stack->addWidget(divider);
|
||||
stack->addWidget(drawer);
|
||||
stack->addWidget(fab);
|
||||
stack->addWidget(flatButton);
|
||||
|
@ -82,6 +85,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
list->addItem("Checkbox");
|
||||
list->addItem("Circular Progress");
|
||||
list->addItem("Dialog");
|
||||
list->addItem("Divider");
|
||||
list->addItem("Drawer");
|
||||
list->addItem("Floating Action Button");
|
||||
list->addItem("Flat Button");
|
||||
|
|
Loading…
Reference in New Issue