summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlengine_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-07-23 01:21:54 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-07-23 01:21:54 (GMT)
commit6f43de5c1173277465f13eed9e904928a54bb9fc (patch)
tree07f0d2f511334ae4e9abc878fd72a062a295a7dd /src/declarative/qml/qmlengine_p.h
parent84aaee9b4514f70bf0abfd11e9b4fd3c66ceb1f1 (diff)
downloadQt-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.h24
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