diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2020-05-29 14:18:34 +0200 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2020-07-10 10:02:20 +0200 |
commit | aab3f9e732829692672f9bb3e54a209d9b5d97b1 (patch) | |
tree | b3508061d93fe278cbe7dbc7a136af86f018f8b9 /src/qml/qml/qqml.h | |
parent | 0cfb44bf2972dc006ec6042b676f86d6059d0890 (diff) |
Add userdata callback to qml registration
This is needed in order to remove PySide2's qml type limit.
Change-Id: I331d9e31574a744eb9085222d58ea8a8789e0e31
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/qml/qqml.h')
-rw-r--r-- | src/qml/qml/qqml.h | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h index 3c9c996a9c..b5c3b77f39 100644 --- a/src/qml/qml/qqml.h +++ b/src/qml/qml/qqml.h @@ -41,6 +41,7 @@ #define QQML_H #include <QtQml/qqmlprivate.h> +#include <QtQml/qjsvalue.h> #include <QtCore/qbytearray.h> #include <QtCore/qmetaobject.h> @@ -162,11 +163,10 @@ int qmlRegisterAnonymousType(const char *uri, int versionMajor) { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), 0, - nullptr, + nullptr, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, 0), nullptr, &T::staticMetaObject, @@ -203,11 +203,11 @@ int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMin { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T>>(), 0, nullptr, + nullptr, reason, uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -233,11 +233,11 @@ int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMin { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), 0, nullptr, + nullptr, reason, uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -270,11 +270,11 @@ int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int ve QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), 0, nullptr, + nullptr, reason, uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -307,11 +307,11 @@ int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int ve QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), 0, nullptr, + nullptr, reason, uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -339,10 +339,9 @@ int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const c { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -368,10 +367,9 @@ int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const c { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -397,10 +395,9 @@ int qmlRegisterRevision(const char *uri, int versionMajor, int versionMinor) { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), nullptr, &T::staticMetaObject, @@ -426,11 +423,11 @@ int qmlRegisterExtendedType(const char *uri, int versionMajor) { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), 0, nullptr, + nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, 0), nullptr, &T::staticMetaObject, @@ -473,10 +470,9 @@ int qmlRegisterExtendedType(const char *uri, int versionMajor, int versionMinor, QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -544,10 +540,9 @@ int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor, { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -574,10 +569,9 @@ int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor, { QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -611,10 +605,9 @@ int qmlRegisterCustomExtendedType(const char *uri, int versionMajor, int version QQmlPrivate::RegisterType type = { 0, - QMetaType::fromType<T *>(), QMetaType::fromType<QQmlListProperty<T> >(), - sizeof(T), QQmlPrivate::createInto<T>, + sizeof(T), QQmlPrivate::createInto<T>, nullptr, QString(), uri, QTypeRevision::fromVersion(versionMajor, versionMinor), qmlName, &T::staticMetaObject, @@ -709,7 +702,8 @@ inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versi uri, QTypeRevision::fromVersion(versionMajor, versionMinor), typeName, - callback, nullptr, nullptr, QMetaType(), QTypeRevision::zero() + callback, + nullptr, nullptr, QMetaType(), QTypeRevision::zero() }; return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api); @@ -872,6 +866,7 @@ inline void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject, cons QMetaType(), 0, nullptr, + nullptr, uri, QTypeRevision::fromMajorVersion(versionMajor), |