11void on_<object name>_<signal name>(<signal parameters>);
16class MyExtension:
public QObject,
17 public QDesignerContainerExtension
20 Q_INTERFACE(QDesignerContainerExtension)
28QObject *ANewExtensionFactory::createExtension(QObject *object,
29 const QString &iid, QObject *parent)
const
31 if (iid != Q_TYPEID(QDesignerContainerExtension))
34 if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
36 return new MyContainerExtension(widget, parent);
44QObject *AGeneralExtensionFactory::createExtension(QObject *object,
45 const QString &iid, QObject *parent)
const
47 MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
49 if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
50 return new MyTaskMenuExtension(widget, parent);
52 }
else if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) {
53 return new MyContainerExtension(widget, parent);
63void MyPlugin::initialize(QDesignerFormEditorInterface *formEditor)
68 QExtensionManager *manager = formEditor->extensionManager();
69 Q_ASSERT(manager != 0);
71 manager->registerExtensions(
new MyExtensionFactory(manager),
72 Q_TYPEID(QDesignerTaskMenuExtension));