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>.
|
#include <qqmldata_p.h>
Classes | |
struct | DeferredData |
struct | NotifyList |
Public Types | |
enum | Ownership { DoesNotOwnMemory , OwnsMemory } |
enum | { BitsPerType = sizeof(BindingBitsType) * 8 , InlineBindingArraySize = 2 } |
enum class | DeleteNotifyList { Yes , No } |
typedef quintptr | BindingBitsType |
Public Member Functions | |
QQmlData (Ownership ownership) | |
~QQmlData () | |
void | destroyed (QObject *) |
void | setImplicitDestructible () |
QQmlNotifierEndpoint * | notify (int index) const |
void | addNotify (int index, QQmlNotifierEndpoint *) |
int | endpointCount (int index) |
bool | signalHasEndpoint (int index) const |
void | disconnectNotifiers (DeleteNotifyList doDelete) |
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 Public Attributes inherited from QAbstractDeclarativeData | |
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.
|
strong |
Enumerator | |
---|---|
Yes | |
No |
Definition at line 143 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 253 of file qqmlengine.cpp.
References bindingBitsValue, and init().
QQmlData::~QQmlData | ( | ) |
Definition at line 263 of file qqmlengine.cpp.
Referenced by destroyed().
void QQmlData::addNotify | ( | int | index, |
QQmlNotifierEndpoint * | endpoint ) |
Definition at line 1279 of file qqmlengine.cpp.
References QQmlNotifierEndpoint::isConnected(), list, notifyList, Q_ASSERT, qMax(), and qMin().
QHash< QQmlAttachedPropertiesFunc, QObject * > * QQmlData::attachedProperties | ( | ) | const |
Definition at line 1351 of file qqmlengine.cpp.
References QQmlDataExtended::attachedProperties.
|
inlinestatic |
Definition at line 261 of file qqmldata_p.h.
|
inline |
Definition at line 384 of file qqmldata_p.h.
References Q_ASSERT.
|
inline |
Definition at line 406 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 1242 of file qqmlengine.cpp.
References QV4::ExecutableCompilationUnit::bindingPropertyDataPerObjectAt(), QV4::CompiledData::Object::bindingTable(), compilationUnit, context, deferData(), deferredData, QQmlData::DeferredData::deferredIdx, 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 267 of file qqmlengine.cpp.
References d, destroyed(), and o.
Referenced by destroyed().
Definition at line 1357 of file qqmlengine.cpp.
References ~QQmlData(), 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, QQmlJavaScriptExpression::sourceLocation(), QString::truncate(), and Yes.
void QQmlData::disconnectNotifiers | ( | QQmlData::DeleteNotifyList | doDelete | ) |
Definition at line 1320 of file qqmlengine.cpp.
References QQmlNotifierEndpoint::disconnect(), list, notifyList, and Yes.
Referenced by destroyed().
int QQmlData::endpointCount | ( | int | index | ) |
Definition at line 368 of file qqmlengine.cpp.
References notify().
Referenced by receivers().
|
inlinestatic |
Definition at line 252 of file qqmldata_p.h.
References get(), and Q_LIKELY.
Referenced by QQmlComponentPrivate::beginCreate(), QV4::QObjectWrapper::create(), firstCppMetaObject(), QQmlAnyBinding::ofProperty(), QQmlEnginePrivate::singletonInstance(), and QQmlVMEMetaObjectEndpoint::tryConnect().
void QQmlData::flushPendingBinding | ( | int | coreIndex | ) |
Definition at line 418 of file qqmlengine.cpp.
References bindings, QQmlPropertyData::BypassInterceptor, clearPendingBindingBit(), QQmlPropertyData::DontRemoveBinding, QQmlAbstractBinding::nextBinding(), and QQmlAbstractBinding::setEnabled().
Definition at line 413 of file qqmldata_p.h.
References get().
Referenced by QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::captureQmlContextPropertyLookup(), and QV4::QObjectWrapper::getProperty().
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(), QV4::QObjectMethod::callInternalWithMetaTypes(), QtQuickPrivate::cancelDeferred(), QQmlPropertyCapture::captureProperty(), 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(), QQmlPrivate::findFallbackPropertyQmlData(), QQmlPrivate::findObjectPropertyQmlData(), 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(), QV4::QObjectWrapper::lookupMethodGetterImpl(), QV4::QObjectWrapper::lookupPropertyGetterImpl(), QV4::Heap::QObjectWrapper::markObjects(), QV4::QObjectWrapper::markWrapper(), QQmlVMEMetaObject::metaCall(), QV4::QObjectWrapper::method_connect(), QJSEngine::newQObject(), QJSEngine::objectOwnership(), 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 369 of file qqmldata_p.h.
References Q_ASSERT.
|
inline |
Definition at line 240 of file qqmldata_p.h.
|
inline |
Definition at line 391 of file qqmldata_p.h.
References Q_ASSERT.
|
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 362 of file qqmlengine.cpp.
References d, and signalHasEndpoint().
|
inlinestatic |
Definition at line 233 of file qqmldata_p.h.
References get().
Referenced by QV4::QObjectMethod::method_destroy(), and QQmlStrongJSQObjectReference< T >::setObject().
Definition at line 382 of file qqmlengine.cpp.
References child, QObjectPrivate::get(), o, and setQueuedForDeletion().
Referenced by QQmlPrivate::qdeclarativeelement_destructor().
|
inline |
Definition at line 326 of file qqmldata_p.h.
References isIndexInConnectionMask(), list, notifyList, and Q_ASSERT.
Referenced by endpointCount().
|
inlinestatic |
Definition at line 260 of file qqmldata_p.h.
|
static |
Definition at line 356 of file qqmlengine.cpp.
References d, and endpointCount().
void QQmlData::releaseDeferredData | ( | ) |
Definition at line 1265 of file qqmlengine.cpp.
References deferData(), deferredData, and it.
Definition at line 377 of file qqmldata_p.h.
References Q_ASSERT.
|
inline |
Definition at line 81 of file qqmldata_p.h.
Definition at line 399 of file qqmldata_p.h.
References Q_ASSERT.
Definition at line 396 of file qqmlengine.cpp.
References get(), No, and Q_ASSERT.
Referenced by markAsDeleted().
|
static |
Definition at line 296 of file qqmlengine.cpp.
References args, QThread::currentThreadId(), QMetaType::fromName(), QObjectPrivate::get(), get(), QObject::moveToThread(), QCoreApplication::postEvent(), qWarning, QMetaObjectPrivate::signal(), QQmlThreadNotifierProxyObject::target, and typeName.
|
inline |
Definition at line 352 of file qqmldata_p.h.
References isIndexInConnectionMask(), list, 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::findFallbackPropertyQmlData(), QQmlPrivate::findObjectPropertyQmlData(), QV4::QObjectSlotDispatcher::impl(), 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 |
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.
QQmlRefPointer<QV4::ExecutableCompilationUnit> QQmlData::compilationUnit |
Definition at line 186 of file qqmldata_p.h.
Referenced by deferData(), and destroyed().
QQmlContextData* QQmlData::context = nullptr |
Definition at line 147 of file qqmldata_p.h.
Referenced by QQmlEnginePrivate::createInternalContext(), and deferData().
QVector<DeferredData *> QQmlData::deferredData |
Definition at line 187 of file qqmldata_p.h.
Referenced by 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 QQmlComponent::createObject().
QQmlGuardImpl* QQmlData::guards = nullptr |
Definition at line 197 of file qqmldata_p.h.
Referenced by destroyed().
quint32 QQmlData::hasConstWrapper |
Definition at line 109 of file qqmldata_p.h.
quint32 QQmlData::hasInterceptorMetaObject |
Definition at line 106 of file qqmldata_p.h.
quint32 QQmlData::hasTaintedV4Object |
Definition at line 98 of file qqmldata_p.h.
quint32 QQmlData::hasVMEMetaObject |
Definition at line 107 of file qqmldata_p.h.
quint32 QQmlData::indestructible |
Definition at line 92 of file qqmldata_p.h.
Referenced by QQmlComponent::createObject().
quint32 QQmlData::isQueuedForDeletion |
Definition at line 99 of file qqmldata_p.h.
Referenced by QQmlPrivate::findFallbackPropertyQmlData(), and QQmlPrivate::findObjectPropertyQmlData().
quint32 QQmlData::jsEngineId = 0 |
Definition at line 171 of file qqmldata_p.h.
QV4::WeakValue QQmlData::jsWrapper |
Definition at line 193 of file qqmldata_p.h.
Referenced by destroyed().
quint16 QQmlData::lineNumber = 0 |
Definition at line 168 of file qqmldata_p.h.
Definition at line 157 of file qqmldata_p.h.
Referenced by QQmlContextData::addOwnedObject(), and destroyed().
QAtomicPointer<NotifyList> QQmlData::notifyList |
Definition at line 136 of file qqmldata_p.h.
Referenced by addNotify(), disconnectNotifiers(), notify(), and signalHasEndpoint().
QQmlContextData* QQmlData::outerContext = nullptr |
Definition at line 149 of file qqmldata_p.h.
Referenced by destroyed().
QQmlRefPointer<QQmlContextData> QQmlData::ownContext |
Definition at line 150 of file qqmldata_p.h.
Referenced by destroyed().
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 destroyed(), and QQmlPrivate::findObjectPropertyQmlData().
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.
QQmlBoundSignal* QQmlData::signalHandlers = nullptr |
Definition at line 153 of file qqmldata_p.h.
Referenced by destroyed().