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
QQmlPropertyBinding Class Reference

#include <qqmlpropertybinding_p.h>

+ Inheritance diagram for QQmlPropertyBinding:
+ Collaboration diagram for QQmlPropertyBinding:

Public Member Functions

QQmlPropertyBindingJSjsExpression ()
 
QQmlPropertyBindingJS const * jsExpression () const
 
bool hasDependencies ()
 
- Public Member Functions inherited from QPropertyBindingPrivate
bool isUpdating ()
 
void setSticky (bool keep=true)
 
bool isSticky ()
 
void scheduleNotify ()
 
 QPropertyBindingPrivate (QMetaType metaType, const QtPrivate::BindingFunctionVTable *vtable, const QPropertyBindingSourceLocation &location, bool isQQmlPropertyBinding=false)
 
 ~QPropertyBindingPrivate ()
 
void setProperty (QUntypedPropertyData *propertyPtr)
 
void setStaticObserver (QtPrivate::QPropertyObserverCallback callback, QtPrivate::QPropertyBindingWrapper bindingWrapper)
 
void prependObserver (QPropertyObserverPointer observer)
 
QPropertyObserverPointer takeObservers ()
 
void clearDependencyObservers ()
 
Q_ALWAYS_INLINE QPropertyObserverPointer allocateDependencyObserver ()
 
QPropertyObserverPointer allocateDependencyObserver_slow ()
 
QPropertyBindingSourceLocation sourceLocation () const
 
QPropertyBindingError bindingError () const
 
QMetaType valueMetaType () const
 
void unlinkAndDeref ()
 
bool evaluateRecursive (PendingBindingObserverList &bindingObservers, QBindingStatus *status=nullptr)
 
bool Q_ALWAYS_INLINE evaluateRecursive_inline (PendingBindingObserverList &bindingObservers, QBindingStatus *status)
 
void notifyNonRecursive (const PendingBindingObserverList &bindingObservers)
 
NotificationState notifyNonRecursive ()
 
void setError (QPropertyBindingError &&e)
 
void detachFromProperty ()
 
bool hasCustomVTable () const
 
- Public Member Functions inherited from QtPrivate::RefCounted
int refCount () const
 
void addRef ()
 
bool deref ()
 

Static Public Member Functions

static QUntypedPropertyBinding create (const QQmlPropertyData *pd, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope, QObject *target, QQmlPropertyIndex targetIndex)
 
static QUntypedPropertyBinding create (QMetaType propertyType, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope, QObject *target, QQmlPropertyIndex targetIndex)
 
static QUntypedPropertyBinding createFromCodeString (const QQmlPropertyData *property, const QString &str, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, const QString &url, quint16 lineNumber, QObject *target, QQmlPropertyIndex targetIndex)
 
static QUntypedPropertyBinding createFromScriptString (const QQmlPropertyData *property, const QQmlScriptString &script, QObject *obj, QQmlContext *ctxt, QObject *target, QQmlPropertyIndex targetIndex)
 
static QUntypedPropertyBinding createFromBoundFunction (const QQmlPropertyData *pd, QV4::BoundFunction *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope, QObject *target, QQmlPropertyIndex targetIndex)
 
static bool isUndefined (const QUntypedPropertyBinding &binding)
 
static bool isUndefined (const QPropertyBindingPrivate *binding)
 
template<QMetaType::Type type>
static bool doEvaluate (QMetaType metaType, QUntypedPropertyData *dataPtr, void *f)
 
- Static Public Member Functions inherited from QPropertyBindingPrivate
static constexpr size_t getSizeEnsuringAlignment ()
 
static QPropertyBindingPrivateget (const QUntypedPropertyBinding &binding)
 
static QPropertyBindingPrivatecurrentlyEvaluatingBinding ()
 
static void destroyAndFreeMemory (QPropertyBindingPrivate *priv)
 

Friends

class QQmlPropertyBindingJS
 

Additional Inherited Members

- Public Types inherited from QPropertyBindingPrivate
enum  NotificationState : bool { Delayed , Sent }
 
- Public Attributes inherited from QPropertyBindingPrivate
size_t dependencyObserverCount = 0
 
- Protected Types inherited from QPropertyBindingPrivate
using DeclarativeErrorCallback = void(*)(QPropertyBindingPrivate *)
 
- Protected Attributes inherited from QPropertyBindingPrivate
QUntypedPropertyDatapropertyDataPtr = nullptr
 
union { 
 
   QPropertyBindingSourceLocation   location 
 
   struct { 
 
      std::byte   declarativeExtraData [sizeof(QPropertyBindingSourceLocation)
         - sizeof(DeclarativeErrorCallback)] 
 
      DeclarativeErrorCallback   errorCallBack 
 
   }  
 
};  
 

Detailed Description

Definition at line 57 of file qqmlpropertybinding_p.h.

Member Function Documentation

◆ create() [1/2]

QUntypedPropertyBinding QQmlPropertyBinding::create ( const QQmlPropertyData * pd,
QV4::Function * function,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
QV4::ExecutionContext * scope,
QObject * target,
QQmlPropertyIndex targetIndex )
static

