aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlbinding_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2012-05-23 16:01:21 +0100
committerQt by Nokia <qt-info@nokia.com>2012-05-24 17:50:13 +0200
commitd12c9306ee2355a76e3e037877ee445b31f66a23 (patch)
tree324f6b5979ae334358bf71474348a7e3700a68da /src/qml/qml/qqmlbinding_p.h
parent6ff8aa4b83e801acadd45cc32759ea77cf4532c8 (diff)
Use static dispatch tables for QQmlAbstractBinding
This saves us the space of the virtual table pointer, but does somewhat limit us to the 4 QQmlAbstractBinding types that we have today. Change-Id: I03d06ef2ec0c51271c28e7a5aab6dc689d369da4 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlbinding_p.h')
-rw-r--r--src/qml/qml/qqmlbinding_p.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlbinding_p.h b/src/qml/qml/qqmlbinding_p.h
index 2cf7b80290..bea74e43e2 100644
--- a/src/qml/qml/qqmlbinding_p.h
+++ b/src/qml/qml/qqmlbinding_p.h
@@ -97,13 +97,22 @@ public:
// Inherited from QQmlAbstractExpression
virtual void refresh();
- // Inherited from QQmlAbstractBinding
- virtual void setEnabled(bool, QQmlPropertyPrivate::WriteFlags flags);
- virtual void update(QQmlPropertyPrivate::WriteFlags flags);
- virtual QString expression() const;
- virtual QObject *object() const;
- virtual int propertyIndex() const;
- virtual void retargetBinding(QObject *, int);
+ // "Inherited" from QQmlAbstractBinding
+ static QString expression(const QQmlAbstractBinding *);
+ static int propertyIndex(const QQmlAbstractBinding *);
+ static QObject *object(const QQmlAbstractBinding *);
+ static void setEnabled(QQmlAbstractBinding *, bool, QQmlPropertyPrivate::WriteFlags);
+ static void update(QQmlAbstractBinding *, QQmlPropertyPrivate::WriteFlags);
+ static void retargetBinding(QQmlAbstractBinding *, QObject *, int);
+
+ void setEnabled(bool, QQmlPropertyPrivate::WriteFlags flags);
+ void update(QQmlPropertyPrivate::WriteFlags flags);
+ void update() { update(QQmlPropertyPrivate::DontRemoveBinding); }
+
+ QString expression() const;
+ QObject *object() const;
+ int propertyIndex() const;
+ void retargetBinding(QObject *, int);
typedef int Identifier;
static Identifier Invalid;
@@ -111,12 +120,12 @@ public:
static QQmlBinding *createBinding(Identifier, QObject *, QQmlContext *, const QString &, int);
QVariant evaluate();
- void update() { update(QQmlPropertyPrivate::DontRemoveBinding); }
static QString expressionIdentifier(QQmlJavaScriptExpression *);
static void expressionChanged(QQmlJavaScriptExpression *);
protected:
+ friend class QQmlAbstractBinding;
~QQmlBinding();
private: