Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQmlObjectCreator Class Reference

#include <qqmlobjectcreator_p.h>

Collaboration diagram for QQmlObjectCreator:

Public Types

enum class  InitFlag : quint8 { None = 0x0 , IsDocumentRoot = 0x1 , IsContextObject = 0x2 , IsImplicitComponent = 0x4 }
enum  CreationFlags { NormalObject = 1 , InlineComponent = 2 }

Public Member Functions

 Q_DECLARE_FLAGS (InitFlags, InitFlag)
 QQmlObjectCreator (const QQmlRefPointer< QQmlContextData > &parentContext, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit, const QQmlRefPointer< QQmlContextData > &creationContext, const QString &inlineComponentName, QQmlIncubatorPrivate *incubator=nullptr)
 ~QQmlObjectCreator ()
QObjectcreate (int subComponentIndex=-1, QObject *parent=nullptr, QQmlInstantiationInterrupt *interrupt=nullptr, int flags=NormalObject)
bool populateDeferredProperties (QObject *instance, const QQmlData::DeferredData *deferredData)
void beginPopulateDeferred (const QQmlRefPointer< QQmlContextData > &context)
void populateDeferredBinding (const QQmlProperty &qmlProperty, int deferredIndex, const QV4::CompiledData::Binding *binding)
void populateDeferredInstance (QObject *outerObject, int deferredIndex, int index, QObject *instance, QObject *bindingTarget, const QQmlPropertyData *valueTypeProperty, const QV4::CompiledData::Binding *binding=nullptr)
void finalizePopulateDeferred ()
bool finalize (QQmlInstantiationInterrupt &interrupt)
void clear ()
QObjectcreateObjectInContext (int objectIndex, QObject *parent, const QQmlRefPointer< QQmlContextData > &existingContext)
QQmlRefPointer< QQmlContextDatarootContext () const
QQmlComponentAttached ** componentAttachment ()
QQmlRefPointer< QQmlContextDataparentContextData () const
std::vector< QQmlGuard< QObject > > & allCreatedObjects ()
RequiredPropertiesrequiredProperties ()
bool componentHadTopLevelRequiredProperties () const
void removePendingBinding (QObject *target, int propertyIndex) const
void repopulateBindings (int index, QObject *instance, const QQmlRefPointer< QQmlContextData > &instanceContext, InitFlags flags)

Static Public Member Functions

static QQmlComponentcreateComponent (QQmlEngine *engine, QV4::ExecutableCompilationUnit *compilationUnit, int index, QObject *parent, const QQmlRefPointer< QQmlContextData > &context)

Public Attributes

QList< QQmlErrorerrors

Friends

struct QQmlObjectCreatorRecursionWatcher

Detailed Description

Definition at line 137 of file qqmlobjectcreator_p.h.

Member Enumeration Documentation

◆ CreationFlags

Enumerator
NormalObject 
InlineComponent 

Definition at line 157 of file qqmlobjectcreator_p.h.

◆ InitFlag

enum class QQmlObjectCreator::InitFlag : quint8
strong
Enumerator
None 
IsDocumentRoot 
IsContextObject 
IsImplicitComponent 

Definition at line 141 of file qqmlobjectcreator_p.h.

Constructor & Destructor Documentation

◆ QQmlObjectCreator()

QQmlObjectCreator::QQmlObjectCreator ( const QQmlRefPointer< QQmlContextData > & parentContext,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & compilationUnit,
const QQmlRefPointer< QQmlContextData > & creationContext,
const QString & inlineComponentName,
QQmlIncubatorPrivate * incubator = nullptr )

◆ ~QQmlObjectCreator()

QQmlObjectCreator::~QQmlObjectCreator ( )

Definition at line 124 of file qqmlobjectcreator.cpp.

Member Function Documentation

◆ allCreatedObjects()

std::vector< QQmlGuard< QObject > > & QQmlObjectCreator::allCreatedObjects ( )
inline

Definition at line 188 of file qqmlobjectcreator_p.h.

◆ beginPopulateDeferred()

void QQmlObjectCreator::beginPopulateDeferred ( const QQmlRefPointer< QQmlContextData > & context)

Definition at line 241 of file qqmlobjectcreator.cpp.

◆ clear()

void QQmlObjectCreator::clear ( )

Definition at line 1806 of file qqmlobjectcreator.cpp.

◆ componentAttachment()

QQmlComponentAttached ** QQmlObjectCreator::componentAttachment ( )
inline

