6#include <QtQml/qqmlengine.h>
7#include <QtQml/qqmlcontext.h>
8#include <QtCore/qmetaobject.h>
10#include <private/qqmltypedata_p.h>
11#include <private/qqmlpropertybinding_p.h>
12#include <private/qqmlbinding_p.h>
13#include <private/qv4qmlcontext_p.h>
14#include <private/qqmlproperty_p.h>
15#include <private/qqmlbinding_p.h>
19template<
typename CreateBinding>
42 QObject *bindingTarget,
int metaPropertyIndex,
43 int valueTypePropertyIndex,
const QString &propertyName)
50 qCritical() <<
"invalid JavaScript function index (internal error)";
53 if (metaPropertyIndex < 0) {
55 qCritical() <<
"invalid meta property index (internal error)";
69 ctxt, scope, bindingTarget,
index);
75 QObject *bindingTarget,
int metaPropertyIndex,
76 int valueTypePropertyIndex,
84 qCritical() <<
"invalid JavaScript function index (internal error)";
87 if (metaPropertyIndex < 0) {
89 qCritical() <<
"invalid meta property index (internal error)";
102 thisObject, ctxt, scope);
106 valueTypePropertyIndex);
117 if (metaPropertyIndex < 0) {
119 qCritical() <<
"invalid meta property index (internal error)";
134 QObject *thisObject,
QObject *bindingTarget,
int metaPropertyIndex,
135 const QString &propertyName,
int valueTypePropertyIndex)
139 if (metaPropertyIndex < 0) {
141 qCritical() <<
"invalid meta property index (internal error)";
154 unit, ctxt, propertyName, translationData,
location, thisObject);
158 valueTypePropertyIndex);
QV4::ExecutionEngine * handle() const
void setTarget(const QQmlProperty &)
static QQmlBinding * createTranslationBinding(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt)
static QQmlBinding * create(const QQmlPropertyData *, const QQmlScriptString &, QObject *, QQmlContext *)
static QQmlData * get(QObjectPrivate *priv, bool create)
QQmlContextData * outerContext
The QQmlEngine class provides an environment for instantiating QML components.
static QUntypedPropertyBinding create(const QQmlPropertyData *pd, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope, QObject *target, QQmlPropertyIndex targetIndex)
static void setBinding(QQmlAbstractBinding *binding, BindingFlags flags=None, QQmlPropertyData::WriteFlags writeFlags=QQmlPropertyData::DontRemoveBinding)
static QUntypedPropertyBinding Q_QML_PRIVATE_EXPORT create(const QQmlPropertyData *pd, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit, const QV4::CompiledData::Binding *binding)
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QVector< QV4::Function * > runtimeFunctions
Combined button and popup list for selecting options.
QQmlEngine * qmlEngine(const QObject *obj)
QQmlContext * qmlContext(const QObject *obj)
QT_BEGIN_NAMESPACE decltype(auto) createBindingInScope(QObject *thisObject, CreateBinding create)
static void createTranslationBindingForNonBindable(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QQmlSourceLocation &location, const QQmlTranslation &translationData, QObject *thisObject, QObject *bindingTarget, int metaPropertyIndex, const QString &propertyName, int valueTypePropertyIndex)
static QUntypedPropertyBinding createTranslationBindingForBindable(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, QObject *bindingTarget, int metaPropertyIndex, const QQmlTranslation &translationData, const QString &propertyName)
static QUntypedPropertyBinding createBindingForBindable(const QV4::ExecutableCompilationUnit *unit, QObject *thisObject, qsizetype functionIndex, QObject *bindingTarget, int metaPropertyIndex, int valueTypePropertyIndex, const QString &propertyName)
static void createBindingForNonBindable(const QV4::ExecutableCompilationUnit *unit, QObject *thisObject, qsizetype functionIndex, QObject *bindingTarget, int metaPropertyIndex, int valueTypePropertyIndex, const QString &propertyName)
ExecutionContext * scriptContext() const
static Heap::QmlContext * create(QV4::ExecutionContext *parent, QQmlRefPointer< QQmlContextData > context, QObject *scopeObject)