summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlcompiler_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/qmlcompiler_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/qmlcompiler_p.h')
-rw-r--r--src/declarative/qml/qmlcompiler_p.h15
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