Definition at line 180 of file qqmlobjectcreator_p.h.

◆ componentHadTopLevelRequiredProperties()

bool QQmlObjectCreator::componentHadTopLevelRequiredProperties ( ) const
inline

Definition at line 191 of file qqmlobjectcreator_p.h.

◆ create()

QObject * QQmlObjectCreator::create ( int subComponentIndex = -1,
QObject * parent = nullptr,
QQmlInstantiationInterrupt * interrupt = nullptr,
int flags = NormalObject )

Definition at line 139 of file qqmlobjectcreator.cpp.

◆ createComponent()

QQmlComponent * QQmlObjectCreator::createComponent ( QQmlEngine * engine,
QV4::ExecutableCompilationUnit * compilationUnit,
int index,
QObject * parent,
const QQmlRefPointer< QQmlContextData > & context )
static

Definition at line 2055 of file qqmlobjectcreator.cpp.

◆ createObjectInContext()

QObject * QQmlObjectCreator::createObjectInContext ( int objectIndex,
QObject * parent,
const QQmlRefPointer< QQmlContextData > & existingContext )

Create a single object at objectIndex within an already-existing existingContext. Unlike create(), this does not allocate a new context — the object is registered as an OrdinaryObject in existingContext.

Definition at line 1657 of file qqmlobjectcreator.cpp.

◆ finalize()

bool QQmlObjectCreator::finalize ( QQmlInstantiationInterrupt & interrupt)

Definition at line 1677 of file qqmlobjectcreator.cpp.

◆ finalizePopulateDeferred()

void QQmlObjectCreator::finalizePopulateDeferred ( )

Definition at line 315 of file qqmlobjectcreator.cpp.

◆ parentContextData()

QQmlRefPointer< QQmlContextData > QQmlObjectCreator::parentContextData ( ) const
inline

Definition at line 184 of file qqmlobjectcreator_p.h.

◆ populateDeferredBinding()

void QQmlObjectCreator::populateDeferredBinding ( const QQmlProperty & qmlProperty,
int deferredIndex,
const QV4::CompiledData::Binding * binding )

Definition at line 294 of file qqmlobjectcreator.cpp.

◆ populateDeferredInstance()

void QQmlObjectCreator::populateDeferredInstance ( QObject * outerObject,
int deferredIndex,
int index,
QObject * instance,
QObject * bindingTarget,
const QQmlPropertyData * valueTypeProperty,
const QV4::CompiledData::Binding * binding = nullptr )

Definition at line 305 of file qqmlobjectcreator.cpp.

◆ populateDeferredProperties()

bool QQmlObjectCreator::populateDeferredProperties ( QObject * instance,
const QQmlData::DeferredData * deferredData )

Definition at line 285 of file qqmlobjectcreator.cpp.

◆ Q_DECLARE_FLAGS()

QQmlObjectCreator::Q_DECLARE_FLAGS ( InitFlags ,
InitFlag  )

◆ removePendingBinding()

void QQmlObjectCreator::removePendingBinding ( QObject * target,
int propertyIndex ) const
inline

Definition at line 197 of file qqmlobjectcreator_p.h.

◆ repopulateBindings()

void QQmlObjectCreator::repopulateBindings ( int index,
QObject * instance,
const QQmlRefPointer< QQmlContextData > & instanceContext,
InitFlags flags )

Re-populate bindings, functions and child objects on an existing instance whose VME metaobject chain has already been (re-)created externally.

Unlike initializeInstance(), this does not create a new VME — it uses the one already installed on the object. It sets up the context, registers the object by id, installs functions, evaluates bindings (which may create child objects), and connects aliases.

Used by the QML preview/hot-reload system to rebuild an object's contents after its VME hierarchy has been reconstructed.

Definition at line 2081 of file qqmlobjectcreator.cpp.

◆ requiredProperties()

RequiredProperties * QQmlObjectCreator::requiredProperties ( )
inline

Definition at line 190 of file qqmlobjectcreator_p.h.

◆ rootContext()

QQmlRefPointer< QQmlContextData > QQmlObjectCreator::rootContext ( ) const
inline

Definition at line 179 of file qqmlobjectcreator_p.h.

◆ QQmlObjectCreatorRecursionWatcher

friend struct QQmlObjectCreatorRecursionWatcher
friend

Definition at line 308 of file qqmlobjectcreator_p.h.

Member Data Documentation

◆ errors

QList<QQmlError> QQmlObjectCreator::errors

Definition at line 182 of file qqmlobjectcreator_p.h.


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