![]() |
Qt 6.x
The Qt SDK
|
#include <qqmlabstractbinding_p.h>
Inheritance diagram for QQmlAbstractBinding:
Collaboration diagram for QQmlAbstractBinding:Classes | |
| struct | RefCount |
Public Types | |
| enum | Kind { ValueTypeProxy , QmlBinding , PropertyToPropertyBinding } |
| enum | TargetTag { NoTargetTag = 0x0 , UpdatingBinding = 0x1 , BindingEnabled = 0x2 } |
| enum | NextBindingTag { NoBindingTag = 0x0 , AddedToObject = 0x1 , CanUseAccessor = 0x2 } |
| typedef QExplicitlySharedDataPointer< QQmlAbstractBinding > | Ptr |
Public Member Functions | |
| virtual | ~QQmlAbstractBinding () |
| virtual QString | expression () const |
| virtual Kind | kind () const =0 |
| QQmlPropertyIndex | targetPropertyIndex () const |
| QObject * | targetObject () const |
| void | setTarget (const QQmlProperty &) |
| bool | setTarget (QObject *, const QQmlPropertyData &, const QQmlPropertyData *valueType) |
| bool | setTarget (QObject *, int coreIndex, bool coreIsAlias, int valueTypeIndex) |
| virtual void | setEnabled (bool e, QQmlPropertyData::WriteFlags f=QQmlPropertyData::DontRemoveBinding)=0 |
| void | addToObject () |
| Add this binding to object. | |
| void | removeFromObject () |
| Remove the binding from the object. | |
| QQmlAbstractBinding * | nextBinding () const |
| bool | canUseAccessor () const |
| void | setCanUseAccessor (bool canUseAccessor) |
Static Public Member Functions | |
| static void | printBindingLoopError (const QQmlProperty &prop) |
Public Attributes | |
| RefCount | ref |
Protected Member Functions | |
| QQmlAbstractBinding () | |
| void | setAddedToObject (bool v) |
| bool | isAddedToObject () const |
| void | setNextBinding (QQmlAbstractBinding *) |
| void | getPropertyData (const QQmlPropertyData **propertyData, QQmlPropertyData *valueTypeData) const |
| bool | updatingFlag () const |
| void | setUpdatingFlag (bool) |
| bool | enabledFlag () const |
| void | setEnabledFlag (bool) |
| void | updateCanUseAccessor () |
Protected Attributes | |
| QQmlPropertyIndex | m_targetIndex |
| QTaggedPointer< QObject, TargetTags > | m_target |
| QTaggedPointer< QQmlAbstractBinding, NextBindingTags > | m_nextBinding |
Friends | |
| class | QQmlAnyBinding |
| class | QQmlData |
| class | QQmlValueTypeProxyBinding |
| class | QQmlObjectCreator |
Definition at line 28 of file qqmlabstractbinding_p.h.
Definition at line 42 of file qqmlabstractbinding_p.h.
| Enumerator | |
|---|---|
| ValueTypeProxy | |
| QmlBinding | |
| PropertyToPropertyBinding | |
Definition at line 34 of file qqmlabstractbinding_p.h.
| Enumerator | |
|---|---|
| NoBindingTag | |
| AddedToObject | |
| CanUseAccessor | |
Definition at line 91 of file qqmlabstractbinding_p.h.
| Enumerator | |
|---|---|
| NoTargetTag | |
| UpdatingBinding | |
| BindingEnabled | |
Definition at line 84 of file qqmlabstractbinding_p.h.
|
protected |
Definition at line 13 of file qqmlabstractbinding.cpp.
References isAddedToObject(), and Q_ASSERT.
Here is the call graph for this function:
|
virtual |
Definition at line 19 of file qqmlabstractbinding.cpp.
References QTaggedPointer< T, Tag >::data(), QQmlAbstractBinding::RefCount::deref(), isAddedToObject(), m_nextBinding, Q_ASSERT, and ref.
Here is the call graph for this function:| void QQmlAbstractBinding::addToObject | ( | ) |
Add this binding to object.
This transfers ownership of the binding to the object, marks the object's property as being bound.
However, it does not enable the binding itself or call update() on it.
Definition at line 36 of file qqmlabstractbinding.cpp.
References QQmlPropertyIndex::coreIndex(), QQmlData::get(), isAddedToObject(), nextBinding(), proxy, Q_ASSERT, QQmlValueTypeProxyBinding, setAddedToObject(), setNextBinding(), targetObject(), targetPropertyIndex(), and ValueTypeProxy.
Referenced by QQmlPropertyPrivate::setBinding().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 70 of file qqmlabstractbinding_p.h.
Referenced by QQmlBinding::update(), and QQmlPropertyToPropertyBinding::update().
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 163 of file qqmlabstractbinding_p.h.
References BindingEnabled, m_target, and QTaggedPointer< T, Tag >::tag().
Referenced by QQmlPropertyToPropertyBinding::setEnabled(), QQmlBinding::setEnabled(), QQmlBinding::update(), and QQmlPropertyToPropertyBinding::update().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Reimplemented in QQmlBinding.
Definition at line 282 of file qqmlabstractbinding.cpp.
|
protected |
Definition at line 163 of file qqmlabstractbinding.cpp.
References QQmlPropertyIndex::coreIndex(), QTaggedPointer< T, Tag >::data(), QQmlPropertyData::flagsForProperty(), QQmlData::get(), QQmlPropertyIndex::hasValueTypeIndex(), m_target, m_targetIndex, QQmlMetaType::metaObjectForValueType(), QMetaProperty::metaType(), QMetaObject::property(), QQmlMetaType::propertyCache(), Q_ASSERT, Q_UNLIKELY, QQmlPropertyData::setCoreIndex(), QQmlPropertyData::setFlags(), QQmlPropertyData::setPropType(), and QQmlPropertyIndex::valueTypeIndex().
Referenced by QQmlTranslationBinding::doUpdate(), QQmlBinding::update(), QQmlPropertyToPropertyBinding::update(), GenericBinding< StaticPropType >::write(), QObjectPointerBinding::write(), GenericBinding< StaticPropType >::write(), and QObjectPointerBinding::write().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 134 of file qqmlabstractbinding_p.h.
References AddedToObject, m_nextBinding, and QTaggedPointer< T, Tag >::tag().
Referenced by QQmlAbstractBinding(), ~QQmlAbstractBinding(), addToObject(), QQmlBinding::doUpdate(), QQmlTranslationBinding::doUpdate(), and removeFromObject().
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
Implemented in QQmlBinding, QQmlPropertyToPropertyBinding, and QQmlValueTypeProxyBinding.
Referenced by QQmlPropertyPrivate::binding(), removeFromObject(), removeOldBinding(), and QQuickStateGroupPrivate::updateAutoState().
Here is the caller graph for this function:
|
inline |
Definition at line 139 of file qqmlabstractbinding_p.h.
References QTaggedPointer< T, Tag >::data(), and m_nextBinding.
Referenced by QQmlValueTypeProxyBinding::~QQmlValueTypeProxyBinding(), addToObject(), QQmlPropertyPrivate::binding(), QQmlValueTypeProxyBinding::binding(), QQmlData::destroyed(), QQmlData::flushPendingBinding(), QQmlValueTypeProxyBinding::removeBindings(), removeFromObject(), and removeOldBinding().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 158 of file qqmlabstractbinding.cpp.
References QString::arg(), QQmlProperty::name, QQmlProperty::object, and qmlWarning().
Referenced by QQmlBinding::update(), and QQmlPropertyToPropertyBinding::update().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQmlAbstractBinding::removeFromObject | ( | ) |
Remove the binding from the object.
Definition at line 92 of file qqmlabstractbinding.cpp.
References QQmlPropertyIndex::coreIndex(), QExplicitlySharedDataPointer< T >::data(), QQmlData::get(), QQmlPropertyIndex::hasValueTypeIndex(), isAddedToObject(), kind(), next, nextBinding(), Q_ASSERT, setAddedToObject(), setNextBinding(), targetObject(), targetPropertyIndex(), and ValueTypeProxy.
Referenced by QQmlObjectCreator::finalize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 129 of file qqmlabstractbinding_p.h.
Referenced by QQmlValueTypeProxyBinding::~QQmlValueTypeProxyBinding(), addToObject(), QQmlData::destroyed(), and removeFromObject().
Here is the caller graph for this function:
|
inline |
Definition at line 72 of file qqmlabstractbinding_p.h.
Referenced by updateCanUseAccessor().
Here is the caller graph for this function:
|
pure virtual |
Implemented in QQmlPropertyToPropertyBinding, QQmlBinding, and QQmlValueTypeProxyBinding.
Referenced by QQuickPropertyChanges::changeValue(), QQmlData::flushPendingBinding(), removeOldBinding(), QQmlPropertyPrivate::setBinding(), and QQmlValueTypeProxyBinding::setEnabled().
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 168 of file qqmlabstractbinding_p.h.
References BindingEnabled, m_target, QTaggedPointer< T, Tag >::setTag(), and QTaggedPointer< T, Tag >::tag().
Referenced by QQmlPropertyToPropertyBinding::setEnabled(), and QQmlBinding::setEnabled().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 144 of file qqmlabstractbinding_p.h.
References QTaggedPointer< T, Tag >::data(), QQmlAbstractBinding::RefCount::deref(), m_nextBinding, and ref.
Referenced by addToObject(), QQmlValueTypeProxyBinding::removeBindings(), and removeFromObject().
Here is the call graph for this function:
Here is the caller graph for this function:| void QQmlAbstractBinding::setTarget | ( | const QQmlProperty & | prop | ) |
Definition at line 197 of file qqmlabstractbinding.cpp.
References QQmlPropertyPrivate::get(), QQmlProperty::object, and setTarget().
Referenced by QQmlPropertyToPropertyBinding::QQmlPropertyToPropertyBinding(), QQmlCppBinding::createBindingForNonBindable(), QQmlCppBinding::createTranslationBindingForNonBindable(), QV4::QObjectWrapper::setProperty(), setTarget(), setTarget(), and QV4::QQmlValueTypeWrapper::virtualPut().
Here is the call graph for this function:
Here is the caller graph for this function:| bool QQmlAbstractBinding::setTarget | ( | QObject * | object, |
| const QQmlPropertyData & | core, | ||
| const QQmlPropertyData * | valueType | ||
| ) |
Definition at line 203 of file qqmlabstractbinding.cpp.
References QQmlPropertyData::coreIndex(), QQmlPropertyData::isAlias(), and setTarget().
Here is the call graph for this function:| bool QQmlAbstractBinding::setTarget | ( | QObject * | object, |
| int | coreIndex, | ||
| bool | coreIsAlias, | ||
| int | valueTypeIndex | ||
| ) |
Definition at line 227 of file qqmlabstractbinding.cpp.
References QQmlVMEMetaObject::aliasTarget(), QQmlPropertyData::coreIndex(), QTaggedPointer< T, Tag >::data(), QMetaType::flags(), QQmlData::get(), QQmlVMEMetaObject::getForProperty(), getObjectPropertyData(), QQmlPropertyData::isAlias(), m_target, m_targetIndex, QMetaType::PointerToQObject, QQmlMetaType::propertyCache(), QQmlPropertyData::propType(), and QQmlPropertyData::readProperty().
Here is the call graph for this function:
|
inlineprotected |
Definition at line 158 of file qqmlabstractbinding_p.h.
References m_target, QTaggedPointer< T, Tag >::setTag(), QTaggedPointer< T, Tag >::tag(), and UpdatingBinding.
Referenced by QQmlBinding::update(), and QQmlPropertyToPropertyBinding::update().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 55 of file qqmlabstractbinding_p.h.
Referenced by QQmlPropertyToPropertyBinding::QQmlPropertyToPropertyBinding(), addToObject(), GenericBinding< StaticPropType >::doStore(), QQmlTranslationBinding::doUpdate(), removeFromObject(), QQmlPropertyPrivate::setBinding(), QQmlBinding::update(), QQmlPropertyToPropertyBinding::update(), updateCanUseAccessor(), GenericBinding< StaticPropType >::write(), QObjectPointerBinding::write(), GenericBinding< StaticPropType >::write(), and QObjectPointerBinding::write().
Here is the caller graph for this function:
|
inline |
Definition at line 51 of file qqmlabstractbinding_p.h.
Referenced by QQmlPropertyToPropertyBinding::QQmlPropertyToPropertyBinding(), addToObject(), QQmlPropertyPrivate::binding(), QQmlValueTypeProxyBinding::binding(), QQmlValueTypeProxyBinding::removeBindings(), removeFromObject(), removeOldBinding(), and QQmlPropertyPrivate::setBinding().
Here is the caller graph for this function:
|
protected |
Definition at line 188 of file qqmlabstractbinding.cpp.
References QQmlInterceptorMetaObject::get(), QQmlPropertyIndex::isValid(), m_targetIndex, setCanUseAccessor(), and targetObject().
Referenced by QQmlPropertyToPropertyBinding::setEnabled(), and QQmlBinding::setEnabled().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 153 of file qqmlabstractbinding_p.h.
References m_target, QTaggedPointer< T, Tag >::tag(), and UpdatingBinding.
Referenced by QQmlBinding::update(), and QQmlPropertyToPropertyBinding::update().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Definition at line 30 of file qqmlabstractbinding_p.h.
|
friend |
Definition at line 99 of file qqmlabstractbinding_p.h.
|
friend |
Definition at line 101 of file qqmlabstractbinding_p.h.
|
friend |
Definition at line 100 of file qqmlabstractbinding_p.h.
Referenced by addToObject().
|
protected |
Definition at line 123 of file qqmlabstractbinding_p.h.
Referenced by ~QQmlAbstractBinding(), isAddedToObject(), nextBinding(), and setNextBinding().
|
protected |
Definition at line 120 of file qqmlabstractbinding_p.h.
Referenced by QQmlValueTypeProxyBinding::QQmlValueTypeProxyBinding(), QQmlBinding::dependencies(), QQmlBinding::doUpdate(), enabledFlag(), getPropertyData(), setEnabledFlag(), setTarget(), setUpdatingFlag(), QQmlBinding::slowWrite(), QQmlBinding::slowWrite(), updatingFlag(), and GenericBinding< StaticPropType >::write().
|
protected |
Definition at line 117 of file qqmlabstractbinding_p.h.
Referenced by QQmlValueTypeProxyBinding::QQmlValueTypeProxyBinding(), getPropertyData(), setTarget(), and updateCanUseAccessor().
| RefCount QQmlAbstractBinding::ref |
Definition at line 82 of file qqmlabstractbinding_p.h.
Referenced by ~QQmlAbstractBinding(), QQmlData::destroyed(), QQmlAnyBinding::operator=(), QQmlAnyBinding::operator=(), QQmlPropertyPrivate::setBinding(), and setNextBinding().