Libplasma

corebindingsplugin.h
1/*
2 SPDX-FileCopyrightText: 2009 Alan Alpert <alan.alpert@nokia.com>
3 SPDX-FileCopyrightText: 2010 Ménard Alexis <menard@kde.org>
4 SPDX-FileCopyrightText: 2010 Marco Martin <mart@kde.org>
5 SPDX-FileCopyrightText: 2013 Sebastian Kügler <sebas@kde.org>
6
7 SPDX-License-Identifier: LGPL-2.0-or-later
8*/
9
10#ifndef COREBINDINGSPLUGIN_H
11#define COREBINDINGSPLUGIN_H
12
13#include <QQmlEngine>
14#include <QQmlExtensionPlugin>
15#include <QQmlPropertyMap>
16
17#include <Plasma/Plasma>
18
19#include "applet.h"
20#include "appletpopup.h"
21#include "containment.h"
22#include "dialog.h"
23
24struct TypesForeign {
25 Q_GADGET
26 QML_NAMED_ELEMENT(Types)
27 QML_UNCREATABLE("")
28 QML_FOREIGN(Plasma::Types)
29};
30
31struct PropertyMapForeign {
32 Q_GADGET
33 QML_ANONYMOUS
34 QML_FOREIGN(QQmlPropertyMap)
35};
36
37struct PlasmaWindowForeign {
38 Q_GADGET
39 QML_NAMED_ELEMENT(Window)
40 QML_FOREIGN(PlasmaQuick::PlasmaWindow)
41};
42
43struct AppletPopupForeign {
44 Q_GADGET
45 QML_NAMED_ELEMENT(AppletPopup)
46 QML_FOREIGN(PlasmaQuick::AppletPopup)
47};
48
49struct PopupPlasmaWindowForeign {
50 Q_GADGET
51 QML_NAMED_ELEMENT(PopupPlasmaWindow)
52 QML_FOREIGN(PlasmaQuick::PopupPlasmaWindow)
53};
54
55struct DialogForeign {
56 Q_GADGET
57 QML_NAMED_ELEMENT(Dialog)
58 QML_FOREIGN(PlasmaQuick::Dialog)
59};
60
61struct ContainmentForeign {
62 Q_GADGET
63 QML_NAMED_ELEMENT(Containment)
64 QML_UNCREATABLE("")
65 QML_FOREIGN(Plasma::Containment)
66};
67
68struct AppletForeign {
69 Q_GADGET
70 QML_NAMED_ELEMENT(Applet)
71 QML_UNCREATABLE("")
72 QML_FOREIGN(Plasma::Applet)
73};
74
75class CoreBindingsPlugin : public QQmlExtensionPlugin
76{
77 Q_OBJECT
78 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
79
80public:
81 void initializeEngine(QQmlEngine *engine, const char *uri) override;
82 void registerTypes(const char *uri) override;
83};
84
85#endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Apr 11 2025 11:56:56 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.