34 lines
2.4 KiB
C
34 lines
2.4 KiB
C
|
#ifndef PLUGINTEMPLATE_H
|
||
|
#define PLUGINTEMPLATE_H
|
||
|
|
||
|
#define QT_DESIGN_PLUGIN(pluginName, headerFile, className) \
|
||
|
class pluginName : public QObject, public QDesignerCustomWidgetInterface \
|
||
|
{ \
|
||
|
Q_OBJECT \
|
||
|
public: \
|
||
|
explicit pluginName(QObject *parent = nullptr):QObject(parent) {} \
|
||
|
\
|
||
|
QString name() const override { return #className; } \
|
||
|
QString group() const override { return "Qt Material Widgets"; } \
|
||
|
QString toolTip() const override { return QString(); } \
|
||
|
QString whatsThis() const override { return QString(); } \
|
||
|
QString includeFile() const override { return headerFile; } \
|
||
|
QIcon icon() const override { return QIcon(); } \
|
||
|
\
|
||
|
QWidget *createWidget(QWidget *parent) override { return new className(parent); } \
|
||
|
bool isContainer() const override { return true; } \
|
||
|
bool isInitialized() const override { return initialized; } \
|
||
|
void initialize(QDesignerFormEditorInterface * /*core*/) override { \
|
||
|
if (initialized) \
|
||
|
return; \
|
||
|
\
|
||
|
initialized = true; \
|
||
|
} \
|
||
|
\
|
||
|
private: \
|
||
|
bool initialized; \
|
||
|
}; \
|
||
|
|
||
|
|
||
|
#endif // PLUGINTEMPLATE_H
|