OpenCoverage

qquickdesignersupport.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/quick/designer/qquickdesignersupport.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtQuick module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#include "qquickdesignersupport_p.h"-
41#include <private/qquickitem_p.h>-
42-
43#if QT_CONFIG(quick_shadereffect)-
44#include <QtQuick/private/qquickshadereffectsource_p.h>-
45#endif-
46#include <QtQuick/private/qquickrectangle_p.h>-
47#include <QtQml/private/qabstractanimationjob_p.h>-
48#include <private/qqmlengine_p.h>-
49#include <private/qquickview_p.h>-
50#include <private/qsgrenderloop_p.h>-
51#include <QtQuick/private/qquickstategroup_p.h>-
52#include <QtGui/QImage>-
53#include <private/qqmlvme_p.h>-
54#include <private/qqmlcomponentattached_p.h>-
55#include <private/qqmldata_p.h>-
56#include <private/qsgadaptationlayer_p.h>-
57-
58#include "qquickdesignerwindowmanager_p.h"-
59-
60-
61QT_BEGIN_NAMESPACE-
62-
63QQuickDesignerSupport::QQuickDesignerSupport()-
64{-
65}-
66-
67QQuickDesignerSupport::~QQuickDesignerSupport()-
68{-
69 typedef QHash<QQuickItem*, QSGLayer*>::iterator ItemTextureHashIt;-
70-
71 for (ItemTextureHashIt iterator = m_itemTextureHash.begin(), end = m_itemTextureHash.end(); iterator != end; ++iterator) {
iterator != endDescription
TRUEnever evaluated
FALSEnever evaluated
0
72 QSGLayer *texture = iterator.value();-
73 QQuickItem *item = iterator.key();-
74 QQuickItemPrivate::get(item)->derefFromEffectItem(true);-
75 delete texture;-
76 }
never executed: end of block
0
77}
never executed: end of block
0
78-
79void QQuickDesignerSupport::refFromEffectItem(QQuickItem *referencedItem, bool hide)-
80{-
81 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
82 return;
never executed: return;
0
83-
84 QQuickItemPrivate::get(referencedItem)->refFromEffectItem(hide);-
85 QQuickWindowPrivate::get(referencedItem->window())->updateDirtyNode(referencedItem);-
86-
87 Q_ASSERT(QQuickItemPrivate::get(referencedItem)->rootNode());-
88-
89 if (!m_itemTextureHash.contains(referencedItem)) {
!m_itemTexture...eferencedItem)Description
TRUEnever evaluated
FALSEnever evaluated
0
90 QSGRenderContext *rc = QQuickWindowPrivate::get(referencedItem->window())->context;-
91 QSGLayer *texture = rc->sceneGraphContext()->createLayer(rc);-
92-
93 QSizeF itemSize = referencedItem->size();-
94 texture->setLive(true);-
95 texture->setItem(QQuickItemPrivate::get(referencedItem)->rootNode());-
96 texture->setRect(QRectF(QPointF(0, 0), itemSize));-
97 texture->setSize(itemSize.toSize());-
98 texture->setRecursive(true);-
99#if QT_CONFIG(opengl)-
100#ifndef QT_OPENGL_ES-
101 if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGL)
QOpenGLContext...Context::LibGLDescription
TRUEnever evaluated
FALSEnever evaluated
0
102 texture->setFormat(GL_RGBA8);
never executed: texture->setFormat( 0x8058 );
0
103 else-
104 texture->setFormat(GL_RGBA);
never executed: texture->setFormat( 0x1908 );
0
105#else-
106 texture->setFormat(GL_RGBA);-
107#endif-
108#endif-
109 texture->setHasMipmaps(false);-
110-
111 m_itemTextureHash.insert(referencedItem, texture);-
112 }
never executed: end of block
0
113}
never executed: end of block
0
114-
115void QQuickDesignerSupport::derefFromEffectItem(QQuickItem *referencedItem, bool unhide)-
116{-
117 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
118 return;
never executed: return;
0
119-
120 delete m_itemTextureHash.take(referencedItem);-
121 QQuickItemPrivate::get(referencedItem)->derefFromEffectItem(unhide);-
122}
never executed: end of block
0
123-
124QImage QQuickDesignerSupport::renderImageForItem(QQuickItem *referencedItem, const QRectF &boundingRect, const QSize &imageSize)-
125{-
126 if (referencedItem == nullptr || referencedItem->parentItem() == nullptr) {
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
referencedItem...m() == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
127 qDebug() << __FILE__ << __LINE__ << "Warning: Item can be rendered.";-
128 return QImage();
never executed: return QImage();
0
129 }-
130-
131 QSGLayer *renderTexture = m_itemTextureHash.value(referencedItem);-
132-
133 Q_ASSERT(renderTexture);-
134 if (renderTexture == nullptr)
renderTexture == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
135 return QImage();
never executed: return QImage();
0
136 renderTexture->setRect(boundingRect);-
137 renderTexture->setSize(imageSize);-
138 renderTexture->setItem(QQuickItemPrivate::get(referencedItem)->rootNode());-
139 renderTexture->markDirtyTexture();-
140 renderTexture->updateTexture();-
141-
142 QImage renderImage = renderTexture->toImage();-
143 renderImage = renderImage.mirrored(false, true);-
144-
145 if (renderImage.size().isEmpty())
renderImage.size().isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
0
146 qDebug() << __FILE__ << __LINE__ << "Warning: Image is empty.";
never executed: QMessageLogger(__FILE__, 146, __PRETTY_FUNCTION__).debug() << __FILE__ << 146 << "Warning: Image is empty.";
0
147-
148 return renderImage;
never executed: return renderImage;
0
149}-
150-
151bool QQuickDesignerSupport::isDirty(QQuickItem *referencedItem, DirtyType dirtyType)-
152{-
153 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
154 return false;
never executed: return false;
0
155-
156 return QQuickItemPrivate::get(referencedItem)->dirtyAttributes & dirtyType;
never executed: return QQuickItemPrivate::get(referencedItem)->dirtyAttributes & dirtyType;
0
157}-
158-
159void QQuickDesignerSupport::addDirty(QQuickItem *referencedItem, QQuickDesignerSupport::DirtyType dirtyType)-
160{-
161 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
162 return;
never executed: return;
0
163-
164 QQuickItemPrivate::get(referencedItem)->dirtyAttributes |= dirtyType;-
165}
never executed: end of block
0
166-
167void QQuickDesignerSupport::resetDirty(QQuickItem *referencedItem)-
168{-
169 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
170 return;
never executed: return;
0
171-
172 QQuickItemPrivate::get(referencedItem)->dirtyAttributes = 0x0;-
173 QQuickItemPrivate::get(referencedItem)->removeFromDirtyList();-
174}
never executed: end of block
0
175-
176QTransform QQuickDesignerSupport::windowTransform(QQuickItem *referencedItem)-
177{-
178 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
179 return QTransform();
never executed: return QTransform();
0
180-
181 return QQuickItemPrivate::get(referencedItem)->itemToWindowTransform();
never executed: return QQuickItemPrivate::get(referencedItem)->itemToWindowTransform();
0
182}-
183-
184QTransform QQuickDesignerSupport::parentTransform(QQuickItem *referencedItem)-
185{-
186 if (referencedItem == nullptr)
referencedItem == nullptrDescription
TRUEnever evaluated
FALSEnever evaluated
0
187 return QTransform();
never executed: return QTransform();
0
188-
189 QTransform parentTransform;-
190-
191 QQuickItemPrivate::get(referencedItem)->itemToParentTransform(parentTransform);-
192-
193 return parentTransform;
never executed: return parentTransform;
0
194}-
195-
196QString propertyNameForAnchorLine(const QQuickAnchors::Anchor &anchorLine)-
197{-
198 switch (anchorLine) {-
199 case QQuickAnchors::LeftAnchor: return QLatin1String("left");
never executed: return QLatin1String("left");
never executed: case QQuickAnchors::LeftAnchor:
0
200 case QQuickAnchors::RightAnchor: return QLatin1String("right");
never executed: return QLatin1String("right");
never executed: case QQuickAnchors::RightAnchor:
0
201 case QQuickAnchors::TopAnchor: return QLatin1String("top");
never executed: return QLatin1String("top");
never executed: case QQuickAnchors::TopAnchor:
0
202 case QQuickAnchors::BottomAnchor: return QLatin1String("bottom");
never executed: return QLatin1String("bottom");
never executed: case QQuickAnchors::BottomAnchor:
0
203 case QQuickAnchors::HCenterAnchor: return QLatin1String("horizontalCenter");
never executed: return QLatin1String("horizontalCenter");
never executed: case QQuickAnchors::HCenterAnchor:
0
204 case QQuickAnchors::VCenterAnchor: return QLatin1String("verticalCenter");
never executed: return QLatin1String("verticalCenter");
never executed: case QQuickAnchors::VCenterAnchor:
0
205 case QQuickAnchors::BaselineAnchor: return QLatin1String("baseline");
never executed: return QLatin1String("baseline");
never executed: case QQuickAnchors::BaselineAnchor:
0
206 case QQuickAnchors::InvalidAnchor: // fallthrough:
never executed: case QQuickAnchors::InvalidAnchor:
0
207 default: return QString();
never executed: return QString();
never executed: default:
0
208 }-
209}-
210-
211bool isValidAnchorName(const QString &name)-
212{-
213 static QStringList anchorNameList(QStringList() << QLatin1String("anchors.top")-
214 << QLatin1String("anchors.left")-
215 << QLatin1String("anchors.right")-
216 << QLatin1String("anchors.bottom")-
217 << QLatin1String("anchors.verticalCenter")-
218 << QLatin1String("anchors.horizontalCenter")-
219 << QLatin1String("anchors.fill")-
220 << QLatin1String("anchors.centerIn")-
221 << QLatin1String("anchors.baseline"));-
222-
223 return anchorNameList.contains(name);
never executed: return anchorNameList.contains(name);
0
224}-
225-
226bool QQuickDesignerSupport::isAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem)-
227{-
228 QQuickItemPrivate *fromItemPrivate = QQuickItemPrivate::get(fromItem);-
229 QQuickAnchors *anchors = fromItemPrivate->anchors();-
230 return anchors->fill() == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
231 || anchors->centerIn() == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
232 || anchors->bottom().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
233 || anchors->top().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
234 || anchors->left().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
235 || anchors->right().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
236 || anchors->verticalCenter().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
237 || anchors->horizontalCenter().item == toItem
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
238 || anchors->baseline().item == toItem;
never executed: return anchors->fill() == toItem || anchors->centerIn() == toItem || anchors->bottom().item == toItem || anchors->top().item == toItem || anchors->left().item == toItem || anchors->right().item == toItem || anchors->verticalCenter().item == toItem || anchors->horizontalCenter().item == toItem || anchors->baseline().item == toItem;
0
239}-
240-
241bool QQuickDesignerSupport::areChildrenAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem)-
242{-
243 const auto childItems = fromItem->childItems();-
244 for (QQuickItem *childItem : childItems) {-
245 if (childItem) {
childItemDescription
TRUEnever evaluated
FALSEnever evaluated
0
246 if (isAnchoredTo(childItem, toItem))
isAnchoredTo(c...dItem, toItem)Description
TRUEnever evaluated
FALSEnever evaluated
0
247 return true;
never executed: return true;
0
248-
249 if (areChildrenAnchoredTo(childItem, toItem))
areChildrenAnc...dItem, toItem)Description
TRUEnever evaluated
FALSEnever evaluated
0
250 return true;
never executed: return true;
0
251 }
never executed: end of block
0
252 }
never executed: end of block
0
253-
254 return false;
never executed: return false;
0
255}-
256-
257QQuickAnchors *anchors(QQuickItem *item)-
258{-
259 QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);-
260 return itemPrivate->anchors();
never executed: return itemPrivate->anchors();
0
261}-
262-
263QQuickAnchors::Anchor anchorLineFlagForName(const QString &name)-
264{-
265 if (name == QLatin1String("anchors.top"))
name == QLatin..."anchors.top")Description
TRUEnever evaluated
FALSEnever evaluated
0
266 return QQuickAnchors::TopAnchor;
never executed: return QQuickAnchors::TopAnchor;
0
267-
268 if (name == QLatin1String("anchors.left"))
name == QLatin...anchors.left")Description
TRUEnever evaluated
FALSEnever evaluated
0
269 return QQuickAnchors::LeftAnchor;
never executed: return QQuickAnchors::LeftAnchor;
0
270-
271 if (name == QLatin1String("anchors.bottom"))
name == QLatin...chors.bottom")Description
TRUEnever evaluated
FALSEnever evaluated
0
272 return QQuickAnchors::BottomAnchor;
never executed: return QQuickAnchors::BottomAnchor;
0
273-
274 if (name == QLatin1String("anchors.right"))
name == QLatin...nchors.right")Description
TRUEnever evaluated
FALSEnever evaluated
0
275 return QQuickAnchors::RightAnchor;
never executed: return QQuickAnchors::RightAnchor;
0
276-
277 if (name == QLatin1String("anchors.horizontalCenter"))
name == QLatin...zontalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
278 return QQuickAnchors::HCenterAnchor;
never executed: return QQuickAnchors::HCenterAnchor;
0
279-
280 if (name == QLatin1String("anchors.verticalCenter"))
name == QLatin...rticalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
281 return QQuickAnchors::VCenterAnchor;
never executed: return QQuickAnchors::VCenterAnchor;
0
282-
283 if (name == QLatin1String("anchors.baseline"))
name == QLatin...ors.baseline")Description
TRUEnever evaluated
FALSEnever evaluated
0
284 return QQuickAnchors::BaselineAnchor;
never executed: return QQuickAnchors::BaselineAnchor;
0
285-
286-
287 Q_ASSERT_X(false, Q_FUNC_INFO, "wrong anchor name - this should never happen");-
288 return QQuickAnchors::LeftAnchor;
never executed: return QQuickAnchors::LeftAnchor;
0
289}-
290-
291bool QQuickDesignerSupport::hasAnchor(QQuickItem *item, const QString &name)-
292{-
293 if (!isValidAnchorName(name))
!isValidAnchorName(name)Description
TRUEnever evaluated
FALSEnever evaluated
0
294 return false;
never executed: return false;
0
295-
296 if (name == QLatin1String("anchors.fill"))
name == QLatin...anchors.fill")Description
TRUEnever evaluated
FALSEnever evaluated
0
297 return anchors(item)->fill() != nullptr;
never executed: return anchors(item)->fill() != nullptr;
0
298-
299 if (name == QLatin1String("anchors.centerIn"))
name == QLatin...ors.centerIn")Description
TRUEnever evaluated
FALSEnever evaluated
0
300 return anchors(item)->centerIn() != nullptr;
never executed: return anchors(item)->centerIn() != nullptr;
0
301-
302 if (name == QLatin1String("anchors.right"))
name == QLatin...nchors.right")Description
TRUEnever evaluated
FALSEnever evaluated
0
303 return anchors(item)->right().item != nullptr;
never executed: return anchors(item)->right().item != nullptr;
0
304-
305 if (name == QLatin1String("anchors.top"))
name == QLatin..."anchors.top")Description
TRUEnever evaluated
FALSEnever evaluated
0
306 return anchors(item)->top().item != nullptr;
never executed: return anchors(item)->top().item != nullptr;
0
307-
308 if (name == QLatin1String("anchors.left"))
name == QLatin...anchors.left")Description
TRUEnever evaluated
FALSEnever evaluated
0
309 return anchors(item)->left().item != nullptr;
never executed: return anchors(item)->left().item != nullptr;
0
310-
311 if (name == QLatin1String("anchors.bottom"))
name == QLatin...chors.bottom")Description
TRUEnever evaluated
FALSEnever evaluated
0
312 return anchors(item)->bottom().item != nullptr;
never executed: return anchors(item)->bottom().item != nullptr;
0
313-
314 if (name == QLatin1String("anchors.horizontalCenter"))
name == QLatin...zontalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
315 return anchors(item)->horizontalCenter().item != nullptr;
never executed: return anchors(item)->horizontalCenter().item != nullptr;
0
316-
317 if (name == QLatin1String("anchors.verticalCenter"))
name == QLatin...rticalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
318 return anchors(item)->verticalCenter().item != nullptr;
never executed: return anchors(item)->verticalCenter().item != nullptr;
0
319-
320 if (name == QLatin1String("anchors.baseline"))
name == QLatin...ors.baseline")Description
TRUEnever evaluated
FALSEnever evaluated
0
321 return anchors(item)->baseline().item != nullptr;
never executed: return anchors(item)->baseline().item != nullptr;
0
322-
323 return anchors(item)->usedAnchors().testFlag(anchorLineFlagForName(name));
never executed: return anchors(item)->usedAnchors().testFlag(anchorLineFlagForName(name));
0
324}-
325-
326QQuickItem *QQuickDesignerSupport::anchorFillTargetItem(QQuickItem *item)-
327{-
328 return anchors(item)->fill();
never executed: return anchors(item)->fill();
0
329}-
330-
331QQuickItem *QQuickDesignerSupport::anchorCenterInTargetItem(QQuickItem *item)-
332{-
333 return anchors(item)->centerIn();
never executed: return anchors(item)->centerIn();
0
334}-
335-
336-
337-
338QPair<QString, QObject*> QQuickDesignerSupport::anchorLineTarget(QQuickItem *item, const QString &name, QQmlContext *context)-
339{-
340 QObject *targetObject = nullptr;-
341 QString targetName;-
342-
343 if (name == QLatin1String("anchors.fill")) {
name == QLatin...anchors.fill")Description
TRUEnever evaluated
FALSEnever evaluated
0
344 targetObject = anchors(item)->fill();-
345 } else if (name == QLatin1String("anchors.centerIn")) {
never executed: end of block
name == QLatin...ors.centerIn")Description
TRUEnever evaluated
FALSEnever evaluated
0
346 targetObject = anchors(item)->centerIn();-
347 } else {
never executed: end of block
0
348 QQmlProperty metaProperty(item, name, context);-
349 if (!metaProperty.isValid())
!metaProperty.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
0
350 return QPair<QString, QObject*>();
never executed: return QPair<QString, QObject*>();
0
351-
352 QQuickAnchorLine anchorLine = metaProperty.read().value<QQuickAnchorLine>();-
353 if (anchorLine.anchorLine != QQuickAnchors::InvalidAnchor) {
anchorLine.anc...:InvalidAnchorDescription
TRUEnever evaluated
FALSEnever evaluated
0
354 targetObject = anchorLine.item;-
355 targetName = propertyNameForAnchorLine(anchorLine.anchorLine);-
356 }
never executed: end of block
0
357-
358 }
never executed: end of block
0
359-
360 return QPair<QString, QObject*>(targetName, targetObject);
never executed: return QPair<QString, QObject*>(targetName, targetObject);
0
361}-
362-
363void QQuickDesignerSupport::resetAnchor(QQuickItem *item, const QString &name)-
364{-
365 if (name == QLatin1String("anchors.fill")) {
name == QLatin...anchors.fill")Description
TRUEnever evaluated
FALSEnever evaluated
0
366 anchors(item)->resetFill();-
367 } else if (name == QLatin1String("anchors.centerIn")) {
never executed: end of block
name == QLatin...ors.centerIn")Description
TRUEnever evaluated
FALSEnever evaluated
0
368 anchors(item)->resetCenterIn();-
369 } else if (name == QLatin1String("anchors.top")) {
never executed: end of block
name == QLatin..."anchors.top")Description
TRUEnever evaluated
FALSEnever evaluated
0
370 anchors(item)->resetTop();-
371 } else if (name == QLatin1String("anchors.left")) {
never executed: end of block
name == QLatin...anchors.left")Description
TRUEnever evaluated
FALSEnever evaluated
0
372 anchors(item)->resetLeft();-
373 } else if (name == QLatin1String("anchors.right")) {
never executed: end of block
name == QLatin...nchors.right")Description
TRUEnever evaluated
FALSEnever evaluated
0
374 anchors(item)->resetRight();-
375 } else if (name == QLatin1String("anchors.bottom")) {
never executed: end of block
name == QLatin...chors.bottom")Description
TRUEnever evaluated
FALSEnever evaluated
0
376 anchors(item)->resetBottom();-
377 } else if (name == QLatin1String("anchors.horizontalCenter")) {
never executed: end of block
name == QLatin...zontalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
378 anchors(item)->resetHorizontalCenter();-
379 } else if (name == QLatin1String("anchors.verticalCenter")) {
never executed: end of block
name == QLatin...rticalCenter")Description
TRUEnever evaluated
FALSEnever evaluated
0
380 anchors(item)->resetVerticalCenter();-
381 } else if (name == QLatin1String("anchors.baseline")) {
never executed: end of block
name == QLatin...ors.baseline")Description
TRUEnever evaluated
FALSEnever evaluated
0
382 anchors(item)->resetBaseline();-
383 }
never executed: end of block
0
384}
never executed: end of block
0
385-
386void QQuickDesignerSupport::emitComponentCompleteSignalForAttachedProperty(QQuickItem *item)-
387{-
388 QQmlData *data = QQmlData::get(item);-
389 if (data && data->context) {
dataDescription
TRUEnever evaluated
FALSEnever evaluated
data->contextDescription
TRUEnever evaluated
FALSEnever evaluated
0
390 QQmlComponentAttached *componentAttached = data->context->componentAttached;-
391 if (componentAttached) {
componentAttachedDescription
TRUEnever evaluated
FALSEnever evaluated
0
392 emit componentAttached->completed();-
393 }
never executed: end of block
0
394 }
never executed: end of block
0
395}
never executed: end of block
0
396-
397QList<QObject*> QQuickDesignerSupport::statesForItem(QQuickItem *item)-
398{-
399 QList<QObject*> objectList;-
400 const QList<QQuickState *> stateList = QQuickItemPrivate::get(item)->_states()->states();-
401-
402 objectList.reserve(stateList.size());-
403 for (QQuickState* state : stateList)-
404 objectList.append(state);
never executed: objectList.append(state);
0
405-
406 return objectList;
never executed: return objectList;
0
407}-
408-
409bool QQuickDesignerSupport::isComponentComplete(QQuickItem *item)-
410{-
411 return QQuickItemPrivate::get(item)->componentComplete;
never executed: return QQuickItemPrivate::get(item)->componentComplete;
0
412}-
413-
414int QQuickDesignerSupport::borderWidth(QQuickItem *item)-
415{-
416 QQuickRectangle *rectangle = qobject_cast<QQuickRectangle*>(item);-
417 if (rectangle)
rectangleDescription
TRUEnever evaluated
FALSEnever evaluated
0
418 return rectangle->border()->width();
never executed: return rectangle->border()->width();
0
419-
420 return 0;
never executed: return 0;
0
421}-
422-
423void QQuickDesignerSupport::refreshExpressions(QQmlContext *context)-
424{-
425 QQmlContextPrivate::get(context)->data->refreshExpressions();-
426}
executed 2 times by 1 test: end of block
Executed by:
  • tst_qquickdesignersupport
