Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQmlBinding Class Referenceabstract

#include <qqmlbinding_p.h>

+ Inheritance diagram for QQmlBinding:
+ Collaboration diagram for QQmlBinding:

Public Types

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
 

Public Member Functions

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)
 
void printBindingLoopError (const QQmlProperty &prop) override
 
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)
 

Static Public Member Functions

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)
 

Protected Member Functions

virtual void doUpdate (const DeleteWatcher &watcher, QQmlPropertyData::WriteFlags flags, QV4::Scope &scope)
 
virtual bool write (const QV4::Value &result, bool isUndefined, QQmlPropertyData::WriteFlags flags)=0
 
virtual bool write (void *result, QMetaType type, bool isUndefined, QQmlPropertyData::WriteFlags flags)=0
 
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 ()
 

Friends

class QQmlAbstractBinding
 

Additional Inherited Members

- 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 32 of file qqmlbinding_p.h.

Member Typedef Documentation

◆ Identifier

Definition at line 78 of file qqmlbinding_p.h.

◆ Ptr

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Invalid 

Definition at line 79 of file qqmlbinding_p.h.

Constructor & Destructor Documentation

◆ ~QQmlBinding()

QQmlBinding::~QQmlBinding ( )
override

Definition at line 128 of file qqmlbinding.cpp.

Member Function Documentation

◆ create() [1/4]

QT_BEGIN_NAMESPACE QQmlBinding * QQmlBinding::create ( const QQmlPropertyData * property,
const QQmlScriptString & script,
QObject * obj,
QQmlContext * ctxt )
static

Definition at line 36 of file qqmlbinding.cpp.

◆ create() [2/4]

QQmlBinding * QQmlBinding::create ( const QQmlPropertyData * property,
const QString & str,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
const QString & url = QString(),
quint16 lineNumber = 0 )
static

Definition at line 90 of file qqmlbinding.cpp.

◆ create() [3/4]

QQmlBinding * QQmlBinding::create ( const QQmlPropertyData * property,
QV4::Function * function,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
QV4::ExecutionContext * scope )
static

Definition at line 105 of file qqmlbinding.cpp.

◆ create() [4/4]

QQmlBinding * QQmlBinding::create ( QMetaType propertyType,
QV4::Function * function,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
QV4::ExecutionContext * scope )
static

Definition at line 112 of file qqmlbinding.cpp.

◆ createTranslationBinding() [1/2]

QQmlBinding * QQmlBinding::createTranslationBinding ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & unit,
const QQmlRefPointer< QQmlContextData > & ctxt,
const QString & propertyName,
const QQmlTranslation & translationData,
const QQmlSourceLocation & location,
QObject * obj )
static

Definition at line 400 of file qqmlbinding.cpp.

◆ createTranslationBinding() [2/2]

QQmlBinding * QQmlBinding::createTranslationBinding ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & unit,
const QV4::CompiledData::Binding * binding,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt )
static

Definition at line 380 of file qqmlbinding.cpp.

◆ dependencies()

QVector< QQmlProperty > QQmlBinding::dependencies ( ) const

This method returns a snapshot of the currently tracked dependencies of this binding. The dependencies can change upon reevaluation. This method is used in GammaRay to visualize binding hierarchies.

Call this method from the UI thread.

Definition at line 641 of file qqmlbinding.cpp.

◆ doUpdate()

void QQmlBinding::doUpdate ( const DeleteWatcher & watcher,
QQmlPropertyData::WriteFlags flags,
QV4::Scope & scope )
protectedvirtual

Reimplemented in QQmlTranslationBinding, and QQmlTranslationBinding.

Definition at line 681 of file qqmlbinding.cpp.

◆ evaluate() [1/3]

QVariant QQmlBinding::evaluate ( )

Definition at line 599 of file qqmlbinding.cpp.

◆ evaluate() [2/3]

QV4::ReturnedValue QQmlBinding::evaluate ( bool * isUndefined)
protected

