![]() |
Qt 6.x
The Qt SDK
|
#include <qqmldata_p.h>
Classes | |
struct | DeferredData |
struct | NotifyList |
Public Types | |
enum | Ownership { DoesNotOwnMemory , OwnsMemory } |
enum | { BitsPerType = sizeof(BindingBitsType) * 8 , InlineBindingArraySize = 2 } |
typedef quintptr | BindingBitsType |
Public Member Functions | |
QQmlData (Ownership ownership) | |
~QQmlData () | |
void | destroyed (QObject *) |
void | setImplicitDestructible () |
QQmlNotifierEndpoint * | notify (int index) |
void | addNotify (int index, QQmlNotifierEndpoint *) |
int | endpointCount (int index) |
bool | signalHasEndpoint (int index) const |
void | disconnectNotifiers () |
bool | hasBindingBit (int) const |
void | setBindingBit (QObject *obj, int) |
void | clearBindingBit (int) |
bool | hasPendingBindingBit (int index) const |
void | setPendingBindingBit (QObject *obj, int) |
void | clearPendingBindingBit (int) |
void | deferData (int objectIndex, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &, const QQmlRefPointer< QQmlContextData > &) |
void | releaseDeferredData () |
bool | hasExtendedData () const |
QHash< QQmlAttachedPropertiesFunc, QObject * > * | attachedProperties () const |
void | flushPendingBinding (int coreIndex) |
Additional Inherited Members | |
![]() | |
static void(* | destroyed )(QAbstractDeclarativeData *, QObject *) = nullptr |
static void(* | signalEmitted )(QAbstractDeclarativeData *, QObject *, int, void **) = nullptr |
static int(* | receivers )(QAbstractDeclarativeData *, const QObject *, int) = nullptr |
static bool(* | isSignalConnected )(QAbstractDeclarativeData *, const QObject *, int) = nullptr |
static void(* | setWidgetParent )(QObject *, QObject *) = nullptr |
Definition at line 55 of file qqmldata_p.h.
typedef quintptr QQmlData::BindingBitsType |
Definition at line 116 of file qqmldata_p.h.
anonymous enum |
Enumerator | |
---|---|
BitsPerType | |
InlineBindingArraySize |
Definition at line 117 of file qqmldata_p.h.
enum QQmlData::Ownership |
Enumerator | |
---|---|
DoesNotOwnMemory | |
OwnsMemory |
Definition at line 58 of file qqmldata_p.h.
QQmlData::QQmlData | ( | Ownership | ownership | ) |
Definition at line 258 of file qqmlengine.cpp.
References bindingBitsValue, and init().
QQmlData::~QQmlData | ( | ) |
Definition at line 268 of file qqmlengine.cpp.
Referenced by destroyed().
void QQmlData::addNotify | ( | int | index, |
QQmlNotifierEndpoint * | endpoint | ||
) |
Definition at line 1355 of file qqmlengine.cpp.
References QQmlData::NotifyList::connectionMask, QQmlNotifierEndpoint::isConnected(), QQmlData::NotifyList::maximumTodoIndex, QQmlData::NotifyList::notifies, QQmlData::NotifyList::notifiesSize, notifyList, Q_ASSERT, qMax(), qMin(), and QQmlData::NotifyList::todo.
Referenced by QQmlNotifierEndpoint::connect().
QHash< QQmlAttachedPropertiesFunc, QObject * > * QQmlData::attachedProperties | ( | ) | const |
Definition at line 1403 of file qqmlengine.cpp.
References QQmlDataExtended::attachedProperties.
|
inlinestatic |
Definition at line 261 of file qqmldata_p.h.
|
inline |
Definition at line 364 of file qqmldata_p.h.
References Q_ASSERT.
|
inline |
Definition at line 386 of file qqmldata_p.h.
References Q_ASSERT.
Referenced by flushPendingBinding().
void QQmlData::deferData | ( | int | objectIndex, |
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & | compilationUnit, | ||
const QQmlRefPointer< QQmlContextData > & | context | ||
) |
Definition at line 1319 of file qqmlengine.cpp.
References QList< T >::at(), QV4::ExecutableCompilationUnit::bindingPropertyDataPerObject, QV4::CompiledData::Object::bindingTable(), compilationUnit, context, deferData(), deferredData, QV4::CompiledData::Binding::hasFlag(), i, QV4::CompiledData::Binding::IsDeferredBinding, QV4::CompiledData::Object::nBindings, QV4::ExecutableCompilationUnit::objectAt(), and property.
Referenced by deferData(), and releaseDeferredData().
|
static |
Definition at line 272 of file qqmlengine.cpp.
References d, destroyed(), and o.
Referenced by destroyed().
Definition at line 1409 of file qqmlengine.cpp.
References ~QQmlData(), QString::append(), arg, bindingBits, bindingBitsArraySize, bindings, QV4::WeakValue::clear(), compilationUnit, deferredData, QQmlAbstractBinding::RefCount::deref(), disconnectNotifiers(), QQmlBoundSignalExpression::expression(), QQmlBoundSignal::expression(), guards, InlineBindingArraySize, QQmlNotifierEndpoint::isNotifying(), jsWrapper, next, QQmlAbstractBinding::nextBinding(), nextContextObject, outerContext, ownContext, QQmlContextData::ownedObjects(), ownMemory, prevContextObject, propertyCache, qDeleteAll(), qFatal, qPrintable, QStringLiteral, QQmlAbstractBinding::ref, QQmlRefPointer< T >::reset(), QQmlAbstractBinding::setAddedToObject(), QQmlGuardImpl::setObject(), QQmlContextData::setOwnedObjects(), signalHandlers, QQmlSourceLocation::sourceFile, QQmlJavaScriptExpression::sourceLocation(), and QString::truncate().
void QQmlData::disconnectNotifiers | ( | ) |
Definition at line 1388 of file qqmlengine.cpp.
References QQmlNotifierEndpoint::disconnect(), QQmlData::NotifyList::notifies, QQmlData::NotifyList::notifiesSize, notifyList, and QQmlData::NotifyList::todo.
Referenced by destroyed(), and QV4::QObjectWrapper::destroyObject().
int QQmlData::endpointCount | ( | int | index | ) |
Definition at line 370 of file qqmlengine.cpp.
References notify().
Referenced by receivers().
|
inlinestatic |
Definition at line 252 of file qqmldata_p.h.
References get(), propertyCache, and Q_LIKELY.
Referenced by QQmlComponentPrivate::beginCreate(), QV4::QObjectWrapper::create(), QQmlEnginePrivate::singletonInstance(), and QQmlVMEMetaObjectEndpoint::tryConnect().
void QQmlData::flushPendingBinding | ( | int | coreIndex | ) |
Definition at line 422 of file qqmlengine.cpp.
References bindings, QQmlPropertyData::BypassInterceptor, clearPendingBindingBit(), QQmlPropertyData::DontRemoveBinding, QQmlAbstractBinding::nextBinding(), and QQmlAbstractBinding::setEnabled().
Definition at line 393 of file qqmldata_p.h.
References get().
Referenced by QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::captureQmlContextPropertyLookup(), QV4::QObjectWrapper::getProperty(), QQmlPrivate::loadFallbackProperty(), and QQmlPrivate::loadObjectProperty().
Definition at line 228 of file qqmldata_p.h.
References QObjectPrivate::get(), and get().
|
inlinestatic |
Definition at line 214 of file qqmldata_p.h.
References priv().
Definition at line 224 of file qqmldata_p.h.
References create(), QObjectPrivate::get(), and get().
|
inlinestatic |
Definition at line 199 of file qqmldata_p.h.
References create(), priv(), and Q_ASSERT.
Referenced by QQmlDelegateModelItem::QQmlDelegateModelItem(), QQmlInterceptorMetaObject::QQmlInterceptorMetaObject(), QQmlVMEMetaObject::QQmlVMEMetaObject(), QQmlInfo::~QQmlInfo(), QQmlGuardImpl::addGuard(), QQmlAbstractBinding::addToObject(), QQuickPropertyChangesParser::applyBindings(), QQmlComponentPrivate::beginCreate(), QtQuickPrivate::beginDeferred(), QtQuickPrivate::beginDeferred(), QQmlComponentPrivate::beginDeferred(), QQmlPropertyPrivate::binding(), QQmlBindPrivate::buildBindEntries(), QtQuickPrivate::cancelDeferred(), QQmlPropertyCapture::captureProperty(), QQmlPrivate::changeFallbackProperty(), QQmlPrivate::changeObjectProperty(), QtQuickPrivate::completeDeferred(), QQmlNotifierEndpoint::connect(), QQmlEngine::contextForObject(), createBindingInScope(), QtObject::createComponent(), QtObject::createComponent(), QQmlObjectCreator::createComponent(), QQmlComponent::createObject(), QtObject::createQmlObject(), QQmlDelegateModelItem::dataForObject(), ddata_for_cast(), QQuickPropertyChangesPrivate::decodeBinding(), QQmlDelegateModelItem::destroyObject(), QV4::QObjectWrapper::destroyObject(), QQmlOpenMetaObjectPrivate::dropPropertyCache(), QQuickDesignerSupport::emitComponentCompleteSignalForAttachedProperty(), ensurePropertyCache(), QQuickIcon::ensureRelativeSourceResolved(), QQmlEnginePrivate::executeRuntimeFunction(), QQmlObjectCreator::finalize(), QQmlPropertyPrivate::findAliasTarget(), QV4::QObjectWrapper::findProperty(), flush_vme_signal(), flushPendingBinding(), get(), QQmlListModel::get(), QQmlVMEMetaObject::get(), QQmlInterceptorMetaObject::get(), get(), QQmlDesignerMetaObject::getNodeInstanceMetaObject(), getObjectPropertyData(), QV4::QQmlContextWrapper::getPropertyAndBase(), QQmlAbstractBinding::getPropertyData(), QQmlIncubatorPrivate::incubate(), QQDMIncubationTask::initializeRequiredProperties(), QQmlPrivate::initObjectLookup(), QQmlPropertyPrivate::initProperty(), instanceOfQObject(), QQmlPrivate::loadFallbackProperty(), QQmlPrivate::loadObjectProperty(), QV4::QObjectWrapper::lookupMethodGetterImpl(), QV4::QObjectWrapper::lookupPropertyGetterImpl(), QV4::QObjectWrapper::markWrapper(), QQmlVMEMetaObject::metaCall(), QV4::QObjectWrapper::method_connect(), QJSEngine::newQObject(), QJSEngine::objectOwnership(), QQmlAnyBinding::ofProperty(), QQmlPropertyCache::originalClone(), QQuickPropertyChangesPrivate::property(), QQmlPrivate::qdeclarativeelement_destructor(), QJSEngine::qjsEngine(), QQmlComponent::qmlAttachedProperties(), qmlAttachedPropertiesObject(), QQmlEngine::qmlEngine(), qmlExecuteDeferred(), qQmlPropertyCacheProperty(), QQmlThreadNotifierProxyObject::qt_metacall(), QQmlAbstractBinding::removeFromObject(), removeOldBinding(), removePendingQPropertyBinding(), QQmlComponentPrivate::removePropertyFromRequired(), QtObject::resolvedUrl(), QQuickTableViewPrivate::resolveImportVersion(), QQmlPropertyPrivate::setBinding(), QQmlOpenMetaObject::setCached(), QQmlEngine::setContextForObject(), QQmlEnginePrivate::setInternalContext(), QQmlAdaptorModel::setModel(), QJSEngine::setObjectOwnership(), QV4::QObjectWrapper::setProperty(), QV4::QObjectWrapper::setProperty(), QV4::QObjectWrapper::setQmlProperty(), setQueuedForDeletion(), QQmlAbstractBinding::setTarget(), signalEmitted(), QQmlPropertyPrivate::signalExpression(), QQmlEnginePrivate::singletonInstance(), QV4::QmlIncubatorObject::statusChanged(), QQmlPropertyPrivate::takeSignalExpression(), VDMListDelegateDataType::toDynamicMetaObject(), QV4::QObjectWrapper::virtualPut(), QV4::QObjectWrapper::virtualResolveLookupGetter(), QV4::QQmlTypeWrapper::virtualResolveLookupGetter(), wasDeleted(), QV4::QObjectWrapper::wrap(), QObjectPointerBinding::write(), and QObjectPointerBinding::write().
|
inline |
Definition at line 349 of file qqmldata_p.h.
References Q_ASSERT.
Referenced by QQmlVMEMetaObject::metaCall().
|
inline |
Definition at line 240 of file qqmldata_p.h.
|
inline |
Definition at line 371 of file qqmldata_p.h.
References Q_ASSERT.
Referenced by QQmlPrivate::loadFallbackProperty(), and QQmlPrivate::loadObjectProperty().
|
inlinestatic |
Definition at line 63 of file qqmldata_p.h.
References QAbstractDeclarativeData::destroyed, QAbstractDeclarativeData::isSignalConnected, QAbstractDeclarativeData::receivers, and QAbstractDeclarativeData::signalEmitted.
Referenced by QQmlData(), and QQmlEnginePrivate::init().
|
static |
Definition at line 364 of file qqmlengine.cpp.
References d, and signalHasEndpoint().
|
inlinestatic |
Definition at line 233 of file qqmldata_p.h.
References get(), indestructible, and rootObjectInCreation.
Referenced by QV4::QObjectMethod::method_destroy(), and QQmlStrongJSQObjectReference< T >::setObject().
Definition at line 384 of file qqmlengine.cpp.
References child, QObjectPrivate::get(), QVarLengthArray< T, Prealloc >::isEmpty(), QVarLengthArray< T, Prealloc >::last(), o, QVarLengthArray< T, Prealloc >::pop_back(), QVarLengthArray< T, Prealloc >::push_back(), and setQueuedForDeletion().
Referenced by QQmlPrivate::qdeclarativeelement_destructor().
|
inline |
Definition at line 321 of file qqmldata_p.h.
References QQmlData::NotifyList::connectionMask, QQmlData::NotifyList::layout(), QQmlData::NotifyList::notifies, notifyList, and Q_ASSERT.
Referenced by endpointCount(), QQmlNotifier::notify(), QQmlThreadNotifierProxyObject::qt_metacall(), and signalEmitted().
|
inlinestatic |
Definition at line 260 of file qqmldata_p.h.
|
static |
Definition at line 358 of file qqmlengine.cpp.
References d, and endpointCount().
void QQmlData::releaseDeferredData | ( | ) |
Definition at line 1341 of file qqmlengine.cpp.
References deferData(), deferredData, and it.
Definition at line 357 of file qqmldata_p.h.
References Q_ASSERT.
|
inline |
Definition at line 81 of file qqmldata_p.h.
Definition at line 379 of file qqmldata_p.h.
References Q_ASSERT.
Definition at line 398 of file qqmlengine.cpp.
References get(), and Q_ASSERT.
Referenced by markAsDeleted().
|
static |
Definition at line 301 of file qqmlengine.cpp.
References args, QList< T >::at(), QThread::currentThreadId(), QMetaType::fromName(), QObjectPrivate::get(), get(), QBasicAtomicPointer< X >::loadRelaxed(), QObject::moveToThread(), notify(), notifyList, QCoreApplication::postEvent(), qWarning, QMetaObjectPrivate::signal(), QList< T >::size(), QQmlThreadNotifierProxyObject::target, QObjectPrivate::threadData, and typeName.
|
inline |
Definition at line 344 of file qqmldata_p.h.
References QQmlData::NotifyList::connectionMask, and notifyList.
Referenced by isSignalConnected().
|
inlinestatic |
Definition at line 312 of file qqmldata_p.h.
References QObjectPrivate::get(), priv(), and wasDeleted().
Referenced by callWithContextObject(), callWithScopeObject(), QQmlPrivate::changeFallbackProperty(), QQmlPrivate::changeObjectProperty(), QQmlPrivate::loadFallbackProperty(), QQmlPrivate::loadObjectProperty(), QV4::QObjectWrapper::lookupMethodGetterImpl(), QV4::QObjectWrapper::lookupPropertyGetterImpl(), QV4::QQmlContextWrapper::lookupType(), QV4::QObjectWrapper::markWrapper(), QV4::QObjectWrapperOwnPropertyKeyIterator::next(), QV4::QObjectWrapper::setProperty(), QV4::QObjectWrapper::setQmlProperty(), QQmlBinding::update(), QQmlPropertyToPropertyBinding::update(), QV4::QObjectWrapper::virtualGetOwnProperty(), QV4::QObjectWrapper::virtualPut(), QV4::QObjectWrapper::virtualResolveLookupGetter(), wasDeleted(), QV4::QObjectWrapper::wrap(), QV4::QObjectWrapper::wrapConst(), and QQuickBehavior::write().
|
inlinestatic |
Definition at line 303 of file qqmldata_p.h.
References get(), isQueuedForDeletion, and priv().
union { ... } QQmlData |
BindingBitsType* QQmlData::bindingBits |
Definition at line 122 of file qqmldata_p.h.
Referenced by destroyed().
quint32 QQmlData::bindingBitsArraySize |
Definition at line 115 of file qqmldata_p.h.
Referenced by destroyed().
BindingBitsType QQmlData::bindingBitsValue[InlineBindingArraySize] |
Definition at line 123 of file qqmldata_p.h.
Referenced by QQmlData().
QQmlAbstractBinding* QQmlData::bindings = nullptr |
Definition at line 152 of file qqmldata_p.h.
Referenced by destroyed(), and flushPendingBinding().
quint16 QQmlData::columnNumber = 0 |
Definition at line 169 of file qqmldata_p.h.
Referenced by QQmlInfo::~QQmlInfo(), and QQuickPropertyChangesPrivate::decodeBinding().
QQmlRefPointer<QV4::ExecutableCompilationUnit> QQmlData::compilationUnit |
Definition at line 186 of file qqmldata_p.h.
Referenced by deferData(), destroyed(), and instanceOfQObject().
QQmlContextData* QQmlData::context = nullptr |
Definition at line 147 of file qqmldata_p.h.
Referenced by QQmlEnginePrivate::createInternalContext(), deferData(), QV4::QObjectWrapper::destroyObject(), QQmlContextData::installContext(), and QV4::QObjectWrapper::virtualPut().
QVector<DeferredData *> QQmlData::deferredData |
Definition at line 187 of file qqmldata_p.h.
Referenced by QtQuickPrivate::beginDeferred(), QQmlComponentPrivate::beginDeferred(), QtQuickPrivate::cancelDeferred(), deferData(), destroyed(), and releaseDeferredData().
quint32 QQmlData::dummy |
Definition at line 110 of file qqmldata_p.h.
quint32 QQmlData::explicitIndestructibleSet |
Definition at line 95 of file qqmldata_p.h.
Referenced by QQmlComponentPrivate::beginCreate(), QtObject::createComponent(), QtObject::createComponent(), QQmlComponent::createObject(), QtObject::createQmlObject(), QQmlIncubatorPrivate::incubate(), QJSEngine::newQObject(), QJSEngine::setObjectOwnership(), and QV4::QmlIncubatorObject::statusChanged().
QQmlGuardImpl* QQmlData::guards = 0 |
Definition at line 197 of file qqmldata_p.h.
Referenced by destroyed().
quint32 QQmlData::hasConstWrapper |
Definition at line 109 of file qqmldata_p.h.
Referenced by QV4::QObjectWrapper::markWrapper().
quint32 QQmlData::hasInterceptorMetaObject |
Definition at line 106 of file qqmldata_p.h.
Referenced by QQmlInterceptorMetaObject::QQmlInterceptorMetaObject().
quint32 QQmlData::hasTaintedV4Object |
Definition at line 98 of file qqmldata_p.h.
Referenced by QV4::QObjectWrapper::markWrapper().
quint32 QQmlData::hasVMEMetaObject |
Definition at line 107 of file qqmldata_p.h.
Referenced by QQmlVMEMetaObject::QQmlVMEMetaObject(), and QQmlDesignerMetaObject::getNodeInstanceMetaObject().
quint32 QQmlData::indestructible |
Definition at line 92 of file qqmldata_p.h.
Referenced by QQmlComponentPrivate::beginCreate(), QtObject::createComponent(), QtObject::createComponent(), QQmlComponent::createObject(), QtObject::createQmlObject(), QV4::QObjectWrapper::destroyObject(), QQmlIncubatorPrivate::incubate(), keepAliveDuringGarbageCollection(), QJSEngine::objectOwnership(), QJSEngine::setObjectOwnership(), and QV4::QmlIncubatorObject::statusChanged().
quint32 QQmlData::isQueuedForDeletion |
Definition at line 99 of file qqmldata_p.h.
Referenced by QQmlPrivate::changeFallbackProperty(), QQmlPrivate::changeObjectProperty(), QV4::QObjectWrapper::destroyObject(), QQmlPrivate::initObjectLookup(), QQmlPrivate::loadFallbackProperty(), QQmlPrivate::loadObjectProperty(), and wasDeleted().
quint32 QQmlData::jsEngineId = 0 |
Definition at line 171 of file qqmldata_p.h.
Referenced by QV4::QObjectWrapper::markWrapper().
QV4::WeakValue QQmlData::jsWrapper |
Definition at line 193 of file qqmldata_p.h.
Referenced by destroyed(), QV4::QObjectWrapper::destroyObject(), QQmlListModel::get(), and QV4::QObjectWrapper::markWrapper().
quint16 QQmlData::lineNumber = 0 |
Definition at line 168 of file qqmldata_p.h.
Referenced by QQmlInfo::~QQmlInfo(), and QQuickPropertyChangesPrivate::decodeBinding().
Definition at line 157 of file qqmldata_p.h.
Referenced by QQmlContextData::addOwnedObject(), and destroyed().
NotifyList* QQmlData::notifyList = nullptr |
Definition at line 138 of file qqmldata_p.h.
Referenced by addNotify(), disconnectNotifiers(), notify(), signalEmitted(), and signalHasEndpoint().
QQmlContextData* QQmlData::outerContext = nullptr |
Definition at line 149 of file qqmldata_p.h.
Referenced by QQmlInfo::~QQmlInfo(), createBindingInScope(), QQuickPropertyChangesPrivate::decodeBinding(), destroyed(), QQmlEnginePrivate::executeRuntimeFunction(), QQmlContextData::installContext(), and QQuickPropertyChangesPrivate::property().
QQmlRefPointer<QQmlContextData> QQmlData::ownContext |
Definition at line 150 of file qqmldata_p.h.
Referenced by destroyed(), QV4::QObjectWrapper::destroyObject(), and QQmlContextData::installContext().
quint32 QQmlData::ownMemory |
Definition at line 87 of file qqmldata_p.h.
Referenced by destroyed().
Definition at line 158 of file qqmldata_p.h.
Referenced by QQmlContextData::addOwnedObject(), and destroyed().
QQmlPropertyCache::ConstPtr QQmlData::propertyCache |
Definition at line 195 of file qqmldata_p.h.
Referenced by QQmlDelegateModelItem::QQmlDelegateModelItem(), QQmlPropertyCapture::captureProperty(), QQmlPrivate::changeObjectProperty(), destroyed(), QV4::QObjectWrapper::destroyObject(), ensurePropertyCache(), QV4::QObjectWrapper::findProperty(), QV4::QQmlContextWrapper::getPropertyAndBase(), QQmlPrivate::initObjectLookup(), QQmlPropertyPrivate::initProperty(), QQmlPrivate::loadObjectProperty(), QV4::QObjectWrapper::lookupMethodGetterImpl(), QV4::QObjectWrapper::lookupPropertyGetterImpl(), QQmlVMEMetaObject::metaCall(), QV4::QObjectWrapper::method_connect(), qQmlPropertyCacheProperty(), QQmlOpenMetaObject::setCached(), QV4::QObjectWrapper::setProperty(), QV4::QObjectWrapper::setProperty(), QV4::QObjectWrapper::setQmlProperty(), QV4::setupQObjectLookup(), QV4::setupQObjectMethodLookup(), QV4::QObjectWrapper::virtualResolveLookupGetter(), and QV4::QQmlTypeWrapper::virtualResolveLookupGetter().
std::vector<QQmlPropertyObserver> QQmlData::propertyObservers |
Definition at line 154 of file qqmldata_p.h.
quint32 QQmlData::rootObjectInCreation |
Definition at line 104 of file qqmldata_p.h.
Referenced by QQmlComponentPrivate::beginCreate(), QQmlIncubatorPrivate::incubate(), and keepAliveDuringGarbageCollection().
QQmlBoundSignal* QQmlData::signalHandlers = nullptr |
Definition at line 153 of file qqmldata_p.h.
Referenced by destroyed().