diff options
Diffstat (limited to 'src/qml/qml/qqmlbinding.cpp')
-rw-r--r-- | src/qml/qml/qqmlbinding.cpp | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/src/qml/qml/qqmlbinding.cpp b/src/qml/qml/qqmlbinding.cpp index 2c2c801594..81826d704d 100644 --- a/src/qml/qml/qqmlbinding.cpp +++ b/src/qml/qml/qqmlbinding.cpp @@ -56,6 +56,17 @@ QT_BEGIN_NAMESPACE +// Used in qqmlabstractbinding.cpp +QQmlAbstractBinding::VTable QQmlBinding_vtable = { + QQmlAbstractBinding::default_destroy<QQmlBinding>, + QQmlBinding::expression, + QQmlBinding::propertyIndex, + QQmlBinding::object, + QQmlBinding::setEnabled, + QQmlBinding::update, + QQmlBinding::retargetBinding +}; + QQmlBinding::Identifier QQmlBinding::Invalid = -1; QQmlBinding * @@ -89,7 +100,8 @@ static QQmlJavaScriptExpression::VTable QQmlBinding_jsvtable = { }; QQmlBinding::QQmlBinding(const QString &str, QObject *obj, QQmlContext *ctxt) -: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), m_lineNumber(-1), m_columnNumber(-1) +: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), QQmlAbstractBinding(Binding), + m_lineNumber(-1), m_columnNumber(-1) { setNotifyOnValueChanged(true); QQmlAbstractExpression::setContext(QQmlContextData::get(ctxt)); @@ -103,7 +115,8 @@ QQmlBinding::QQmlBinding(const QString &str, QObject *obj, QQmlContext *ctxt) } QQmlBinding::QQmlBinding(const QString &str, QObject *obj, QQmlContextData *ctxt) -: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), m_lineNumber(-1), m_columnNumber(-1) +: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), QQmlAbstractBinding(Binding), + m_lineNumber(-1), m_columnNumber(-1) { setNotifyOnValueChanged(true); QQmlAbstractExpression::setContext(ctxt); @@ -119,7 +132,8 @@ QQmlBinding::QQmlBinding(const QString &str, QObject *obj, QQmlContextData *ctxt QQmlBinding::QQmlBinding(const QString &str, bool isRewritten, QObject *obj, QQmlContextData *ctxt, const QString &url, int lineNumber, int columnNumber) -: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), m_lineNumber(-1), m_columnNumber(-1) +: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), QQmlAbstractBinding(Binding), + m_lineNumber(-1), m_columnNumber(-1) { setNotifyOnValueChanged(true); QQmlAbstractExpression::setContext(ctxt); @@ -151,7 +165,7 @@ QQmlBinding::QQmlBinding(const QString &str, bool isRewritten, QObject *obj, */ QQmlBinding::QQmlBinding(void *functionPtr, QObject *obj, QQmlContextData *ctxt, const QString &url, int lineNumber, int columnNumber) -: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), +: QQmlJavaScriptExpression(&QQmlBinding_jsvtable), QQmlAbstractBinding(Binding), m_url(url), m_lineNumber(lineNumber), m_columnNumber(columnNumber) { setNotifyOnValueChanged(true); @@ -293,6 +307,36 @@ void QQmlBinding::refresh() update(); } +QString QQmlBinding::expression(const QQmlAbstractBinding *This) +{ + return static_cast<const QQmlBinding *>(This)->expression(); +} + +int QQmlBinding::propertyIndex(const QQmlAbstractBinding *This) +{ + return static_cast<const QQmlBinding *>(This)->propertyIndex(); +} + +QObject *QQmlBinding::object(const QQmlAbstractBinding *This) +{ + return static_cast<const QQmlBinding *>(This)->object(); +} + +void QQmlBinding::setEnabled(QQmlAbstractBinding *This, bool e, QQmlPropertyPrivate::WriteFlags f) +{ + static_cast<QQmlBinding *>(This)->setEnabled(e, f); +} + +void QQmlBinding::update(QQmlAbstractBinding *This , QQmlPropertyPrivate::WriteFlags f) +{ + static_cast<QQmlBinding *>(This)->update(f); +} + +void QQmlBinding::retargetBinding(QQmlAbstractBinding *This, QObject *o, int i) +{ + static_cast<QQmlBinding *>(This)->retargetBinding(o, i); +} + void QQmlBinding::setEnabled(bool e, QQmlPropertyPrivate::WriteFlags flags) { setEnabledFlag(e); |