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 "appletpopup.h"
20#include "dialog.h"
21
22struct TypesForeign {
23 Q_GADGET
24 QML_NAMED_ELEMENT(Types)
25 QML_UNCREATABLE("")
26 QML_FOREIGN(Plasma::Types)
27};
28
29struct PropertyMapForeign {
30 Q_GADGET
31 QML_ANONYMOUS
32 QML_FOREIGN(QQmlPropertyMap)
33};
34
35struct PlasmaWindowForeign {
36 Q_GADGET
37 QML_NAMED_ELEMENT(Window)
38 QML_FOREIGN(PlasmaQuick::PlasmaWindow)
39};
40
41struct AppletPopupForeign {
42 Q_GADGET
43 QML_NAMED_ELEMENT(AppletPopup)
44 QML_FOREIGN(PlasmaQuick::AppletPopup)
45};
46
47struct PopupPlasmaWindowForeign {
48 Q_GADGET
49 QML_NAMED_ELEMENT(PopupPlasmaWindow)
51};
52
53struct DialogForeign {
54 Q_GADGET
55 QML_NAMED_ELEMENT(Dialog)
56 QML_FOREIGN(PlasmaQuick::Dialog)
57};
58
59class CoreBindingsPlugin : public QQmlExtensionPlugin
60{
61 Q_OBJECT
62 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
63
64public:
65 void initializeEngine(QQmlEngine *engine, const char *uri) override;
66 void registerTypes(const char *uri) override;
67};
68
69#endif
The AppletPopup class shows a popup for an applet either in the panel or on the desktop.
Definition appletpopup.h:30
Dialog creates a Plasma themed top level window that can contain any QML component.
Definition dialog.h:72
The PopupPlasmaWindow class is a styled Plasma window that can be positioned relative to an existing ...
Namespace for everything in libplasma.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:09:36 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.