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 "corona.h"
23#include "dialog.h"
24
25struct TypesForeign {
26 Q_GADGET
27 QML_NAMED_ELEMENT(Types)
28 QML_UNCREATABLE("")
29 QML_FOREIGN(Plasma::Types)
30};
31
32struct PropertyMapForeign {
33 Q_GADGET
34 QML_ANONYMOUS
35 QML_FOREIGN(QQmlPropertyMap)
36};
37
38struct PlasmaWindowForeign {
39 Q_GADGET
40 QML_NAMED_ELEMENT(Window)
41 QML_FOREIGN(PlasmaQuick::PlasmaWindow)
42};
43
44struct AppletPopupForeign {
45 Q_GADGET
46 QML_NAMED_ELEMENT(AppletPopup)
47 QML_FOREIGN(PlasmaQuick::AppletPopup)
48};
49
50struct PopupPlasmaWindowForeign {
51 Q_GADGET
52 QML_NAMED_ELEMENT(PopupPlasmaWindow)
53 QML_FOREIGN(PlasmaQuick::PopupPlasmaWindow)
54};
55
56struct DialogForeign {
57 Q_GADGET
58 QML_NAMED_ELEMENT(Dialog)
59 QML_FOREIGN(PlasmaQuick::Dialog)
60};
61
62struct ContainmentForeign {
63 Q_GADGET
64 QML_NAMED_ELEMENT(Containment)
65 QML_UNCREATABLE("")
66 QML_FOREIGN(Plasma::Containment)
67};
68
69struct CoronaForeign {
70 Q_GADGET
71 QML_ANONYMOUS
72 QML_FOREIGN(Plasma::Corona)
73};
74
75struct AppletForeign {
76 Q_GADGET
77 QML_NAMED_ELEMENT(Applet)
78 QML_UNCREATABLE("")
79 QML_FOREIGN(Plasma::Applet)
80};
81
82class CoreBindingsPlugin : public QQmlExtensionPlugin
83{
84 Q_OBJECT
85 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
86
87public:
88 void initializeEngine(QQmlEngine *engine, const char *uri) override;
89 void registerTypes(const char *uri) override;
90};
91
92#endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 11:55:47 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.