Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QObjectPointerBinding Class Reference
+ Inheritance diagram for QObjectPointerBinding:
+ Collaboration diagram for QObjectPointerBinding:

Public Member Functions

 QObjectPointerBinding (QMetaType propertyType)
 
- Public Member Functions inherited from QQmlBinding
Kind kind () const final
 
 ~QQmlBinding () override
 
bool mustCaptureBindableProperty () const final
 
void refresh () override
 
void setEnabled (bool, QQmlPropertyData::WriteFlags flags=QQmlPropertyData::DontRemoveBinding) override
 
QString expression () const override
 
void update (QQmlPropertyData::WriteFlags flags=QQmlPropertyData::DontRemoveBinding)
 
QVariant evaluate ()
 
bool evaluate (void *result, QMetaType type)
 
void expressionChanged () override
 
QQmlSourceLocation sourceLocation () const override
 
void setSourceLocation (const QQmlSourceLocation &location)
 
void setBoundFunction (QV4::BoundFunction *boundFunction)
 
bool hasBoundFunction () const
 
QVector< QQmlPropertydependencies () const
 
virtual bool hasDependencies () const
 
- Public Member Functions inherited from QQmlJavaScriptExpression
 QQmlJavaScriptExpression ()
 
virtual ~QQmlJavaScriptExpression ()
 
virtual QString expressionIdentifier () const
 
QV4::ReturnedValue evaluate (bool *isUndefined)
 
QV4::ReturnedValue evaluate (QV4::CallData *callData, bool *isUndefined)
 
bool evaluate (void **a, const QMetaType *types, int argc)
 
bool notifyOnValueChanged () const
 
void setNotifyOnValueChanged (bool v)
 
void resetNotifyOnValueChanged ()
 
QObjectscopeObject () const
 
void setScopeObject (QObject *v)
 
bool hasContext () const
 
bool hasValidContext () const
 
QQmlContextpublicContext () const
 
QQmlRefPointer< QQmlContextDatacontext () const
 
void setContext (const QQmlRefPointer< QQmlContextData > &context)
 
void insertIntoList (QQmlJavaScriptExpression **listHead)
 
QV4::Functionfunction () const
 
bool hasError () const
 
bool hasDelayedError () const
 
QQmlError error (QQmlEngine *) const
 
void clearError ()
 
void clearActiveGuards ()
 
QQmlDelayedErrordelayedError ()
 
QQmlEngineengine () const
 
bool hasUnresolvedNames () const
 
bool needsPropertyChangeTrigger (QObject *target, int propertyIndex)
 
QPropertyChangeTriggerallocatePropertyChangeTrigger (QObject *target, int propertyIndex)
 
- Public Member Functions inherited from QQmlAbstractBinding
virtual ~QQmlAbstractBinding ()
 
QQmlPropertyIndex targetPropertyIndex () const
 
QObjecttargetObject () const
 
void setTarget (const QQmlProperty &)
 
bool setTarget (QObject *, const QQmlPropertyData &, const QQmlPropertyData *valueType)
 
bool setTarget (QObject *, int coreIndex, bool coreIsAlias, int valueTypeIndex)
 
void addToObject ()
 Add this binding to object.
 
void removeFromObject ()
 Remove the binding from the object.
 
QQmlAbstractBindingnextBinding () const
 
bool canUseAccessor () const
 
void setCanUseAccessor (bool canUseAccessor)
 

Protected Member Functions

Q_ALWAYS_INLINE bool write (void *result, QMetaType type, bool isUndefined, QQmlPropertyData::WriteFlags flags) override final
 
Q_ALWAYS_INLINE bool write (const QV4::Value &result, bool isUndefined, QQmlPropertyData::WriteFlags flags) override final
 
- Protected Member Functions inherited from QQmlBinding
virtual void doUpdate (const DeleteWatcher &watcher, QQmlPropertyData::WriteFlags flags, QV4::Scope &scope)
 
int getPropertyType () const
 
bool slowWrite (const QQmlPropertyData &core, const QQmlPropertyData &valueTypeData, const QV4::Value &result, bool isUndefined, QQmlPropertyData::WriteFlags flags)
 
bool slowWrite (const QQmlPropertyData &core, const QQmlPropertyData &valueTypeData, const void *result, QMetaType resultType, bool isUndefined, QQmlPropertyData::WriteFlags flags)
 
QV4::ReturnedValue evaluate (bool *isUndefined)
 
- Protected Member Functions inherited from QQmlJavaScriptExpression
void createQmlBinding (const QQmlRefPointer< QQmlContextData > &ctxt, QObject *scope, const QString &code, const QString &filename, quint16 line)
 
