Hi,

if you just want to add QML types to the item library then you do not need to 
implement a plugin.

The plugin interface is there if you want to add custom (C++) code to the 
designer that enables more specific features.

This means you do not need a plugin to provide a .metainfo file.


You can populate the item library using a .metainfo file in the "designer" 
subdirectory of your QML plugin.

This is also the place to implement custom property editor sheets.


The best example how to integrate your QML types is the QtQuick Controls 2 
plugin 
(http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/designer).


The syntax of the .metainfo file is QML and the format is really simple.


If you really want to interface with the designer in C++ you can either use a 
Qt Creator plugin or use

the plugin interface from QmlDesigner itself (IWidgetPlugin). The QmlDesigner 
comes with its own plugin mechanism

and then you do not have to subclass from ExtensionSystem::IPlugin.


I hope this answers your question.


Kind Regards,

Thomas Hartmann

________________________________
From: Qt-creator <[email protected]> on 
behalf of Wingard, Alexander <[email protected]>
Sent: Wednesday, November 29, 2017 8:59:07 AM
To: qt-creator
Subject: [Qt-creator] How do I implement and register 
QmlDesigner::IWidgetPlugins?


Hi,

I hope this is the correct place to ask this. Haven’t had any real success 
googling.



I want to add some custom made QQuickItems to the QML Types panel in 
QmlDesigner. The purpose is to help our customers easily create UIs purely with 
the QmlDesigner, and minimize the need for coding knowledge as much as possible.



So far I’ve managed to create a QmlExtensionPlugin for my custom items that 
work fine in QmlDesigner. Only thing left to do is to get the components to 
show up in the QML Types panel so they can be easily dragged/dropped in.

>From what I understand I need to create a QmlDesigner::IWidgetPlugin for 
>QtCreator that defines a category, button icons and labels (provide the 
>metainfo file), and adds them to the QmlDesigner’s ItemLibrary. The 
>implementation of the class seems straight forward. But I’m having trouble 
>finding out how to set up the plugin project itself.



Am I supposed to wrap this class inside a regular ExtensionSystem::IPlugin, or 
is it standalone?



Is there some opensource project or example available that implements 
IWidgetPlugin that I can look at? All I’ve found so far are the sources for the 
standard components inside the QtCreator source code, but those seem to be part 
of the QmlDesigner plugin itself and not easily understood.



And again, sorry if this is the wrong type of question for this list. If so, 
where do you recommend I ask these kinds of questions?



Would be very grateful for any help or pointers!



Thanks in advance,

Alex Wingård



Alexander Wingård
Software Developer
www.crosscontrol.com
<http://www.crosscontrol.com/>
CrossControl
making machines smart, safe and productive



________________________________

Actuant Corporation Email Notice

This message is intended only for the use of the Addressee and may contain 
information that is PRIVILEGED and/or CONFIDENTIAL.
This email is intended only for the personal and confidential use of the 
recipient(s) named above. If the reader of this email is not an intended 
recipient, you have received this email in error and any review, dissemination, 
distribution or copying is strictly prohibited.
If you have received this email in error, please notify the sender immediately 
by return mail and permanently delete the copy you received.

Thank you.
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to