summaryrefslogtreecommitdiffstats
path: root/demos/arthurplugin/plugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'demos/arthurplugin/plugin.cpp')
-rw-r--r--demos/arthurplugin/plugin.cpp74
1 files changed, 54 insertions, 20 deletions
diff --git a/demos/arthurplugin/plugin.cpp b/demos/arthurplugin/plugin.cpp
index 19fecbc..727fd12 100644
--- a/demos/arthurplugin/plugin.cpp
+++ b/demos/arthurplugin/plugin.cpp
@@ -55,7 +55,26 @@
QT_FORWARD_DECLARE_CLASS(QDesignerFormEditorInterface)
-static inline QString customWidgetDomXml(const QString &className)
+// Specify "text" to be a singleline property (no richtext)
+static inline QString textSingleLinePropertyDeclaration(const QString &className)
+{
+ QString rc = QLatin1String(
+ "<customwidgets>\n"
+ " <customwidget>\n"
+ " <class>");
+ rc += className;
+ rc += QLatin1String("</class>\n"
+ " <propertyspecifications>\n"
+ " <stringpropertyspecification name=\"text\" type=\"singleline\"/>\n"
+ " </propertyspecifications>\n"
+ " </customwidget>\n"
+ "</customwidgets>\n");
+ return rc;
+}
+
+// Plain XML for a custom widget
+static inline QString customWidgetDomXml(const QString &className,
+ const QString &customSection = QString())
{
QString rc = QLatin1String("<ui language=\"c++\"><widget class=\"");
rc += className;
@@ -63,7 +82,9 @@ static inline QString customWidgetDomXml(const QString &className)
QString objectName = className;
objectName[0] = objectName.at(0).toLower();
rc += objectName;
- rc += QLatin1String("\"/></ui>");
+ rc += QLatin1String("\"/>");
+ rc += customSection;
+ rc += QLatin1String("</ui>");
return rc;
}
@@ -80,7 +101,7 @@ class DemoPlugin : public QDesignerCustomWidgetInterface
Q_INTERFACES(QDesignerCustomWidgetInterface)
protected:
- DemoPlugin(const QString &className);
+ explicit DemoPlugin(const QString &className, const QString &customSection = QString());
public:
QString name() const { return m_className; }
@@ -105,9 +126,9 @@ private:
bool m_initialized;
};
-DemoPlugin::DemoPlugin(const QString &className) :
+DemoPlugin::DemoPlugin(const QString &className, const QString &customSection) :
m_className(className),
- m_domXml(customWidgetDomXml(className)),
+ m_domXml(customWidgetDomXml(className, customSection)),
m_initialized(false)
{
}
@@ -117,8 +138,8 @@ class DeformPlugin : public QObject, public DemoPlugin
Q_OBJECT
public:
- DeformPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("PathDeformRendererEx")) { }
- QString includeFile() const { return "deform.h"; }
+ explicit DeformPlugin(QObject *parent = 0);
+ QString includeFile() const { return QLatin1String("deform.h"); }
QWidget *createWidget(QWidget *parent)
{
@@ -126,12 +147,19 @@ public:
deform->setRadius(70);
deform->setAnimated(false);
deform->setFontSize(20);
- deform->setText("Arthur Widgets Demo");
+ deform->setText(QLatin1String("Arthur Widgets Demo"));
return deform;
}
};
+DeformPlugin::DeformPlugin(QObject *parent) :
+ QObject(parent),
+ DemoPlugin(QLatin1String("PathDeformRendererEx"),
+ textSingleLinePropertyDeclaration(QLatin1String("PathDeformRendererEx")))
+{
+}
+
class XFormRendererEx : public XFormView
{
Q_OBJECT
@@ -144,24 +172,30 @@ class XFormPlugin : public QObject, public DemoPlugin
{
Q_OBJECT
public:
- XFormPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("XFormRendererEx")) { }
- QString includeFile() const { return "xform.h"; }
+ explicit XFormPlugin(QObject *parent = 0);
+ QString includeFile() const { return QLatin1String("xform.h"); }
QWidget *createWidget(QWidget *parent)
{
XFormRendererEx *xform = new XFormRendererEx(parent);
- xform->setText("Qt - Hello World!!");
- xform->setPixmap(QPixmap(":/trolltech/arthurplugin/bg1.jpg"));
+ xform->setText(QLatin1String("Qt - Hello World!!"));
+ xform->setPixmap(QPixmap(QLatin1String(":/trolltech/arthurplugin/bg1.jpg")));
return xform;
}
};
+XFormPlugin::XFormPlugin(QObject *parent) :
+ QObject(parent),
+ DemoPlugin(QLatin1String("XFormRendererEx"),
+ textSingleLinePropertyDeclaration(QLatin1String("XFormRendererEx")))
+{
+}
class GradientEditorPlugin : public QObject, public DemoPlugin
{
Q_OBJECT
public:
- GradientEditorPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("GradientEditor")) { }
+ explicit GradientEditorPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("GradientEditor")) { }
QString includeFile() const { return "gradients.h"; }
QWidget *createWidget(QWidget *parent)
@@ -184,7 +218,7 @@ class GradientRendererPlugin : public QObject, public DemoPlugin
Q_OBJECT
public:
GradientRendererPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("GradientRendererEx")) { }
- QString includeFile() const { return "gradients.h"; }
+ QString includeFile() const { return QLatin1String("gradients.h"); }
QWidget *createWidget(QWidget *parent)
{
@@ -198,7 +232,7 @@ class PathStrokeRendererEx : public PathStrokeRenderer
{
Q_OBJECT
public:
- PathStrokeRendererEx(QWidget *p) : PathStrokeRenderer(p) { }
+ explicit PathStrokeRendererEx(QWidget *p) : PathStrokeRenderer(p) { }
QSize sizeHint() const { return QSize(300, 200); }
};
@@ -206,8 +240,8 @@ class StrokeRenderPlugin : public QObject, public DemoPlugin
{
Q_OBJECT
public:
- StrokeRenderPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("PathStrokeRendererEx")) { }
- QString includeFile() const { return "pathstroke.h"; }
+ explicit StrokeRenderPlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("PathStrokeRendererEx")) { }
+ QString includeFile() const { return QLatin1String("pathstroke.h"); }
QWidget *createWidget(QWidget *parent)
{
@@ -221,8 +255,8 @@ class CompositionModePlugin : public QObject, public DemoPlugin
{
Q_OBJECT
public:
- CompositionModePlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("CompositionRenderer")) { }
- QString includeFile() const { return "composition.h"; }
+ explicit CompositionModePlugin(QObject *parent = 0) : QObject(parent), DemoPlugin(QLatin1String("CompositionRenderer")) { }
+ QString includeFile() const { return QLatin1String("composition.h"); }
QWidget *createWidget(QWidget *parent)
{
@@ -239,7 +273,7 @@ class ArthurPlugins : public QObject, public QDesignerCustomWidgetCollectionInte
Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
public:
- ArthurPlugins(QObject *parent = 0);
+ explicit ArthurPlugins(QObject *parent = 0);
QList<QDesignerCustomWidgetInterface*> customWidgets() const { return m_plugins; }
private: