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/qmlcompiler_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/qmlcompiler_p.h')
-rw-r--r-- | src/declarative/qml/qmlcompiler_p.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/declarative/qml/qmlcompiler_p.h b/src/declarative/qml/qmlcompiler_p.h index 86e6590..094c05a 100644 --- a/src/declarative/qml/qmlcompiler_p.h +++ b/src/declarative/qml/qmlcompiler_p.h @@ -141,9 +141,9 @@ private: struct BindingContext { BindingContext() - : stack(0), object(0) {} + : stack(0), owner(0), object(0) {} BindingContext(QmlParser::Object *o) - : stack(0), object(o) {} + : stack(0), owner(0), object(o) {} BindingContext incr() const { BindingContext rv(object); rv.stack = stack + 1; @@ -151,6 +151,7 @@ private: } bool isSubContext() const { return stack != 0; } int stack; + int owner; QmlParser::Object *object; }; @@ -171,6 +172,9 @@ private: bool buildGroupedProperty(QmlParser::Property *prop, QmlParser::Object *obj, const BindingContext &ctxt); + bool buildValueTypeProperty(QObject *type, + QmlParser::Object *obj, + const BindingContext &ctxt); bool buildListProperty(QmlParser::Property *prop, QmlParser::Object *obj, const BindingContext &ctxt); @@ -208,12 +212,14 @@ private: void genValueProperty(QmlParser::Property *prop, QmlParser::Object *obj); void genListProperty(QmlParser::Property *prop, QmlParser::Object *obj); void genPropertyAssignment(QmlParser::Property *prop, - QmlParser::Object *obj); + QmlParser::Object *obj, + QmlParser::Property *valueTypeProperty = 0); void genLiteralAssignment(const QMetaProperty &prop, QmlParser::Value *value); void genBindingAssignment(QmlParser::Value *binding, QmlParser::Property *prop, - QmlParser::Object *obj); + QmlParser::Object *obj, + QmlParser::Property *valueTypeProperty = 0); int componentTypeRef(); @@ -257,6 +263,7 @@ private: QList<QmlError> exceptions; QmlCompiledData *output; + QmlEngine *engine; }; QT_END_NAMESPACE |