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
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
4
#include "
qqmlvme_p.h
"
5
6
#include <private/qmetaobjectbuilder_p.h>
7
#include "
qqmlengine.h
"
8
#include <private/qfinitestack_p.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
QFiniteStack<QQmlGuard<QObject> > &objects =
creator
->allCreatedObjects();
56
m_objectCount = objects.count();
57
m_objects =
new
QQmlGuard<QObject>[m_objectCount];
58
for
(
int
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
(
int
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
QQmlGuardedContextData
Definition
qqmlguardedcontextdata_p.h:24
QQmlObjectCreator
Definition
qqmlobjectcreator_p.h:119
QQmlVMEGuard::isOK
bool isOK() const
Definition
qqmlvme.cpp:77
QQmlVMEGuard::~QQmlVMEGuard
~QQmlVMEGuard()
Definition
qqmlvme.cpp:46
QQmlVMEGuard::guard
void guard(QQmlObjectCreator *)
Definition
qqmlvme.cpp:51
QQmlVMEGuard::clear
void clear()
Definition
qqmlvme.cpp:66
QQmlVMEGuard::QQmlVMEGuard
QQmlVMEGuard()
Definition
qqmlvme.cpp:41
QQmlVME::disableComponentComplete
static void disableComponentComplete()
Definition
qqmlvme.cpp:31
QQmlVME::componentCompleteEnabled
static bool componentCompleteEnabled()
Definition
qqmlvme.cpp:36
QQmlVME::enableComponentComplete
static void enableComponentComplete()
Definition
qqmlvme.cpp:26
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
qqmlengine.h
qqmlvme_p.h
nullptr
QObject::connect nullptr
Definition
src_corelib_kernel_qobject.cpp:255
creator
QItemEditorCreatorBase * creator
Definition
src_gui_itemviews_qitemeditorfactory.cpp:20
engine
QJSEngine engine
[0]
Definition
src_script_qjsvalue.cpp:14
qtdeclarative
src
qml
qml
qqmlvme.cpp
Generated by
1.10.0