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
qqmlincubator_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QQMLINCUBATOR_P_H
5
#define QQMLINCUBATOR_P_H
6
7
#include "
qqmlincubator.h
"
8
9
#include <private/qintrusivelist_p.h>
10
#include <private/qqmlvme_p.h>
11
#include <private/qrecursionwatcher_p.h>
12
#include <private/qqmlengine_p.h>
13
#include <private/qqmlguardedcontextdata_p.h>
14
15
#include <QtCore/qpointer.h>
16
17
//
18
// W A R N I N G
19
// -------------
20
//
21
// This file is not part of the Qt API. It exists purely as an
22
// implementation detail. This header file may change from version to
23
// version without notice, or even be removed.
24
//
25
// We mean it.
26
//
27
28
QT_BEGIN_NAMESPACE
29
30
class
RequiredProperties
;
31
32
class
QQmlIncubator
;
33
class
Q_QML_EXPORT
QQmlIncubatorPrivate
:
public
QQmlEnginePrivate::Incubator
,
public
QSharedData
34
{
35
public
:
36
QQmlIncubatorPrivate
(
QQmlIncubator
*
q
,
QQmlIncubator::IncubationMode
m
);
37
~QQmlIncubatorPrivate
();
38
39
inline
static
QQmlIncubatorPrivate
*
get
(
QQmlIncubator
*incubator) {
return
incubator->d; }
40
41
int
subComponentToCreate
;
42
QQmlIncubator
*
q
;
43
44
QQmlIncubator::Status
calculateStatus()
const
;
45
void
changeStatus(
QQmlIncubator::Status
);
46
QQmlIncubator::Status
status
;
47
48
QQmlIncubator::IncubationMode
mode
;
49
bool
isAsynchronous
;
50
enum
Progress
:
char
{ Execute, Completing, Completed };
51
Progress
progress
;
52
53
QList<QQmlError>
errors
;
54
55
56
QPointer<QObject>
result
;
57
enum
HadTopLevelRequired
:
bool
{No = 0, Yes = 1};
58
/* TODO: unify with Creator pointer once QTBUG-108760 is implemented
59
though we don't acutally own the properties here; if we ever end up
60
with a use case for async incubation of C++ types, we however could
61
not rely on the component to still exist during incubation, and
62
would need to store a copy of the required properties instead
63
*/
64
QTaggedPointer<RequiredProperties, HadTopLevelRequired>
requiredPropertiesFromComponent
;
65
QQmlGuardedContextData
rootContext
;
66
QQmlEnginePrivate
*
enginePriv
;
67
QQmlRefPointer<QV4::ExecutableCompilationUnit>
compilationUnit
;
68
QScopedPointer<QQmlObjectCreator>
creator
;
69
QQmlVMEGuard
vmeGuard
;
70
71
QExplicitlySharedDataPointer<QQmlIncubatorPrivate>
waitingOnMe
;
72
typedef
QQmlEnginePrivate::Incubator
QIPBase
;
73
QIntrusiveListNode
nextWaitingFor
;
74
QIntrusiveList<QQmlIncubatorPrivate, &QQmlIncubatorPrivate::nextWaitingFor>
waitingFor
;
75
76
QRecursionNode
recursion
;
77
QVariantMap
initialProperties
;
78
79
void
clear
();
80
81
void
forceCompletion(
QQmlInstantiationInterrupt
&
i
);
82
void
incubate(
QQmlInstantiationInterrupt
&
i
);
83
void
incubateCppBasedComponent(
QQmlComponent
*
component
,
QQmlContext
*
context
);
84
RequiredProperties
*requiredProperties();
85
bool
hadTopLevelRequiredProperties()
const
;
86
};
87
88
QT_END_NAMESPACE
89
90
#endif
// QQMLINCUBATOR_P_H
91
QIntrusiveListNode
Definition
qintrusivelist_p.h:23
QMap< QString, QVariant >
QQmlComponent
The QQmlComponent class encapsulates a QML component definition.
Definition
qqmlcomponent.h:32
QQmlContext
The QQmlContext class defines a context within a QML engine.
Definition
qqmlcontext.h:25
QQmlEnginePrivate
Definition
qqmlengine_p.h:101
QQmlGuardedContextData
Definition
qqmlguardedcontextdata_p.h:24
QQmlIncubatorPrivate
Definition
qqmlincubator_p.h:34
QQmlIncubatorPrivate::QIPBase
QQmlEnginePrivate::Incubator QIPBase
Definition
qqmlincubator_p.h:72
QQmlIncubatorPrivate::vmeGuard
QQmlVMEGuard vmeGuard
Definition
qqmlincubator_p.h:69
QQmlIncubatorPrivate::HadTopLevelRequired
HadTopLevelRequired
Definition
qqmlincubator_p.h:57
QQmlIncubatorPrivate::nextWaitingFor
QIntrusiveListNode nextWaitingFor
Definition
qqmlincubator_p.h:73
QQmlIncubatorPrivate::get
static QQmlIncubatorPrivate * get(QQmlIncubator *incubator)
Definition
qqmlincubator_p.h:39
QQmlIncubatorPrivate::Progress
Progress
Definition
qqmlincubator_p.h:50
QQmlIncubatorPrivate::rootContext
QQmlGuardedContextData rootContext
Definition
qqmlincubator_p.h:65
QQmlIncubatorPrivate::isAsynchronous
bool isAsynchronous
Definition
qqmlincubator_p.h:49
QQmlIncubatorPrivate::waitingOnMe
QExplicitlySharedDataPointer< QQmlIncubatorPrivate > waitingOnMe
Definition
qqmlincubator_p.h:71
QQmlIncubatorPrivate::result
QPointer< QObject > result
Definition
qqmlincubator_p.h:56
QQmlIncubatorPrivate::creator
QScopedPointer< QQmlObjectCreator > creator
Definition
qqmlincubator_p.h:68
QQmlIncubatorPrivate::subComponentToCreate
int subComponentToCreate
Definition
qqmlincubator_p.h:41
QQmlIncubatorPrivate::compilationUnit
QQmlRefPointer< QV4::ExecutableCompilationUnit > compilationUnit
Definition
qqmlincubator_p.h:67
QQmlIncubatorPrivate::progress
Progress progress
Definition
qqmlincubator_p.h:51
QQmlIncubatorPrivate::enginePriv
QQmlEnginePrivate * enginePriv
Definition
qqmlincubator_p.h:66
QQmlIncubatorPrivate::mode
QQmlIncubator::IncubationMode mode
Definition
qqmlincubator_p.h:48
QQmlIncubatorPrivate::q
QQmlIncubator * q
Definition
qqmlincubator_p.h:42
QQmlIncubatorPrivate::errors
QList< QQmlError > errors
Definition
qqmlincubator_p.h:53
QQmlIncubatorPrivate::requiredPropertiesFromComponent
QTaggedPointer< RequiredProperties, HadTopLevelRequired > requiredPropertiesFromComponent
Definition
qqmlincubator_p.h:64
QQmlIncubatorPrivate::initialProperties
QVariantMap initialProperties
Definition
qqmlincubator_p.h:77
QQmlIncubatorPrivate::recursion
QRecursionNode recursion
Definition
qqmlincubator_p.h:76
QQmlIncubatorPrivate::waitingFor
QIntrusiveList< QQmlIncubatorPrivate, &QQmlIncubatorPrivate::nextWaitingFor > waitingFor
Definition
qqmlincubator_p.h:74
QQmlIncubatorPrivate::status
QQmlIncubator::Status status
Definition
qqmlincubator_p.h:46
QQmlIncubator
The QQmlIncubator class allows QML objects to be created asynchronously.
Definition
qqmlincubator.h:20
QQmlIncubator::IncubationMode
IncubationMode
Specifies the mode the incubator operates in.
Definition
qqmlincubator.h:23
QQmlIncubator::Status
Status
Specifies the status of the QQmlIncubator.
Definition
qqmlincubator.h:28
QQmlInstantiationInterrupt
Definition
qqmlvme_p.h:36
QQmlVMEGuard
Definition
qqmlvme_p.h:70
QRecursionNode
Definition
qrecursionwatcher_p.h:23
QSharedData
\inmodule QtCore
Definition
qshareddata.h:19
RequiredProperties
Definition
qqmlobjectcreator_p.h:79
i
i
[1]
Definition
doc_src_containers.cpp:169
clear
b clear()
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
context
static void * context
Definition
qandroidaudiosource.cpp:42
m
const GLfloat * m
Definition
qopengles2ext.h:3203
q
GLdouble GLdouble GLdouble GLdouble q
Definition
qopenglext.h:259
component
static qreal component(const QPointF &point, unsigned int i)
Definition
qpathclipper.cpp:626
qqmlincubator.h
QQmlEnginePrivate::Incubator
Definition
qqmlengine_p.h:164
qtdeclarative
src
qml
qml
qqmlincubator_p.h
Generated by
1.10.0