File indexing completed on 2024-05-12 03:54:48
0001 // SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de> 0002 // SPDX-License-Identifier: LGPL-2.0-or-later 0003 #include <QWidget> 0004 #include <kpluginfactory.h> 0005 0006 class MyWidget : public QWidget 0007 { 0008 public: 0009 explicit MyWidget(QWidget *parent, const KPluginMetaData &data) 0010 : QWidget(parent) 0011 { 0012 Q_ASSERT(!data.fileName().isEmpty()); 0013 } 0014 }; 0015 class MyWidgetArgs : public QWidget 0016 { 0017 public: 0018 explicit MyWidgetArgs(QWidget *parent, const KPluginMetaData &data, const QVariantList &args) 0019 : QWidget(parent) 0020 { 0021 Q_ASSERT(!data.fileName().isEmpty()); 0022 setProperty("firstarg", args.first()); 0023 } 0024 }; 0025 0026 class MyWidgetNoMetaData : public QWidget 0027 { 0028 public: 0029 explicit MyWidgetNoMetaData(QWidget *parent) 0030 : QWidget(parent) 0031 { 0032 } 0033 }; 0034 0035 // Ignore the duplicate registration, just make sure it compiles 0036 K_PLUGIN_FACTORY(MyWidgetFactory, registerPlugin<MyWidgetArgs>(); registerPlugin<MyWidget>(); registerPlugin<MyWidgetNoMetaData>();) 0037 0038 #include "widgetsplugin.moc"