diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-07-23 01:21:54 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-07-23 01:21:54 (GMT) |
commit | 6f43de5c1173277465f13eed9e904928a54bb9fc (patch) | |
tree | 07f0d2f511334ae4e9abc878fd72a062a295a7dd /src/declarative/qml/qmlengine_p.h | |
parent | 84aaee9b4514f70bf0abfd11e9b4fd3c66ceb1f1 (diff) | |
download | Qt-6f43de5c1173277465f13eed9e904928a54bb9fc.zip Qt-6f43de5c1173277465f13eed9e904928a54bb9fc.tar.gz Qt-6f43de5c1173277465f13eed9e904928a54bb9fc.tar.bz2 |
Add prototype value type support
Diffstat (limited to 'src/declarative/qml/qmlengine_p.h')
-rw-r--r-- | src/declarative/qml/qmlengine_p.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlengine_p.h b/src/declarative/qml/qmlengine_p.h index 47d2397..af561e7 100644 --- a/src/declarative/qml/qmlengine_p.h +++ b/src/declarative/qml/qmlengine_p.h @@ -66,6 +66,7 @@ #include <private/qpodvector_p.h> #include <QtDeclarative/qml.h> #include <private/qmlbasicscript_p.h> +#include <private/qmlvaluetype_p.h> #include <QtDeclarative/qmlcontext.h> #include <QtDeclarative/qmlengine.h> #include <QtDeclarative/qmlexpression.h> @@ -80,6 +81,7 @@ class QmlExpression; class QmlBasicScriptNodeCache; class QmlContextScriptClass; class QmlObjectScriptClass; +class QmlValueTypeScriptClass; class QScriptEngineDebugger; class QNetworkReply; class QNetworkAccessManager; @@ -120,6 +122,7 @@ public: QmlContextScriptClass *contextClass; QmlObjectScriptClass *objectClass; + QmlValueTypeScriptClass *valueTypeClass; QmlContext *setCurrentBindContext(QmlContext *); QStack<QmlContext *> activeContexts; @@ -167,6 +170,8 @@ public: quint32 getUniqueId() const { return uniqueId++; } + + QmlValueTypeFactory valueTypes; }; class QmlScriptClass : public QScriptClass @@ -187,6 +192,7 @@ public: QmlScriptClass(QmlEngine *); + static QVariant toVariant(QmlEngine *, const QScriptValue &); protected: QmlEngine *engine; }; @@ -230,6 +236,24 @@ public: const QScriptValue &value); }; +class QmlValueTypeScriptClass : public QmlScriptClass +{ +public: + QmlValueTypeScriptClass(QmlEngine *); + ~QmlValueTypeScriptClass(); + + virtual QueryFlags queryProperty(const QScriptValue &object, + const QScriptString &name, + QueryFlags flags, uint *id); + virtual QScriptValue property(const QScriptValue &object, + const QScriptString &name, + uint id); + virtual void setProperty(QScriptValue &object, + const QScriptString &name, + uint id, + const QScriptValue &value); +}; + QT_END_NAMESPACE #endif // QMLENGINE_P_H |