diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativepropertycache_p.h')
-rw-r--r-- | src/declarative/qml/qdeclarativepropertycache_p.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h index ef8cefd821..3f5de5ada5 100644 --- a/src/declarative/qml/qdeclarativepropertycache_p.h +++ b/src/declarative/qml/qdeclarativepropertycache_p.h @@ -153,6 +153,10 @@ public: // Returns -1 if not a value type virtual property inline int getValueTypeCoreIndex() const; + // Returns the "encoded" index for use with bindings. Encoding is: + // coreIndex | (valueTypeCoreIndex << 24) + inline int encodedIndex() const; + union { int propType; // When !NotFullyResolved const char *propTypeName; // When NotFullyResolved @@ -339,6 +343,11 @@ int QDeclarativePropertyRawData::getValueTypeCoreIndex() const return isValueTypeVirtual()?valueTypeCoreIndex:-1; } +int QDeclarativePropertyRawData::encodedIndex() const +{ + return isValueTypeVirtual()?(coreIndex | (valueTypeCoreIndex << 24)):coreIndex; +} + QDeclarativePropertyData * QDeclarativePropertyCache::overrideData(QDeclarativePropertyData *data) const { |