Definition at line 177 of file qqmlbinding.cpp.

◆ evaluate() [3/3]

bool QQmlBinding::evaluate ( void * result,
QMetaType type )
inline

Definition at line 84 of file qqmlbinding_p.h.

◆ expression()

QString QQmlBinding::expression ( ) const
overridevirtual

Reimplemented from QQmlAbstractBinding.

Definition at line 636 of file qqmlbinding.cpp.

◆ expressionChanged()

void QQmlBinding::expressionChanged ( )
overridevirtual

Implements QQmlJavaScriptExpression.

Definition at line 615 of file qqmlbinding.cpp.

◆ getPropertyType()

int QQmlBinding::getPropertyType ( ) const
protected

◆ hasBoundFunction()

bool QQmlBinding::hasBoundFunction ( ) const
inline

Definition at line 96 of file qqmlbinding_p.h.

◆ hasDependencies()

bool QQmlBinding::hasDependencies ( ) const
virtual

Reimplemented in QQmlTranslationBinding, and QQmlTranslationBinding.

Definition at line 676 of file qqmlbinding.cpp.

◆ kind()

Kind QQmlBinding::kind ( ) const
inlinefinalvirtual

Implements QQmlAbstractBinding.

Definition at line 65 of file qqmlbinding_p.h.

◆ mustCaptureBindableProperty()

bool QQmlBinding::mustCaptureBindableProperty ( ) const
inlinefinalvirtual

Reimplemented from QQmlJavaScriptExpression.

Definition at line 69 of file qqmlbinding_p.h.

◆ printBindingLoopError()

void QQmlBinding::printBindingLoopError ( const QQmlProperty & prop)
overridevirtual

Reimplemented from QQmlAbstractBinding.

Definition at line 171 of file qqmlbinding.cpp.

◆ refresh()

void QQmlBinding::refresh ( )
overridevirtual

Reimplemented from QQmlJavaScriptExpression.

Definition at line 620 of file qqmlbinding.cpp.

◆ setBoundFunction()

void QQmlBinding::setBoundFunction ( QV4::BoundFunction * boundFunction)
inline

Definition at line 93 of file qqmlbinding_p.h.

◆ setEnabled()

void QQmlBinding::setEnabled ( bool e,
QQmlPropertyData::WriteFlags flags = QQmlPropertyData::DontRemoveBinding )
overridevirtual

Implements QQmlAbstractBinding.

Definition at line 625 of file qqmlbinding.cpp.

◆ setSourceLocation()

void QQmlBinding::setSourceLocation ( const QQmlSourceLocation & location)

Definition at line 82 of file qqmlbinding.cpp.

◆ slowWrite() [1/2]

Q_NEVER_INLINE bool QQmlBinding::slowWrite ( const QQmlPropertyData & core,
const QQmlPropertyData & valueTypeData,
const QV4::Value & result,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
protected

Definition at line 480 of file qqmlbinding.cpp.

◆ slowWrite() [2/2]

bool QQmlBinding::slowWrite ( const QQmlPropertyData & core,
const QQmlPropertyData & valueTypeData,
const void * result,
QMetaType resultType,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
protected

Definition at line 428 of file qqmlbinding.cpp.

◆ sourceLocation()

◆ update()

void QQmlBinding::update ( QQmlPropertyData::WriteFlags flags = QQmlPropertyData::DontRemoveBinding)

Definition at line 133 of file qqmlbinding.cpp.

◆ write() [1/2]

virtual bool QQmlBinding::write ( const QV4::Value & result,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
protectedpure virtual

◆ write() [2/2]

virtual bool QQmlBinding::write ( void * result,
QMetaType type,
bool isUndefined,
QQmlPropertyData::WriteFlags flags )
protectedpure virtual

Friends And Related Symbol Documentation

◆ QQmlAbstractBinding

friend class QQmlAbstractBinding
friend

Definition at line 35 of file qqmlbinding_p.h.


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