5#ifndef QWAYLANDCOMPOSITORQUICKEXTENSIONS_P_H
6#define QWAYLANDCOMPOSITORQUICKEXTENSIONS_P_H
19#include <QtQml/qqml.h>
20#include <QtWaylandCompositor/qtwaylandcompositorglobal.h>
21#include <QtWaylandCompositor/qwaylandquickextension.h>
23#include <QtWaylandCompositor/qwaylandcompositor.h>
24#include <QtWaylandCompositor/qwaylandquickcompositor.h>
25#include <QtWaylandCompositor/qwaylandqtwindowmanager.h>
26#include <QtWaylandCompositor/qwaylandtextinputmanager.h>
27#include <QtCore/private/qglobal_p.h>
28#include <QtWaylandCompositor/qwaylandtextinputmanagerv3.h>
29#include <QtWaylandCompositor/qwaylandqttextinputmethodmanager.h>
30#include <QtWaylandCompositor/qwaylandidleinhibitv1.h>
37 Q_PROPERTY(QQmlListProperty<QWaylandCompositorExtension> extensions READ extensions)
38 Q_PROPERTY(QQmlListProperty<QObject> data READ data DESIGNABLE
false)
39 Q_CLASSINFO(
"DefaultProperty",
"data")
40 QML_NAMED_ELEMENT(WaylandCompositor)
41 QML_ADDED_IN_VERSION(1, 0)
43 QQmlListProperty<QObject> data()
45 return QQmlListProperty<QObject>(
this, &m_objects);
48 QQmlListProperty<QWaylandCompositorExtension> extensions()
50 return QQmlListProperty<QWaylandCompositorExtension>(
this,
this,
57 static qsizetype countFunction(QQmlListProperty<QWaylandCompositorExtension> *list)
59 return static_cast<QWaylandQuickCompositorQuickExtensionContainer *>(list->data)->extension_vector.size();
62 static QWaylandCompositorExtension *atFunction(QQmlListProperty<QWaylandCompositorExtension> *list, qsizetype index)
64 return static_cast<QWaylandQuickCompositorQuickExtensionContainer *>(list->data)->extension_vector.at(index);
67 static void append_extension(QQmlListProperty<QWaylandCompositorExtension> *list, QWaylandCompositorExtension *extension)
69 QWaylandQuickCompositorQuickExtensionContainer *quickExtObj =
static_cast<QWaylandQuickCompositorQuickExtensionContainer *>(list->data);
70 extension->setExtensionContainer(quickExtObj);
73 static void clearFunction(QQmlListProperty<QWaylandCompositorExtension> *list)
75 static_cast<QWaylandQuickCompositorQuickExtensionContainer *>(list->data)->extension_vector.clear();
79 QList<QObject *> m_objects;
84Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT(QWaylandQtWindowManager, QtWindowManager, 1, 0)
85Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT(QWaylandIdleInhibitManagerV1,
86 IdleInhibitManagerV1, 1, 0)
87Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT(QWaylandTextInputManager, TextInputManager, 1, 0)
88Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT(QWaylandTextInputManagerV3, TextInputManagerV3,
90Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT(QWaylandQtTextInputMethodManager,
91 QtTextInputMethodManager, 1, 0)