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

#include <qproperty_p.h>

+ Inheritance diagram for QPropertyBindingPrivate:
+ Collaboration diagram for QPropertyBindingPrivate:

Public Types

enum  NotificationState : bool { Delayed , Sent }
 

Public Member Functions

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 constexpr size_t getSizeEnsuringAlignment ()
 
static QPropertyBindingPrivateget (const QUntypedPropertyBinding &binding)
 
static QPropertyBindingPrivatecurrentlyEvaluatingBinding ()
 
static void destroyAndFreeMemory (QPropertyBindingPrivate *priv)
 

Public Attributes

size_t dependencyObserverCount = 0
 

Protected Types

using DeclarativeErrorCallback = void(*)(QPropertyBindingPrivate *)
 

Protected Attributes

QUntypedPropertyDatapropertyDataPtr = nullptr
 
union { 
 
   QPropertyBindingSourceLocation   location 
 
   struct { 
 
      std::byte   declarativeExtraData [sizeof(QPropertyBindingSourceLocation)
         - sizeof(DeclarativeErrorCallback)] 
 
      DeclarativeErrorCallback   errorCallBack 
 
   }  
 
};  
 

Friends

struct QPropertyBindingDataPointer
 
class QPropertyBindingPrivatePtr
 

Detailed Description

Definition at line 264 of file qproperty_p.h.

Member Typedef Documentation

◆ DeclarativeErrorCallback

Member Enumeration Documentation

◆ NotificationState

Enumerator
Delayed 
Sent 

Definition at line 413 of file qproperty_p.h.

Constructor & Destructor Documentation

◆ QPropertyBindingPrivate()

QPropertyBindingPrivate::QPropertyBindingPrivate ( QMetaType metaType,
const QtPrivate::BindingFunctionVTable * vtable,
const QPropertyBindingSourceLocation & location,
bool isQQmlPropertyBinding = false )
inline

Definition at line 339 of file qproperty_p.h.

◆ ~QPropertyBindingPrivate()

QPropertyBindingPrivate::~QPropertyBindingPrivate ( )

Definition at line 282 of file qproperty.cpp.

References QtPrivate::BindingFunctionVTable::destroy, getSizeEnsuringAlignment(), QtPrivate::BindingFunctionVTable::size, and QPropertyObserverPointer::unlink().

+ Here is the call graph for this function:

Member Function Documentation

◆ allocateDependencyObserver()

Q_ALWAYS_INLINE QPropertyObserverPointer QPropertyBindingPrivate::allocateDependencyObserver ( )
inline

Definition at line 384 of file qproperty_p.h.

◆ allocateDependencyObserver_slow()

QPropertyObserverPointer QPropertyBindingPrivate::allocateDependencyObserver_slow ( )

Definition at line 301 of file qproperty.cpp.

References dependencyObserverCount.

◆ bindingError()

QPropertyBindingError QPropertyBindingPrivate::bindingError ( ) const
inline

Definition at line 403 of file qproperty_p.h.

References error.

◆ clearDependencyObservers()

void QPropertyBindingPrivate::clearDependencyObservers ( )

Definition at line 291 of file qproperty.cpp.

References dependencyObserverCount, i, and qMin().

Referenced by QtPrivate::BindingEvaluationState::BindingEvaluationState(), and unlinkAndDeref().

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

◆ currentlyEvaluatingBinding()

QPropertyBindingPrivate * QPropertyBindingPrivate::currentlyEvaluatingBinding ( )
static

Definition at line 565 of file qproperty.cpp.

References bindingStatus.

◆ destroyAndFreeMemory()

static void QPropertyBindingPrivate::destroyAndFreeMemory ( QPropertyBindingPrivate * priv)
inlinestatic

Definition at line 437 of file qproperty_p.h.

References priv().

Referenced by QBindingObserverPtr::~QBindingObserverPtr(), QPropertyBindingPrivatePtr::destroyAndFreeMemory(), QPropertyBindingPrivatePtr::reset(), and unlinkAndDeref().

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

◆ detachFromProperty()

void QPropertyBindingPrivate::detachFromProperty ( )
inline

Definition at line 422 of file qproperty_p.h.

◆ evaluateRecursive()

bool QPropertyBindingPrivate::evaluateRecursive ( PendingBindingObserverList & bindingObservers,
QBindingStatus * status = nullptr )

Definition at line 317 of file qproperty.cpp.

References bindingStatus, and evaluateRecursive_inline().

+ Here is the call graph for this function:

◆ evaluateRecursive_inline()

bool QPropertyBindingPrivate::evaluateRecursive_inline ( PendingBindingObserverList & bindingObservers,
QBindingStatus * status )
inline

Definition at line 834 of file qproperty_p.h.

References QPropertyBindingError::BindingLoop, error, and getSizeEnsuringAlignment().

Referenced by evaluateRecursive().

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

◆ get()

static QPropertyBindingPrivate * QPropertyBindingPrivate::get ( const QUntypedPropertyBinding & binding)
inlinestatic

Definition at line 416 of file qproperty_p.h.

References QPropertyBindingPrivatePtr::data().

Referenced by BindingFixer::BindingFixer(), BindingFixer::~BindingFixer(), UntypedProxyProperty::bindingSetter(), QQmlObjectCreator::finalize(), QQmlPropertyBinding::isUndefined(), QQmlAnyBinding::operator=(), and QQmlAnyBinding::operator=().

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

◆ getSizeEnsuringAlignment()

