Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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 <QtCore/qpointer.h>
26
27#include <memory>
28
30
31struct MetaPropertyData;
32
34{
35public:
37
38 static void registerNotifyPropertyChangeCallBack(void (*callback)(QObject*, const QQuickDesignerSupport::PropertyName &propertyName));
39
40protected:
42
44 int openMetaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a);
45 int metaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a) override;
46 void notifyPropertyChange(int id);
47 void setValue(int id, const QVariant &value);
49
51
53
54 const QMetaObject *metaObjectParent() const;
55
56 int propertyOffset() const;
57
58 int count() const;
59 QByteArray name(int) const;
60
61 void copyTypeMetaObject();
62
63private:
65 void init(QObject *);
66 QQmlOpenMetaObjectType *type() const { return m_openMetaObject->type(); }
67
68 QPointer<QQmlContext> m_context;
69 std::unique_ptr<QQmlOpenMetaObject> m_openMetaObject;
70 QScopedPointer<MetaPropertyData> m_data;
71
72 // This is non-const. You cannot use threads when using the designer metaobject.
73 // Otherwise it's the same as QQmlVMEMetaObject's "cache" member.
75
77};
78
80
81#endif // NODEINSTANCEMETAOBJECT_H
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qobject.h:103
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
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum type
GLuint name
\inmodule QtCore