Это старая версия документа.
Пишем плагин для VSQProject
https://AlValBel@bitbucket.org/AlValBel/vsq_pluging_template
Структура каталога
- interfaces (содержит интерфейс(ы), которые будет реализовывать плагин, те же самые интерфейсы должны быть и у vsq)
- plugs (место размещения плагина)
фрагмент файла настройки .pro (предполагается, что плагин будет визуальным)
QT +=core QT +=widgets uiplugin TARGET = plugVSQ_NAME TEMPLATE = lib CONFIG +=plugin
далее, пусть наш плагин реализует ифейс Component, тогда сам Component должен иметь следующее декларирование своего интерфейса (фрагмент Components.h):
VsqAction* vsqActionInComponent(Component* aComp, VsqAction* aAction); Q_DECLARE_INTERFACE(Component,"ru.prom-auto.VSQ.Component") // **имя, уникальный идентификатор** #endif // COMPONENT_H
сам плагин будет реализовывать интерфейс (фрагмент)
class VSQPlugTest: public Component{ Q_OBJECT Q_PLUGIN_METADATA(IID "org.promauto.vsq.VSQPlugTest") Q_INTERFACES(Component) //....
Собираем проект, полученный *.so или *.dll помещаем в дирректорию plugins внутри папки с исполняемым файлом VSQ