static constexpr size_t QPropertyBindingPrivate::getSizeEnsuringAlignment ( )
inlinestaticconstexpr

◆ hasCustomVTable()

bool QPropertyBindingPrivate::hasCustomVTable ( ) const
inline

Definition at line 432 of file qproperty_p.h.

References QtPrivate::BindingFunctionVTable::size.

Referenced by QQmlPropertyBinding::isUndefined().

+ Here is the caller graph for this function:

◆ isSticky()

bool QPropertyBindingPrivate::isSticky ( )
inline

Definition at line 336 of file qproperty_p.h.

◆ isUpdating()

bool QPropertyBindingPrivate::isUpdating ( )
inline

Definition at line 334 of file qproperty_p.h.

◆ notifyNonRecursive() [1/2]

QPropertyBindingPrivate::NotificationState QPropertyBindingPrivate::notifyNonRecursive ( )

Definition at line 332 of file qproperty.cpp.

References Delayed, QPropertyObserverPointer::noSelfDependencies(), QPropertyObserverPointer::notify(), propertyDataPtr, Q_ASSERT, Sent, and staticObserverCallback.

Referenced by notifyNonRecursive().

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

◆ notifyNonRecursive() [2/2]

void QPropertyBindingPrivate::notifyNonRecursive ( const PendingBindingObserverList & bindingObservers)

Definition at line 324 of file qproperty.cpp.

References notifyNonRecursive().

Referenced by QProperty< T >::endPropertyUpdateGroup().

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

◆ prependObserver()

void QPropertyBindingPrivate::prependObserver ( QPropertyObserverPointer observer)
inline

Definition at line 369 of file qproperty_p.h.

References QPropertyObserverPointer::ptr.

◆ scheduleNotify()

void QPropertyBindingPrivate::scheduleNotify ( )
inline

Definition at line 337 of file qproperty_p.h.

◆ setError()

void QPropertyBindingPrivate::setError ( QPropertyBindingError && e)
inline

Definition at line 419 of file qproperty_p.h.

References error.

◆ setProperty()

void QPropertyBindingPrivate::setProperty ( QUntypedPropertyData * propertyPtr)
inline

Definition at line 351 of file qproperty_p.h.

Referenced by QtPrivate::QPropertyBindingData::setBinding().

+ Here is the caller graph for this function:

◆ setStaticObserver()

void QPropertyBindingPrivate::setStaticObserver ( QtPrivate::QPropertyObserverCallback callback,
QtPrivate::QPropertyBindingWrapper bindingWrapper )
inline

Definition at line 352 of file qproperty_p.h.

References Q_ASSERT.

◆ setSticky()

void QPropertyBindingPrivate::setSticky ( bool keep = true)
inline

Definition at line 335 of file qproperty_p.h.

◆ sourceLocation()

QPropertyBindingSourceLocation QPropertyBindingPrivate::sourceLocation ( ) const
inline

Definition at line 394 of file qproperty_p.h.

References QPropertyBindingSourceLocation::fileName.

◆ takeObservers()

QPropertyObserverPointer QPropertyBindingPrivate::takeObservers ( )
inline

Definition at line 375 of file qproperty_p.h.

References QPropertyObserverPointer::ptr.

◆ unlinkAndDeref()

void QPropertyBindingPrivate::unlinkAndDeref ( )

Definition at line 309 of file qproperty.cpp.

References clearDependencyObservers(), QtPrivate::RefCounted::deref(), destroyAndFreeMemory(), and propertyDataPtr.

Referenced by QtPrivate::QPropertyBindingData::~QPropertyBindingData().

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

◆ valueMetaType()

QMetaType QPropertyBindingPrivate::valueMetaType ( ) const
inline

Definition at line 404 of file qproperty_p.h.

Friends And Related Symbol Documentation

◆ QPropertyBindingDataPointer

friend struct QPropertyBindingDataPointer
friend

Definition at line 267 of file qproperty_p.h.

◆ QPropertyBindingPrivatePtr

Member Data Documentation

◆ [union]

union { ... } QPropertyBindingPrivate

◆ declarativeExtraData

std::byte QPropertyBindingPrivate::declarativeExtraData[sizeof(QPropertyBindingSourceLocation) - sizeof(DeclarativeErrorCallback)]

Definition at line 312 of file qproperty_p.h.

◆ dependencyObserverCount

size_t QPropertyBindingPrivate::dependencyObserverCount = 0

Definition at line 332 of file qproperty_p.h.

Referenced by allocateDependencyObserver_slow(), and clearDependencyObservers().

◆ errorCallBack

DeclarativeErrorCallback QPropertyBindingPrivate::errorCallBack

Definition at line 313 of file qproperty_p.h.

◆ location

QPropertyBindingSourceLocation QPropertyBindingPrivate::location

Definition at line 310 of file qproperty_p.h.

◆ propertyDataPtr

QUntypedPropertyData* QPropertyBindingPrivate::propertyDataPtr = nullptr
protected

Definition at line 299 of file qproperty_p.h.

Referenced by notifyNonRecursive(), and unlinkAndDeref().

◆ staticBindingWrapper

QtPrivate::QPropertyBindingWrapper QPropertyBindingPrivate::staticBindingWrapper

Definition at line 291 of file qproperty_p.h.

◆ staticObserverCallback

QtPrivate::QPropertyObserverCallback QPropertyBindingPrivate::staticObserverCallback = nullptr

Definition at line 290 of file qproperty_p.h.

Referenced by notifyNonRecursive().


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