Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmlvme.cpp
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
// Qt-Security score:significant
4
5
#
include
"qqmlvme_p.h"
6
7
#
include
<
private
/
qmetaobjectbuilder_p
.
h
>
8
#
include
"qqmlengine.h"
9
#
include
<
QtQml
/
private
/
qqmlcomponent_p
.
h
>
10
11
#
include
<
QStack
>
12
#
include
<
QPointF
>
13
#
include
<
QSizeF
>
14
#
include
<
QRectF
>
15
#
include
<
QtCore
/
qdebug
.
h
>
16
#
include
<
QtCore
/
qvarlengtharray
.
h
>
17
#
include
<
QtCore
/
qcoreapplication
.
h
>
18
#
include
<
QtCore
/
qdatetime
.
h
>
19
#
include
<
QtCore
/
qvarlengtharray
.
h
>
20
#
include
<
QtQml
/
qjsvalue
.
h
>
21
22
QT_BEGIN_NAMESPACE
23
24
bool
QQmlVME::s_enableComponentComplete =
true
;
25
26
void
QQmlVME::enableComponentComplete()
27
{
28
s_enableComponentComplete =
true
;
29
}
30
31
void
QQmlVME::disableComponentComplete()
32
{
33
s_enableComponentComplete =
false
;
34
}
35
36
bool
QQmlVME::componentCompleteEnabled()
37
{
38
return
s_enableComponentComplete;
39
}
40
41
QQmlVMEGuard
::
QQmlVMEGuard
()
42
:
m_objectCount
(0),
m_objects
(
nullptr
), m_contextCount(0),
m_contexts
(
nullptr
)
43
{
44
}
45
46
QQmlVMEGuard
::~
QQmlVMEGuard
()
47
{
48
clear
(
)
;
49
}
50
51
void
QQmlVMEGuard
::guard(QQmlObjectCreator *creator)
52
{
53
clear
(
)
;
54
55
std::vector<QQmlGuard<QObject>> &objects = creator->allCreatedObjects();
56
m_objectCount = objects.size();
57
m_objects =
new
QQmlGuard<QObject>[m_objectCount];
58
for
(size_t ii = 0; ii < m_objectCount; ++ii)
59
m_objects[ii] = objects[ii];
60
61
m_contextCount = 1;
62
m_contexts =
new
QQmlGuardedContextData[m_contextCount];
63
m_contexts[0] = creator->parentContextData();
64
}
65
66
void
QQmlVMEGuard
::
clear
()
67
{
68
delete
[] m_objects;
69
delete
[] m_contexts;
70
71
m_objectCount = 0;
72
m_objects =
nullptr
;
73
m_contextCount = 0;
74
m_contexts =
nullptr
;
75
}
76
77
bool
QQmlVMEGuard
::
isOK
()
const
78
{
79
for
(size_t ii = 0; ii < m_objectCount; ++ii)
80
if
(m_objects[ii].isNull())
81
return
false
;
82
83
for
(
int
ii = 0; ii < m_contextCount; ++ii)
84
if
(m_contexts[ii].isNull() || !m_contexts[ii]->engine())
85
return
false
;
86
87
return
true
;
88
}
89
90
QT_END_NAMESPACE
QQmlVMEGuard
Definition
qqmlvme_p.h:70
QQmlVMEGuard::isOK
bool isOK() const
Definition
qqmlvme.cpp:77
QQmlVMEGuard::~QQmlVMEGuard
~QQmlVMEGuard()
Definition
qqmlvme.cpp:46
QQmlVMEGuard::clear
void clear()
Definition
qqmlvme.cpp:66
QQmlVMEGuard::QQmlVMEGuard
QQmlVMEGuard()
Definition
qqmlvme.cpp:41
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtdeclarative
src
qml
qml
qqmlvme.cpp
Generated on
for Qt by
1.18.0