summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativeproperty_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-11-29 08:41:24 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-11-29 08:41:24 (GMT)
commit312604c85b1e6a6fc6de505bac86848936f81edd (patch)
tree40708cd6a968a54dcdbbbf7d0e98007f6cae1ab5 /src/declarative/qml/qdeclarativeproperty_p.h
parentb604dc0b77a3a4b9001d682925006a3438e00cb7 (diff)
downloadQt-312604c85b1e6a6fc6de505bac86848936f81edd.zip
Qt-312604c85b1e6a6fc6de505bac86848936f81edd.tar.gz
Qt-312604c85b1e6a6fc6de505bac86848936f81edd.tar.bz2
Improve consistency in handling of aliases, bindings and value types
Task-number: QTBUG-13719
Diffstat (limited to 'src/declarative/qml/qdeclarativeproperty_p.h')
-rw-r--r--src/declarative/qml/qdeclarativeproperty_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativeproperty_p.h b/src/declarative/qml/qdeclarativeproperty_p.h
index a9d6979..6392f88 100644
--- a/src/declarative/qml/qdeclarativeproperty_p.h
+++ b/src/declarative/qml/qdeclarativeproperty_p.h
@@ -68,7 +68,7 @@ class QDeclarativeExpression;
class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePropertyPrivate
{
public:
- enum WriteFlag { BypassInterceptor = 0x01, DontRemoveBinding = 0x02 };
+ enum WriteFlag { BypassInterceptor = 0x01, DontRemoveBinding = 0x02, RemoveBindingOnAliasWrite = 0x04 };
Q_DECLARE_FLAGS(WriteFlags, WriteFlag)
QDeclarativePropertyPrivate()
@@ -108,9 +108,13 @@ public:
const QVariant &value, int flags);
static bool write(QObject *, const QDeclarativePropertyCache::Data &, const QVariant &,
QDeclarativeContextData *, WriteFlags flags = 0);
+ static void findAliasTarget(QObject *, int, QObject **, int *);
static QDeclarativeAbstractBinding *setBinding(QObject *, int coreIndex, int valueTypeIndex /* -1 */,
QDeclarativeAbstractBinding *,
WriteFlags flags = DontRemoveBinding);
+ static QDeclarativeAbstractBinding *setBindingNoEnable(QObject *, int coreIndex, int valueTypeIndex /* -1 */,
+ QDeclarativeAbstractBinding *);
+ static QDeclarativeAbstractBinding *binding(QObject *, int coreIndex, int valueTypeIndex /* -1 */);
static QByteArray saveValueType(const QMetaObject *, int,
const QMetaObject *, int);
@@ -120,7 +124,6 @@ public:
static bool equal(const QMetaObject *, const QMetaObject *);
static bool canConvert(const QMetaObject *from, const QMetaObject *to);
-
// "Public" (to QML) methods
static QDeclarativeAbstractBinding *binding(const QDeclarativeProperty &that);
static QDeclarativeAbstractBinding *setBinding(const QDeclarativeProperty &that,
@@ -136,6 +139,7 @@ public:
static bool connect(const QObject *sender, int signal_index,
const QObject *receiver, int method_index,
int type = 0, int *types = 0);
+ static const QMetaObject *metaObjectForProperty(const QMetaObject *, int);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativePropertyPrivate::WriteFlags)