Definition at line 23 of file qqmlpropertybinding.cpp.

References create(), QQmlPropertyData::propType(), and Q_ASSERT.

Referenced by QQmlCppBinding::createBindingForBindable(), QQmlAnyBinding::createFromFunction(), and QV4::QObjectWrapper::setProperty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create() [2/2]

QUntypedPropertyBinding QQmlPropertyBinding::create ( QMetaType propertyType,
QV4::Function * function,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
QV4::ExecutionContext * scope,
QObject * target,
QQmlPropertyIndex targetIndex )
static

Definition at line 31 of file qqmlpropertybinding.cpp.

References QPropertyBindingPrivate::getSizeEnsuringAlignment(), Q_ASSERT, Q_UNUSED, QPropertyBindingPrivate::QPropertyBindingPrivatePtr, and QQmlPropertyBindingJS.

+ Here is the call graph for this function:

◆ createFromBoundFunction()

QUntypedPropertyBinding QQmlPropertyBinding::createFromBoundFunction ( const QQmlPropertyData * pd,
QV4::BoundFunction * function,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
QV4::ExecutionContext * scope,
QObject * target,
QQmlPropertyIndex targetIndex )
static

Definition at line 105 of file qqmlpropertybinding.cpp.

References QPropertyBindingPrivate::getSizeEnsuringAlignment(), QQmlPropertyData::propType(), Q_ASSERT, Q_UNUSED, and QPropertyBindingPrivate::QPropertyBindingPrivatePtr.

Referenced by QV4::QObjectWrapper::setProperty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createFromCodeString()

QUntypedPropertyBinding QQmlPropertyBinding::createFromCodeString ( const QQmlPropertyData * property,
const QString & str,
QObject * obj,
const QQmlRefPointer< QQmlContextData > & ctxt,
const QString & url,
quint16 lineNumber,
QObject * target,
QQmlPropertyIndex targetIndex )
static

Definition at line 52 of file qqmlpropertybinding.cpp.

References QPropertyBindingPrivate::getSizeEnsuringAlignment(), QQmlPropertyData::propType(), Q_ASSERT, Q_UNUSED, QPropertyBindingPrivate::QPropertyBindingPrivatePtr, QQmlPropertyBindingJS, str, and url.

Referenced by QQmlAnyBinding::createFromCodeString(), and createFromScriptString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createFromScriptString()

QUntypedPropertyBinding QQmlPropertyBinding::createFromScriptString ( const QQmlPropertyData * property,
const QQmlScriptString & script,
QObject * obj,
QQmlContext * ctxt,
QObject * target,
QQmlPropertyIndex targetIndex )
static

Definition at line 67 of file qqmlpropertybinding.cpp.

References QV4::QmlContext::create(), createFromCodeString(), QSharedDataPointer< T >::data(), engine, QQmlContextData::get(), QQmlEnginePrivate::get(), QPropertyBindingPrivate::getSizeEnsuringAlignment(), QQmlBinding::Invalid, property, Q_ASSERT, qmlContext(), QPropertyBindingPrivate::QPropertyBindingPrivatePtr, QQmlPropertyBindingJS, QV4::ExecutionEngine::rootContext(), and url.

Referenced by QQmlAnyBinding::createFromScriptString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doEvaluate()

template<QMetaType::Type type>
static bool QQmlPropertyBinding::doEvaluate ( QMetaType metaType,
QUntypedPropertyData * dataPtr,
void * f )
inlinestatic

Definition at line 120 of file qqmlpropertybinding_p.h.

References QPropertyBindingPrivate::getSizeEnsuringAlignment().

+ Here is the call graph for this function:

◆ hasDependencies()

bool QQmlPropertyBinding::hasDependencies ( )
inline

Definition at line 127 of file qqmlpropertybinding_p.h.

◆ isUndefined() [1/2]

static bool QQmlPropertyBinding::isUndefined ( const QPropertyBindingPrivate * binding)
inlinestatic

Definition at line 112 of file qqmlpropertybinding_p.h.

References QPropertyBindingPrivate::hasCustomVTable().

+ Here is the call graph for this function:

◆ isUndefined() [2/2]

static bool QQmlPropertyBinding::isUndefined ( const QUntypedPropertyBinding & binding)
inlinestatic

Definition at line 107 of file qqmlpropertybinding_p.h.

References QPropertyBindingPrivate::get().

+ Here is the call graph for this function:

◆ jsExpression() [1/2]

QQmlPropertyBindingJS * QQmlPropertyBinding::jsExpression ( )
inline

Definition at line 71 of file qqmlpropertybinding_p.h.

Referenced by QQmlObjectCreator::finalize().

+ Here is the caller graph for this function:

◆ jsExpression() [2/2]

QQmlPropertyBindingJS const * QQmlPropertyBinding::jsExpression ( ) const
inline

Definition at line 76 of file qqmlpropertybinding_p.h.

References QPropertyBindingPrivate::getSizeEnsuringAlignment().

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QQmlPropertyBindingJS

friend class QQmlPropertyBindingJS
friend

Definition at line 60 of file qqmlpropertybinding_p.h.

Referenced by create(), createFromCodeString(), and createFromScriptString().


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