Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qqmldesignermetaobject_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef NODEINSTANCEMETAOBJECT_H
5#define NODEINSTANCEMETAOBJECT_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
19
20#include <QQmlContext>
21#include <QScopedPointer>
22#include <private/qqmlopenmetaobject_p.h>
23#include <private/qqmlvmemetaobject_p.h>
24
25#include <memory>
26
28
29struct MetaPropertyData;
30
32{
33public:
35
36 static void registerNotifyPropertyChangeCallBack(void (*callback)(QObject*, const QQuickDesignerSupport::PropertyName &propertyName));
37
38protected:
40
42 int openMetaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a);
43 int metaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a) override;
44 void notifyPropertyChange(int id);
45 void setValue(int id, const QVariant &value);
47
49
51
52 const QMetaObject *metaObjectParent() const;
53
54 int propertyOffset() const;
55
56 int count() const;
57 QByteArray name(int) const;
58
59 void copyTypeMetaObject();
60
61private:
63 void init(QObject *);
64 QQmlOpenMetaObjectType *type() const { return m_openMetaObject->type(); }
65
66 QPointer<QQmlContext> m_context;
67 std::unique_ptr<QQmlOpenMetaObject> m_openMetaObject;
69
70 // This is non-const. You cannot use threads when using the designer metaobject.
71 // Otherwise it's the same as QQmlVMEMetaObject's "cache" member.
73
75};
76
78
79#endif // NODEINSTANCEMETAOBJECT_H
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qobject.h:90
\inmodule QtCore
Definition qpointer.h:18
int metaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a) override
void createNewDynamicProperty(const QString &name)
QVariant propertyWriteValue(int, const QVariant &)
static QQmlDesignerMetaObject * getNodeInstanceMetaObject(QObject *object, QQmlEngine *engine)
QDynamicMetaObjectData * dynamicMetaObjectParent() const
static void registerNotifyPropertyChangeCallBack(void(*callback)(QObject *, const QQuickDesignerSupport::PropertyName &propertyName))
void setValue(int id, const QVariant &value)
int openMetaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a)
const QMetaObject * metaObjectParent() const
The QQmlEngine class provides an environment for instantiating QML components.
Definition qqmlengine.h:57
QV4::ExecutionEngine * engine
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\inmodule QtCore
Definition qvariant.h:64
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum type
GLuint name
\inmodule QtCore