Add first component to Qt Designer plugin
This commit is contained in:
parent
3a0e226597
commit
9cc62f6d87
|
@ -1,6 +1,21 @@
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||||
|
QT += widgets designer
|
||||||
|
}
|
||||||
|
|
||||||
|
lessThan(QT_MAJOR_VERSION, 5) {
|
||||||
|
CONFIG += designer
|
||||||
|
}
|
||||||
|
|
||||||
|
CONFIG += plugin release
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += staticlib
|
TARGET = $$qtLibraryTarget(qt-material-widget)
|
||||||
|
target.path = $$[QT_INSTALL_PLUGINS]/designer
|
||||||
|
INSTALLS += target
|
||||||
|
INCLUDEPATH += .
|
||||||
|
|
||||||
SOURCES = \
|
SOURCES = \
|
||||||
|
plugin/materialtoggleplugin.cpp \
|
||||||
|
plugin/qtmaterialplugins.cpp \
|
||||||
qtmaterialavatar.cpp \
|
qtmaterialavatar.cpp \
|
||||||
lib/qtmaterialstyle.cpp \
|
lib/qtmaterialstyle.cpp \
|
||||||
lib/qtmaterialtheme.cpp \
|
lib/qtmaterialtheme.cpp \
|
||||||
|
@ -49,6 +64,8 @@ SOURCES = \
|
||||||
qtmateriallist.cpp \
|
qtmateriallist.cpp \
|
||||||
qtmateriallistitem.cpp
|
qtmateriallistitem.cpp
|
||||||
HEADERS = \
|
HEADERS = \
|
||||||
|
plugin/materialtoggleplugin.h \
|
||||||
|
plugin/qtmaterialplugins.h \
|
||||||
qtmaterialavatar_p.h \
|
qtmaterialavatar_p.h \
|
||||||
qtmaterialavatar.h \
|
qtmaterialavatar.h \
|
||||||
lib/qtmaterialstyle_p.h \
|
lib/qtmaterialstyle_p.h \
|
||||||
|
@ -127,4 +144,4 @@ HEADERS = \
|
||||||
qtmateriallistitem.h \
|
qtmateriallistitem.h \
|
||||||
qtmateriallistitem_p.h
|
qtmateriallistitem_p.h
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
resources.qrc
|
material_res.qrc
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
#include "materialtoggleplugin.h"
|
||||||
|
#include "qtmaterialtoggle.h"
|
||||||
|
#include <QtPlugin>
|
||||||
|
|
||||||
|
MaterialTogglePlugin::
|
||||||
|
MaterialTogglePlugin(QObject* parent) :
|
||||||
|
QObject(parent),
|
||||||
|
initialized(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MaterialTogglePlugin::
|
||||||
|
name() const
|
||||||
|
{
|
||||||
|
return "Material Toggle";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MaterialTogglePlugin::
|
||||||
|
group() const
|
||||||
|
{
|
||||||
|
return tr("Qt Meterial Widgets");
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MaterialTogglePlugin::
|
||||||
|
toolTip() const
|
||||||
|
{
|
||||||
|
return tr("Material toggle button");
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MaterialTogglePlugin::
|
||||||
|
whatsThis() const
|
||||||
|
{
|
||||||
|
return tr("Material toggle button");
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MaterialTogglePlugin::
|
||||||
|
includeFile() const
|
||||||
|
{
|
||||||
|
return "qtmaterialtoggle.h";
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon MaterialTogglePlugin::
|
||||||
|
icon() const
|
||||||
|
{
|
||||||
|
return QIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MaterialTogglePlugin::
|
||||||
|
isContainer() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget * MaterialTogglePlugin::
|
||||||
|
createWidget(QWidget *parent)
|
||||||
|
{
|
||||||
|
return new QtMaterialToggle(parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||||
|
Q_EXPORT_PLUGIN2(MaterialTogglePlugin, MaterialTogglePlugin)
|
||||||
|
#endif
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef MATERIALTOGGLEPLUGIN_H
|
||||||
|
#define MATERIALTOGGLEPLUGIN_H
|
||||||
|
|
||||||
|
#include <QDesignerCustomWidgetInterface>
|
||||||
|
|
||||||
|
class MaterialTogglePlugin : public QObject, public QDesignerCustomWidgetInterface
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit MaterialTogglePlugin(QObject *parent = nullptr);
|
||||||
|
|
||||||
|
QString name() const;
|
||||||
|
QString group() const;
|
||||||
|
QString toolTip() const;
|
||||||
|
QString whatsThis() const;
|
||||||
|
QString includeFile() const;
|
||||||
|
QIcon icon() const;
|
||||||
|
|
||||||
|
bool isContainer() const;
|
||||||
|
|
||||||
|
QWidget *createWidget(QWidget *parent);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool initialized;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MATERIALTOGGLEPLUGIN_H
|
|
@ -0,0 +1,11 @@
|
||||||
|
#include "qtmaterialplugins.h"
|
||||||
|
#include "materialtoggleplugin.h"
|
||||||
|
|
||||||
|
QtMaterialPlugins::QtMaterialPlugins(QObject *parent) : QObject(parent)
|
||||||
|
{
|
||||||
|
m_plugins << new MaterialTogglePlugin(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<QDesignerCustomWidgetInterface*> QtMaterialPlugins::customWidgets() const {
|
||||||
|
return m_plugins;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef QTMATERIALPLUGINS_H
|
||||||
|
#define QTMATERIALPLUGINS_H
|
||||||
|
|
||||||
|
#include <QDesignerCustomWidgetCollectionInterface>
|
||||||
|
|
||||||
|
class QtMaterialPlugins : public QObject, public QDesignerCustomWidgetCollectionInterface
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_PLUGIN_METADATA(IID "com.meta-vi.QDesignerCustomWidgetCollectionInterface")
|
||||||
|
Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
|
||||||
|
public:
|
||||||
|
explicit QtMaterialPlugins(QObject *parent = nullptr);
|
||||||
|
QList<QDesignerCustomWidgetInterface*> customWidgets() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QList<QDesignerCustomWidgetInterface *> m_plugins;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QTMATERIALPLUGINS_H
|
|
@ -7,6 +7,7 @@ SOURCES = mainwindow.cpp \
|
||||||
badgesettingseditor.cpp \
|
badgesettingseditor.cpp \
|
||||||
checkboxsettingseditor.cpp \
|
checkboxsettingseditor.cpp \
|
||||||
fabsettingseditor.cpp \
|
fabsettingseditor.cpp \
|
||||||
|
plugindemoform.cpp \
|
||||||
raisedbuttonsettingseditor.cpp \
|
raisedbuttonsettingseditor.cpp \
|
||||||
flatbuttonsettingseditor.cpp \
|
flatbuttonsettingseditor.cpp \
|
||||||
iconbuttonsettingseditor.cpp \
|
iconbuttonsettingseditor.cpp \
|
||||||
|
@ -29,6 +30,7 @@ HEADERS = mainwindow.h \
|
||||||
badgesettingseditor.h \
|
badgesettingseditor.h \
|
||||||
checkboxsettingseditor.h \
|
checkboxsettingseditor.h \
|
||||||
fabsettingseditor.h \
|
fabsettingseditor.h \
|
||||||
|
plugindemoform.h \
|
||||||
raisedbuttonsettingseditor.h \
|
raisedbuttonsettingseditor.h \
|
||||||
flatbuttonsettingseditor.h \
|
flatbuttonsettingseditor.h \
|
||||||
iconbuttonsettingseditor.h \
|
iconbuttonsettingseditor.h \
|
||||||
|
@ -46,10 +48,9 @@ HEADERS = mainwindow.h \
|
||||||
appbarsettingseditor.h \
|
appbarsettingseditor.h \
|
||||||
autocompletesettingseditor.h \
|
autocompletesettingseditor.h \
|
||||||
menusettingseditor.h
|
menusettingseditor.h
|
||||||
LIBS += $$top_builddir/components/$(OBJECTS_DIR)/libcomponents.a
|
LIBS += -L../components/ -lqt-material-widget
|
||||||
INCLUDEPATH += $$top_srcdir/components/
|
INCLUDEPATH += $$top_srcdir/components/
|
||||||
TARGET = examples-exe
|
TARGET = examples-exe
|
||||||
PRE_TARGETDEPS += $$top_builddir/components/$(OBJECTS_DIR)/libcomponents.a
|
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
examples.qrc
|
examples.qrc
|
||||||
|
@ -61,6 +62,7 @@ FORMS += \
|
||||||
fabsettingsform.ui \
|
fabsettingsform.ui \
|
||||||
flatbuttonsettingsform.ui \
|
flatbuttonsettingsform.ui \
|
||||||
iconbuttonsettingsform.ui \
|
iconbuttonsettingsform.ui \
|
||||||
|
plugindemoform.ui \
|
||||||
progresssettingsform.ui \
|
progresssettingsform.ui \
|
||||||
circularprogresssettingsform.ui \
|
circularprogresssettingsform.ui \
|
||||||
slidersettingsform.ui \
|
slidersettingsform.ui \
|
||||||
|
|
|
@ -6,7 +6,7 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
|
||||||
Q_INIT_RESOURCE(resources);
|
Q_INIT_RESOURCE(material_res);
|
||||||
|
|
||||||
MainWindow window;
|
MainWindow window;
|
||||||
window.show();
|
window.show();
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "appbarsettingseditor.h"
|
#include "appbarsettingseditor.h"
|
||||||
#include "autocompletesettingseditor.h"
|
#include "autocompletesettingseditor.h"
|
||||||
#include "menusettingseditor.h"
|
#include "menusettingseditor.h"
|
||||||
|
#include "plugindemoform.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
|
@ -42,6 +43,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
|
|
||||||
setCentralWidget(widget);
|
setCentralWidget(widget);
|
||||||
|
|
||||||
|
PluginDemoForm *pluginFrm = new PluginDemoForm;
|
||||||
AvatarSettingsEditor *avatar = new AvatarSettingsEditor;
|
AvatarSettingsEditor *avatar = new AvatarSettingsEditor;
|
||||||
BadgeSettingsEditor *badge = new BadgeSettingsEditor;
|
BadgeSettingsEditor *badge = new BadgeSettingsEditor;
|
||||||
CheckBoxSettingsEditor *checkbox = new CheckBoxSettingsEditor;
|
CheckBoxSettingsEditor *checkbox = new CheckBoxSettingsEditor;
|
||||||
|
@ -64,6 +66,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
AutoCompleteSettingsEditor *autocomplete = new AutoCompleteSettingsEditor;
|
AutoCompleteSettingsEditor *autocomplete = new AutoCompleteSettingsEditor;
|
||||||
MenuSettingsEditor *menu = new MenuSettingsEditor;
|
MenuSettingsEditor *menu = new MenuSettingsEditor;
|
||||||
|
|
||||||
|
stack->addWidget(pluginFrm);
|
||||||
stack->addWidget(appBar);
|
stack->addWidget(appBar);
|
||||||
stack->addWidget(autocomplete);
|
stack->addWidget(autocomplete);
|
||||||
stack->addWidget(avatar);
|
stack->addWidget(avatar);
|
||||||
|
@ -86,6 +89,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
stack->addWidget(textField);
|
stack->addWidget(textField);
|
||||||
stack->addWidget(toggle);
|
stack->addWidget(toggle);
|
||||||
|
|
||||||
|
list->addItem("Plugins");
|
||||||
list->addItem("App Bar");
|
list->addItem("App Bar");
|
||||||
list->addItem("Auto Complete");
|
list->addItem("Auto Complete");
|
||||||
list->addItem("Avatar");
|
list->addItem("Avatar");
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#include "plugindemoform.h"
|
||||||
|
#include "ui_plugindemoform.h"
|
||||||
|
|
||||||
|
PluginDemoForm::PluginDemoForm(QWidget *parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::PluginDemoForm)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
PluginDemoForm::~PluginDemoForm()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef PLUGINDEMOFORM_H
|
||||||
|
#define PLUGINDEMOFORM_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class PluginDemoForm;
|
||||||
|
}
|
||||||
|
|
||||||
|
class PluginDemoForm : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit PluginDemoForm(QWidget *parent = nullptr);
|
||||||
|
~PluginDemoForm();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::PluginDemoForm *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // PLUGINDEMOFORM_H
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PluginDemoForm</class>
|
||||||
|
<widget class="QWidget" name="PluginDemoForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QtMaterialToggle" name="material toggle">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>60</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>64</width>
|
||||||
|
<height>48</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -1,5 +1,3 @@
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
|
||||||
|
|
||||||
TARGET = qt-material-widgets
|
TARGET = qt-material-widgets
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
SUBDIRS = components examples
|
SUBDIRS = components examples
|
||||||
|
|
Loading…
Reference in New Issue