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"