summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlbinding.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlbinding.h')
-rw-r--r--src/declarative/qml/qmlbinding.h36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/declarative/qml/qmlbinding.h b/src/declarative/qml/qmlbinding.h
index c2182d5..ad25c16 100644
--- a/src/declarative/qml/qmlbinding.h
+++ b/src/declarative/qml/qmlbinding.h
@@ -54,9 +54,34 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
+class QmlAbstractBinding
+{
+public:
+ QmlAbstractBinding();
+ virtual ~QmlAbstractBinding();
+
+ virtual QString expression() const;
+
+ virtual void setEnabled(bool) = 0;
+ virtual int propertyIndex() = 0;
+
+ virtual void update() = 0;
+
+ void addToObject(QObject *);
+ void removeFromObject();
+
+private:
+ friend class QmlDeclarativeData;
+ friend class QmlMetaProperty;
+
+ QmlAbstractBinding **m_prevBinding;
+ QmlAbstractBinding *m_nextBinding;
+};
+
class QmlContext;
class QmlBindingPrivate;
-class Q_DECLARATIVE_EXPORT QmlBinding : public QmlExpression
+class Q_DECLARATIVE_EXPORT QmlBinding : public QmlExpression,
+ public QmlAbstractBinding
{
Q_OBJECT
public:
@@ -67,12 +92,13 @@ public:
void setTarget(const QmlMetaProperty &);
QmlMetaProperty property() const;
- void init();
- void forceUpdate();
-
- void setEnabled(bool);
bool enabled() const;
+ // Inherited from QmlAbstractBinding
+ virtual void setEnabled(bool);
+ virtual int propertyIndex();
+ virtual QString expression() const;
+
public Q_SLOTS:
void update();