diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 15 | ||||
-rw-r--r-- | src/corelib/kernel/qmetaobject.h | 1 | ||||
-rw-r--r-- | src/corelib/kernel/qmetaobject_p.h | 1 | ||||
-rw-r--r-- | src/corelib/kernel/qobjectdefs.h | 4 |
4 files changed, 20 insertions, 1 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 9be99d8c6a..e715093127 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -3506,6 +3506,21 @@ bool QMetaProperty::isRequired() const } /*! + \since 6.0 + Returns \c true if the property is implemented using a QProperty member; otherwise returns \c false. + + This can be used to detect the availability of QProperty related meta-call types ahead of + performing the call itself. +*/ +bool QMetaProperty::isQProperty() const +{ + if (!mobj) + return false; + int flags = mobj->d.data[handle + 2]; + return flags & IsQProperty; +} + +/*! \obsolete Returns \c true if the property is editable for the given \a object; diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index 08adc495e0..96f851a0e1 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -265,6 +265,7 @@ public: bool isConstant() const; bool isFinal() const; bool isRequired() const; + bool isQProperty() const; bool isFlagType() const; bool isEnumType() const; diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 277109dac4..49c43e3d79 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -87,6 +87,7 @@ enum PropertyFlags { Notify = 0x00400000, Revisioned = 0x00800000, Required = 0x01000000, + IsQProperty = 0x02000000 }; enum MethodFlags { diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index fd7c081e88..5ae4c47259 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -390,7 +390,9 @@ struct Q_CORE_EXPORT QMetaObject CreateInstance, IndexOfMethod, RegisterPropertyMetaType, - RegisterMethodArgumentMetaType + RegisterMethodArgumentMetaType, + RegisterQPropertyObserver, + SetQPropertyBinding }; int static_metacall(Call, int, void **) const; |