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 <qqmlincubator_p.h>
Public Types | |
enum | Progress : char { Execute , Completing , Completed } |
enum | HadTopLevelRequired : bool { No = 0 , Yes = 1 } |
typedef QQmlEnginePrivate::Incubator | QIPBase |
Public Member Functions | |
QQmlIncubatorPrivate (QQmlIncubator *q, QQmlIncubator::IncubationMode m) | |
~QQmlIncubatorPrivate () | |
QQmlIncubator::Status | calculateStatus () const |
void | changeStatus (QQmlIncubator::Status) |
void | clear () |
void | forceCompletion (QQmlInstantiationInterrupt &i) |
void | incubate (QQmlInstantiationInterrupt &i) |
void | incubateCppBasedComponent (QQmlComponent *component, QQmlContext *context) |
RequiredProperties * | requiredProperties () |
Return a pointer to a list of properties which are required but haven't been set yet. | |
bool | hadTopLevelRequiredProperties () const |
Public Member Functions inherited from QSharedData | |
QSharedData () noexcept | |
Constructs a QSharedData object with a reference count of 0. | |
QSharedData (const QSharedData &) noexcept | |
Constructs a QSharedData object with reference count 0. | |
QSharedData & | operator= (const QSharedData &)=delete |
~QSharedData ()=default | |
Static Public Member Functions | |
static QQmlIncubatorPrivate * | get (QQmlIncubator *incubator) |
Definition at line 33 of file qqmlincubator_p.h.
Definition at line 72 of file qqmlincubator_p.h.
enum QQmlIncubatorPrivate::HadTopLevelRequired : bool |
Enumerator | |
---|---|
No | |
Yes |
Definition at line 57 of file qqmlincubator_p.h.
enum QQmlIncubatorPrivate::Progress : char |
Enumerator | |
---|---|
Execute | |
Completing | |
Completed |
Definition at line 50 of file qqmlincubator_p.h.
QQmlIncubatorPrivate::QQmlIncubatorPrivate | ( | QQmlIncubator * | q, |
QQmlIncubator::IncubationMode | m ) |
Definition at line 93 of file qqmlincubator.cpp.
QQmlIncubatorPrivate::~QQmlIncubatorPrivate | ( | ) |
Definition at line 99 of file qqmlincubator.cpp.
References clear().
QQmlIncubator::Status QQmlIncubatorPrivate::calculateStatus | ( | ) | const |
Definition at line 796 of file qqmlincubator.cpp.
References compilationUnit, Completed, QQmlIncubator::Error, errors, QIntrusiveList< N, member >::isEmpty(), QList< T >::isEmpty(), QQmlIncubator::Loading, QQmlIncubator::Null, progress, QQmlIncubator::Ready, and waitingFor.
Referenced by incubate(), and incubateCppBasedComponent().
void QQmlIncubatorPrivate::changeStatus | ( | QQmlIncubator::Status | s | ) |
Definition at line 786 of file qqmlincubator.cpp.
References status.
Referenced by QQmlIncubator::clear(), incubate(), and incubateCppBasedComponent().
void QQmlIncubatorPrivate::clear | ( | ) |
Definition at line 104 of file qqmlincubator.cpp.
References clear(), QQmlObjectCreator::clear(), QQmlVMEGuard::clear(), compilationUnit, creator, enginePriv, QIntrusiveList< N, member >::first(), i, QQmlIncubationController::incubatingObjectCountChanged(), QQmlEnginePrivate::incubationController, QQmlContextData::incubator(), QQmlEnginePrivate::incubatorCount, QIntrusiveListNode::isInList(), QQmlGuardedContextData::isNull(), QQmlVMEGuard::isOK(), QQmlEnginePrivate::Incubator::next, nextWaitingFor, Q_ASSERT, QIntrusiveListNode::remove(), requiredPropertiesFromComponent, QScopedPointer< T, Cleanup >::reset(), QQmlRefPointer< T >::reset(), rootContext, QQmlGuardedContextData::setContextData(), QQmlContextData::setIncubator(), vmeGuard, waitingFor, and waitingOnMe.
Referenced by ~QQmlIncubatorPrivate(), QQmlIncubator::clear(), clear(), and incubate().
void QQmlIncubatorPrivate::forceCompletion | ( | QQmlInstantiationInterrupt & | i | ) |
Definition at line 234 of file qqmlincubator.cpp.
References QIntrusiveList< N, member >::first(), forceCompletion(), i, incubate(), QIntrusiveList< N, member >::isEmpty(), QQmlIncubator::Loading, status, and waitingFor.
Referenced by QQmlIncubator::forceCompletion(), and forceCompletion().
|
inlinestatic |
Definition at line 39 of file qqmlincubator_p.h.
Referenced by incubateCppBasedComponent(), QQmlComponentPrivate::incubateObject(), QQDMIncubationTask::initializeRequiredProperties(), QV4::QmlIncubatorObject::setInitialState(), QQuickLoaderPrivate::setInitialState(), QQmlComponentIncubator::setInitialState(), QQmlTableInstanceModelIncubationTask::setInitialState(), QQuickStackIncubator::setInitialState(), and QQmlTableInstanceModel::setRequiredProperty().
bool QQmlIncubatorPrivate::hadTopLevelRequiredProperties | ( | ) | const |
Definition at line 732 of file qqmlincubator.cpp.
References QQmlObjectCreator::componentHadTopLevelRequiredProperties(), creator, requiredPropertiesFromComponent, QTaggedPointer< T, Tag >::tag(), and Yes.
void QQmlIncubatorPrivate::incubate | ( | QQmlInstantiationInterrupt & | i | ) |
Definition at line 245 of file qqmlincubator.cpp.
References arg, calculateStatus(), QMap< Key, T >::cbegin(), QMap< Key, T >::cend(), changeStatus(), clear(), QQmlVMEGuard::clear(), compilationUnit, Completed, Completing, component(), QQmlObjectCreator::create(), creator, QScopedPointer< T, Cleanup >::data(), QQmlEnginePrivate::dereferenceScarceResources(), QHash< Key, T >::empty(), QV4::ExecutableCompilationUnit::engine, enginePriv, error, QQmlEnginePrivate::erroredBindings, errors, QQmlObjectCreator::errors, Execute, QQmlObjectCreator::finalize(), QQmlData::get(), QQmlEnginePrivate::get(), QQmlVMEGuard::guard(), i, initialProperties, QQmlEnginePrivate::inProgressCreations, QIntrusiveList< N, member >::isEmpty(), QList< T >::isEmpty(), QScopedPointer< T, Cleanup >::isNull(), QQmlVMEGuard::isOK(), QQmlProperty::isValid(), it, progress, QList< T >::push_back(), Q_ASSERT, QtCriticalMsg, QtInfoMsg, QQmlEnginePrivate::referenceScarceResources(), QQmlDelayedError::removeError(), QQmlComponentPrivate::removePropertyFromRequired(), requiredProperties(), QQmlObjectCreator::requiredProperties(), rootContext, QQmlObjectCreator::rootContext(), subComponentToCreate, QQmlComponentPrivate::unsetRequiredPropertyToQQmlError(), QV4::ExecutableCompilationUnit::url(), vmeGuard, waitingFor, waitingOnMe, QQmlEnginePrivate::warning(), watcher, and QQmlProperty::write().
Referenced by forceCompletion().
void QQmlIncubatorPrivate::incubateCppBasedComponent | ( | QQmlComponent * | component, |
QQmlContext * | context ) |
This is used to mimic the behavior of incubate when the Component we want to incubate refers to a creatable QQmlType (i.e., it is the result of loadFromModule).
Definition at line 391 of file qqmlincubator.cpp.
References calculateStatus(), changeStatus(), Completed, component(), context, errors, QQmlComponentPrivate::get(), get(), initialProperties, QHash< Key, T >::isEmpty(), progress, Q_ASSERT, requiredPropertiesFromComponent, QTaggedPointer< T, Tag >::setTag(), QQmlComponentPrivate::unsetRequiredPropertyToQQmlError(), and Yes.
RequiredProperties * QQmlIncubatorPrivate::requiredProperties | ( | ) |
Return a pointer to a list of properties which are required but haven't been set yet.
This list can be modified, so that subclasses which implement special logic setInitialProperties can mark properties set there as no longer required.
Definition at line 724 of file qqmlincubator.cpp.
References creator, QTaggedPointer< T, Tag >::data(), QQmlObjectCreator::requiredProperties(), and requiredPropertiesFromComponent.
Referenced by incubate().
QQmlRefPointer<QV4::ExecutableCompilationUnit> QQmlIncubatorPrivate::compilationUnit |
Definition at line 67 of file qqmlincubator_p.h.
Referenced by calculateStatus(), QQmlIncubator::clear(), clear(), and incubate().
QScopedPointer<QQmlObjectCreator> QQmlIncubatorPrivate::creator |
Definition at line 68 of file qqmlincubator_p.h.
Referenced by clear(), hadTopLevelRequiredProperties(), incubate(), and requiredProperties().
QQmlEnginePrivate* QQmlIncubatorPrivate::enginePriv |
Definition at line 66 of file qqmlincubator_p.h.
Referenced by QQmlIncubator::clear(), clear(), and incubate().
Definition at line 53 of file qqmlincubator_p.h.
Referenced by calculateStatus(), QQmlIncubator::clear(), QQmlIncubator::errors(), incubate(), and incubateCppBasedComponent().
QVariantMap QQmlIncubatorPrivate::initialProperties |
Definition at line 77 of file qqmlincubator_p.h.
Referenced by incubate(), incubateCppBasedComponent(), and QQmlIncubator::setInitialProperties().
bool QQmlIncubatorPrivate::isAsynchronous |
Definition at line 49 of file qqmlincubator_p.h.
QQmlIncubator::IncubationMode QQmlIncubatorPrivate::mode |
Definition at line 48 of file qqmlincubator_p.h.
Referenced by QQmlIncubator::incubationMode().
QIntrusiveListNode QQmlIncubatorPrivate::nextWaitingFor |
Definition at line 73 of file qqmlincubator_p.h.
Referenced by clear().
Progress QQmlIncubatorPrivate::progress |
Definition at line 51 of file qqmlincubator_p.h.
Referenced by calculateStatus(), QQmlIncubator::clear(), incubate(), and incubateCppBasedComponent().
QQmlIncubator* QQmlIncubatorPrivate::q |
Definition at line 42 of file qqmlincubator_p.h.
Referenced by QQmlIncubator::~QQmlIncubator().
QRecursionNode QQmlIncubatorPrivate::recursion |
Definition at line 76 of file qqmlincubator_p.h.
QTaggedPointer<RequiredProperties, HadTopLevelRequired> QQmlIncubatorPrivate::requiredPropertiesFromComponent |
Definition at line 64 of file qqmlincubator_p.h.
Referenced by clear(), hadTopLevelRequiredProperties(), incubateCppBasedComponent(), and requiredProperties().
Definition at line 56 of file qqmlincubator_p.h.
Referenced by QQmlIncubator::clear(), and QQmlIncubator::object().
QQmlGuardedContextData QQmlIncubatorPrivate::rootContext |
Definition at line 65 of file qqmlincubator_p.h.
Referenced by clear(), and incubate().
QQmlIncubator::Status QQmlIncubatorPrivate::status |
Definition at line 46 of file qqmlincubator_p.h.
Referenced by changeStatus(), forceCompletion(), and QQmlIncubator::status().
int QQmlIncubatorPrivate::subComponentToCreate |
Definition at line 41 of file qqmlincubator_p.h.
Referenced by incubate().
QQmlVMEGuard QQmlIncubatorPrivate::vmeGuard |
Definition at line 69 of file qqmlincubator_p.h.
Referenced by clear(), and incubate().
QIntrusiveList<QQmlIncubatorPrivate, &QQmlIncubatorPrivate::nextWaitingFor> QQmlIncubatorPrivate::waitingFor |
Definition at line 74 of file qqmlincubator_p.h.
Referenced by calculateStatus(), QQmlIncubator::clear(), clear(), forceCompletion(), and incubate().
QExplicitlySharedDataPointer<QQmlIncubatorPrivate> QQmlIncubatorPrivate::waitingOnMe |
Definition at line 71 of file qqmlincubator_p.h.
Referenced by QQmlIncubator::clear(), clear(), and incubate().