void setupFunction (QV4::ExecutionContext *qmlContext, QV4::Function *f)
 
void setCompilationUnit (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit)
 
- Protected Member Functions inherited from QQmlAbstractBinding
 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 ()
 

Additional Inherited Members

- Public Types inherited from QQmlBinding
enum  { Invalid = -1 }
 
typedef QExplicitlySharedDataPointer< QQmlBindingPtr
 
typedef int Identifier
 
- Public Types inherited from QQmlAbstractBinding
enum  Kind { ValueTypeProxy , QmlBinding , PropertyToPropertyBinding }
 
enum  TargetTag { NoTargetTag = 0x0 , UpdatingBinding = 0x1 , BindingEnabled = 0x2 }
 
enum  NextBindingTag { NoBindingTag = 0x0 , AddedToObject = 0x1 , CanUseAccessor = 0x2 }
 
typedef QExplicitlySharedDataPointer< QQmlAbstractBindingPtr
 
- Static Public Member Functions inherited from QQmlBinding
static QQmlBindingcreate (const QQmlPropertyData *, const QQmlScriptString &, QObject *, QQmlContext *)
 
static QQmlBindingcreate (const QQmlPropertyData *, const QString &, QObject *, const QQmlRefPointer< QQmlContextData > &, const QString &url=QString(), quint16 lineNumber=0)
 
static QQmlBindingcreate (const QQmlPropertyData *property, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope)
 
static QQmlBindingcreate (QMetaType propertyType, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope)
 
static QQmlBindingcreateTranslationBinding (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt)
 
static QQmlBindingcreateTranslationBinding (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QQmlRefPointer< QQmlContextData > &ctxt, const QString &propertyName, const QQmlTranslation &translationData, const QQmlSourceLocation &location, QObject *obj)
 
- Static Public Member Functions inherited from QQmlJavaScriptExpression
static QV4::ReturnedValue evalFunction (const QQmlRefPointer< QQmlContextData > &ctxt, QObject *scope, const QString &code, const QString &filename, quint16 line)
 
- Static Public Member Functions inherited from QQmlAbstractBinding
static void printBindingLoopError (const QQmlProperty &prop)
 
- Public Attributes inherited from QQmlAbstractBinding
RefCount ref
 
- Protected Types inherited from QQmlJavaScriptExpression
enum  GuardTag { NoGuardTag , NotifyOnValueChanged }
 
enum  Tag { NoTag , InEvaluationLoop }
 
- Protected Attributes inherited from QQmlJavaScriptExpression
QBiPointer< QObject, DeleteWatcherm_scopeObject
 
QForwardFieldList< QQmlJavaScriptExpressionGuard, &QQmlJavaScriptExpressionGuard::next, GuardTagactiveGuards
 
QTaggedPointer< QQmlDelayedError, Tagm_error
 
TriggerListqpropertyChangeTriggers = nullptr
 
- Protected Attributes inherited from QQmlAbstractBinding
QQmlPropertyIndex m_targetIndex
 
QTaggedPointer< QObject, TargetTags > m_target
 
QTaggedPointer< QQmlAbstractBinding, NextBindingTags > m_nextBinding
 

Detailed Description

Definition at line 723 of file qqmlbinding.cpp.

Constructor & Destructor Documentation

◆ QObjectPointerBinding()

QObjectPointerBinding::QObjectPointerBinding ( QMetaType propertyType)
inline

Definition at line 728 of file qqmlbinding.cpp.

Member Function Documentation

◆ write() [1/2]

Q_ALWAYS_INLINE bool QObjectPointerBinding::write ( const QV4::Value & result,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
inlinefinaloverrideprotectedvirtual

Implements QQmlBinding.

Definition at line 772 of file qqmlbinding.cpp.

References QVariant::d, QVariant::Private::data, QQmlData::get(), QQmlAbstractBinding::getPropertyData(), Q_UNLIKELY, QQmlPropertyPrivate::rawMetaObjectForType(), QQmlAbstractBinding::targetObject(), variant, wrapper(), and QQmlPropertyData::writeProperty().

+ Here is the call graph for this function:

◆ write() [2/2]

Q_ALWAYS_INLINE bool QObjectPointerBinding::write ( void * result,
QMetaType type,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
inlinefinaloverrideprotectedvirtual

Implements QQmlBinding.

Definition at line 733 of file qqmlbinding.cpp.

References QQmlData::get(), QQmlAbstractBinding::getPropertyData(), QMetaType::IsPointer, QMetaType::PointerToQObject, Q_UNLIKELY, QQmlPropertyPrivate::rawMetaObjectForType(), QQmlAbstractBinding::targetObject(), and QQmlPropertyData::writeProperty().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: