diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-08-10 05:37:19 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-08-10 08:01:37 (GMT) |
commit | 8c3405bbf65826f0ab0be0bd090d723f8efaa3af (patch) | |
tree | f6886a2b8a86f567b98728bba9cdc3d1be780dcf /src/declarative/qml/qmlcontext_p.h | |
parent | 12ffa33ddc725cd94662a383af6e1793049c807c (diff) | |
download | Qt-8c3405bbf65826f0ab0be0bd090d723f8efaa3af.zip Qt-8c3405bbf65826f0ab0be0bd090d723f8efaa3af.tar.gz Qt-8c3405bbf65826f0ab0be0bd090d723f8efaa3af.tar.bz2 |
Abstract expression and binding APIs
By splitting the interface through which the system interacts with bindings
away from a specific implementation, we can introduce highly specialized
implementations for specific optimizations.
This commit also includes a sample optimization for object properties being
assigned directly from a local id.
Diffstat (limited to 'src/declarative/qml/qmlcontext_p.h')
-rw-r--r-- | src/declarative/qml/qmlcontext_p.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlcontext_p.h b/src/declarative/qml/qmlcontext_p.h index 0424a85..b5479d9 100644 --- a/src/declarative/qml/qmlcontext_p.h +++ b/src/declarative/qml/qmlcontext_p.h @@ -68,6 +68,8 @@ class QmlExpression; class QmlEngine; class QmlExpression; class QmlExpressionPrivate; +class QmlAbstractExpression; +class QmlBindingIdOptimization; class QmlContextPrivate : public QObjectPrivate { @@ -104,13 +106,15 @@ public: void invalidateEngines(); QSet<QmlContext *> childContexts; - QmlExpressionPrivate *expressions; + QmlAbstractExpression *expressions; QObjectList contextObjects; struct ContextGuard : public QGuard<QObject> { + ContextGuard() : priv(0), bindings(0) {} QmlContextPrivate *priv; + QmlBindingIdOptimization *bindings; ContextGuard &operator=(QObject *obj) { (QGuard<QObject>&)*this = obj; return *this; } |