2
427-
428void QQuickDesignerSupport::setRootItem(QQuickView *view, QQuickItem *item)-
429{-
430 QQuickViewPrivate::get(view)->setRootObject(item);-
431}
never executed: end of block
0
432-
433bool QQuickDesignerSupport::isValidWidth(QQuickItem *item)-
434{-
435 return QQuickItemPrivate::get(item)->heightValid;
never executed: return QQuickItemPrivate::get(item)->heightValid;
0
436}-
437-
438bool QQuickDesignerSupport::isValidHeight(QQuickItem *item)-
439{-
440 return QQuickItemPrivate::get(item)->widthValid;
never executed: return QQuickItemPrivate::get(item)->widthValid;
0
441}-
442-
443void QQuickDesignerSupport::updateDirtyNode(QQuickItem *item)-
444{-
445 if (item->window())
item->window()Description
TRUEnever evaluated
FALSEnever evaluated
0
446 QQuickWindowPrivate::get(item->window())->updateDirtyNode(item);
never executed: QQuickWindowPrivate::get(item->window())->updateDirtyNode(item);
0
447}
never executed: end of block
0
448-
449void QQuickDesignerSupport::activateDesignerWindowManager()-
450{-
451 QSGRenderLoop::setInstance(new QQuickDesignerWindowManager);-
452}
never executed: end of block
0
453-
454void QQuickDesignerSupport::activateDesignerMode()-
455{-
456 QQmlEnginePrivate::activateDesignerMode();-
457}
never executed: end of block
0
458-
459void QQuickDesignerSupport::disableComponentComplete()-
460{-
461 QQmlVME::disableComponentComplete();-
462}
executed 4 times by 1 test: end of block
Executed by:
  • tst_qquickdesignersupport
4
463-
464void QQuickDesignerSupport::enableComponentComplete()-
465{-
466 QQmlVME::enableComponentComplete();-
467}
executed 4 times by 1 test: end of block
Executed by:
  • tst_qquickdesignersupport
4
468-
469void QQuickDesignerSupport::createOpenGLContext(QQuickWindow *window)-
470{-
471 QQuickDesignerWindowManager::createOpenGLContext(window);-
472}
never executed: end of block
0
473-
474void QQuickDesignerSupport::polishItems(QQuickWindow *window)-
475{-
476 QQuickWindowPrivate::get(window)->polishItems();-
477}
never executed: end of block
0
478-
479ComponentCompleteDisabler::ComponentCompleteDisabler()-
480{-
481 QQuickDesignerSupport::disableComponentComplete();-
482}
executed 4 times by 1 test: end of block
Executed by:
  • tst_qquickdesignersupport
4
483-
484ComponentCompleteDisabler::~ComponentCompleteDisabler()-
485{-
486 QQuickDesignerSupport::enableComponentComplete();-
487}
executed 4 times by 1 test: end of block
Executed by:
  • tst_qquickdesignersupport
4
488-
489-
490QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0