qgraphicsscene.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/graphicsview/qgraphicsscene.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event);-
11-
12static void _q_hoverFromMouseEvent(QGraphicsSceneHoverEvent *hover, const QGraphicsSceneMouseEvent *mouseEvent)-
13{-
14 hover->setWidget(mouseEvent->widget());-
15 hover->setPos(mouseEvent->pos());-
16 hover->setScenePos(mouseEvent->scenePos());-
17 hover->setScreenPos(mouseEvent->screenPos());-
18 hover->setLastPos(mouseEvent->lastPos());-
19 hover->setLastScenePos(mouseEvent->lastScenePos());-
20 hover->setLastScreenPos(mouseEvent->lastScreenPos());-
21 hover->setModifiers(mouseEvent->modifiers());-
22 hover->setAccepted(mouseEvent->isAccepted());-
23}
never executed: end of block
0
24-
25-
26-
27-
28QGraphicsScenePrivate::QGraphicsScenePrivate()-
29 : indexMethod(QGraphicsScene::BspTreeIndex),-
30 index(0),-
31 lastItemCount(0),-
32 hasSceneRect(false),-
33 dirtyGrowingItemsBoundingRect(true),-
34 updateAll(false),-
35 calledEmitUpdated(false),-
36 processDirtyItemsEmitted(false),-
37 needSortTopLevelItems(true),-
38 holesInTopLevelSiblingIndex(false),-
39 topLevelSequentialOrdering(true),-
40 scenePosDescendantsUpdatePending(false),-
41 stickyFocus(false),-
42 hasFocus(false),-
43 lastMouseGrabberItemHasImplicitMouseGrab(false),-
44 allItemsIgnoreHoverEvents(true),-
45 allItemsUseDefaultCursor(true),-
46 painterStateProtection(true),-
47 sortCacheEnabled(false),-
48 allItemsIgnoreTouchEvents(true),-
49 minimumRenderSize(0.0),-
50 selectionChanging(0),-
51 rectAdjust(2),-
52 focusItem(0),-
53 lastFocusItem(0),-
54 passiveFocusItem(0),-
55 tabFocusFirst(0),-
56 activePanel(0),-
57 lastActivePanel(0),-
58 activationRefCount(0),-
59 childExplicitActivation(0),-
60 lastMouseGrabberItem(0),-
61 dragDropItem(0),-
62 enterWidget(0),-
63 lastDropAction(Qt::IgnoreAction),-
64 style(0)-
65{-
66}
never executed: end of block
0
67-
68-
69-
70-
71void QGraphicsScenePrivate::init()-
72{-
73 QGraphicsScene * const q = q_func();-
74-
75 index = new QGraphicsSceneBspTreeIndex(q);-
76-
77-
78 changedSignalIndex = signalIndex("changed(QList<QRectF>)");-
79 processDirtyItemsIndex = q->metaObject()->indexOfSlot("_q_processDirtyItems()");-
80 polishItemsIndex = q->metaObject()->indexOfSlot("_q_polishItems()");-
81-
82 (static_cast<QApplication *>(QCoreApplication::instance()))->d_func()->scene_list.append(q);-
83 q->update();-
84}
never executed: end of block
0
85-
86-
87-
88-
89QGraphicsScenePrivate *QGraphicsScenePrivate::get(QGraphicsScene *q)-
90{-
91 return
never executed: return q->d_func();
q->d_func();
never executed: return q->d_func();
0
92}-
93-
94void QGraphicsScenePrivate::_q_emitUpdated()-
95{-
96 QGraphicsScene * const q = q_func();-
97 calledEmitUpdated = false;-
98-
99 if (dirtyGrowingItemsBoundingRect
dirtyGrowingItemsBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
100 if (!hasSceneRect
!hasSceneRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
101 const QRectF oldGrowingItemsBoundingRect = growingItemsBoundingRect;-
102 growingItemsBoundingRect |= q->itemsBoundingRect();-
103 if (oldGrowingItemsBoundingRect != growingItemsBoundingRect
oldGrowingItem...msBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
104 q->sceneRectChanged(growingItemsBoundingRect);
never executed: q->sceneRectChanged(growingItemsBoundingRect);
0
105 }
never executed: end of block
0
106 dirtyGrowingItemsBoundingRect = false;-
107 }
never executed: end of block
0
108-
109-
110-
111-
112-
113 if (isSignalConnected(changedSignalIndex)
isSignalConnec...edSignalIndex)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
114 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
115 QGraphicsView *view = views.at(i);-
116 if (!view->d_func()->connectedToScene
!view->d_func(...nnectedToSceneDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
117 view->d_func()->connectedToScene = true;-
118 q->connect(q, qFlagLocation("2""changed(QList<QRectF>)" "\0" __FILE__ ":" "363"),-
119 views.at(i), qFlagLocation("1""updateScene(QList<QRectF>)" "\0" __FILE__ ":" "364"));-
120 }
never executed: end of block
0
121 }
never executed: end of block
0
122 }
never executed: end of block
else {
0
123 if (views.isEmpty()
views.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
124 updateAll = false;-
125 return;
never executed: return;
0
126 }-
127 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
128 views.at(i)->d_func()->processPendingUpdates();
never executed: views.at(i)->d_func()->processPendingUpdates();
0
129-
130 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
131 views.at(i)->d_func()->dispatchPendingUpdateRequests();
never executed: views.at(i)->d_func()->dispatchPendingUpdateRequests();
0
132 return;
never executed: return;
0
133 }-
134-
135-
136 QList<QRectF> oldUpdatedRects;-
137 oldUpdatedRects = updateAll
updateAllDescription
TRUEnever evaluated
FALSEnever evaluated
? (QList<QRectF>() << q->sceneRect()) : updatedRects;
0
138 updateAll = false;-
139 updatedRects.clear();-
140 q->changed(oldUpdatedRects);-
141}
never executed: end of block
0
142-
143-
144-
145-
146-
147-
148void QGraphicsScenePrivate::registerTopLevelItem(QGraphicsItem *item)-
149{-
150 ensureSequentialTopLevelSiblingIndexes();-
151 needSortTopLevelItems = true;-
152 item->d_ptr->siblingIndex = topLevelItems.size();-
153 topLevelItems.append(item);-
154}
never executed: end of block
0
155-
156-
157-
158-
159-
160-
161void QGraphicsScenePrivate::unregisterTopLevelItem(QGraphicsItem *item)-
162{-
163 if (!holesInTopLevelSiblingIndex
!holesInTopLevelSiblingIndexDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
164 holesInTopLevelSiblingIndex = item->d_ptr->siblingIndex != topLevelItems.size() - 1;
never executed: holesInTopLevelSiblingIndex = item->d_ptr->siblingIndex != topLevelItems.size() - 1;
0
165 if (topLevelSequentialOrdering
topLevelSequentialOrderingDescription
TRUEnever evaluated
FALSEnever evaluated
&& !holesInTopLevelSiblingIndex
!holesInTopLevelSiblingIndexDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
166 topLevelItems.removeAt(item->d_ptr->siblingIndex);
never executed: topLevelItems.removeAt(item->d_ptr->siblingIndex);
0
167 else-
168 topLevelItems.removeOne(item);
never executed: topLevelItems.removeOne(item);
0
169-
170-
171-
172 item->d_ptr->siblingIndex = -1;-
173 if (topLevelSequentialOrdering
topLevelSequentialOrderingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
174 topLevelSequentialOrdering = !holesInTopLevelSiblingIndex;
never executed: topLevelSequentialOrdering = !holesInTopLevelSiblingIndex;
0
175}
never executed: end of block
0
176-
177-
178-
179-
180void QGraphicsScenePrivate::_q_polishItems()-
181{-
182 if (unpolishedItems.isEmpty()
unpolishedItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
183 return;
never executed: return;
0
184-
185 const QVariant booleanTrueVariant(true);-
186 QGraphicsItem *item = 0;-
187 QGraphicsItemPrivate *itemd = 0;-
188 const int oldUnpolishedCount = unpolishedItems.count();-
189-
190 for (int i = 0; i < oldUnpolishedCount
i < oldUnpolishedCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
191 item = unpolishedItems.at(i);-
192 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
193 continue;
never executed: continue;
0
194 itemd = item->d_ptr.data();-
195 itemd->pendingPolish = false;-
196 if (!itemd->explicitlyHidden
!itemd->explicitlyHiddenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
197 item->itemChange(QGraphicsItem::ItemVisibleChange, booleanTrueVariant);-
198 item->itemChange(QGraphicsItem::ItemVisibleHasChanged, booleanTrueVariant);-
199 }
never executed: end of block
0
200 if (itemd->isWidget
itemd->isWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
201 QEvent event(QEvent::Polish);-
202 QApplication::sendEvent((QGraphicsWidget *)item, &event);-
203 }
never executed: end of block
0
204 }
never executed: end of block
0
205-
206 if (unpolishedItems.count() == oldUnpolishedCount
unpolishedItem...npolishedCountDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
207-
208 unpolishedItems.clear();-
209 }
never executed: end of block
else {
0
210-
211 unpolishedItems.remove(0, oldUnpolishedCount);-
212 unpolishedItems.squeeze();-
213 QMetaObject::invokeMethod(q_ptr, "_q_polishItems", Qt::QueuedConnection);-
214 }
never executed: end of block
0
215}-
216-
217void QGraphicsScenePrivate::_q_processDirtyItems()-
218{-
219 processDirtyItemsEmitted = false;-
220-
221 if (updateAll
updateAllDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
222 ((!(calledEmitUpdated)) ? qt_assert("calledEmitUpdated",__FILE__,467) : qt_noop());-
223-
224-
225 for (int i = 0; i < topLevelItems.size()
i < topLevelItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
226 resetDirtyItem(topLevelItems.at(i), true);
never executed: resetDirtyItem(topLevelItems.at(i), true);
0
227 return;
never executed: return;
0
228 }-
229-
230 const bool wasPendingSceneUpdate = calledEmitUpdated;-
231 const QRectF oldGrowingItemsBoundingRect = growingItemsBoundingRect;-
232-
233-
234 for (int i = 0; i < topLevelItems.size()
i < topLevelItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
235 processDirtyItemsRecursive(topLevelItems.at(i));
never executed: processDirtyItemsRecursive(topLevelItems.at(i));
0
236-
237 dirtyGrowingItemsBoundingRect = false;-
238 if (!hasSceneRect
!hasSceneRectDescription
TRUEnever evaluated
FALSEnever evaluated
&& oldGrowingItemsBoundingRect != growingItemsBoundingRect
oldGrowingItem...msBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
239 q_func()->sceneRectChanged(growingItemsBoundingRect);
never executed: q_func()->sceneRectChanged(growingItemsBoundingRect);
0
240-
241 if (wasPendingSceneUpdate
wasPendingSceneUpdateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
242 return;
never executed: return;
0
243-
244 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
245 views.at(i)->d_func()->processPendingUpdates();
never executed: views.at(i)->d_func()->processPendingUpdates();
0
246-
247 if (calledEmitUpdated
calledEmitUpdatedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
248-
249-
250-
251 _q_emitUpdated();-
252 }
never executed: end of block
0
253-
254-
255 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
256 views.at(i)->d_func()->dispatchPendingUpdateRequests();
never executed: views.at(i)->d_func()->dispatchPendingUpdateRequests();
0
257}
never executed: end of block
0
258-
259-
260-
261-
262void QGraphicsScenePrivate::setScenePosItemEnabled(QGraphicsItem *item, bool enabled)-
263{-
264 QGraphicsItem *p = item->d_ptr->parent;-
265 while (p
pDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
266 p->d_ptr->scenePosDescendants = enabled;-
267 p = p->d_ptr->parent;-
268 }
never executed: end of block
0
269 if (!enabled
!enabledDescription
TRUEnever evaluated
FALSEnever evaluated
&& !scenePosDescendantsUpdatePending
!scenePosDesce...sUpdatePendingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
270 scenePosDescendantsUpdatePending = true;-
271 QMetaObject::invokeMethod(q_func(), "_q_updateScenePosDescendants", Qt::QueuedConnection);-
272 }
never executed: end of block
0
273}
never executed: end of block
0
274-
275-
276-
277-
278void QGraphicsScenePrivate::registerScenePosItem(QGraphicsItem *item)-
279{-
280 scenePosItems.insert(item);-
281 setScenePosItemEnabled(item, true);-
282}
never executed: end of block
0
283-
284-
285-
286-
287void QGraphicsScenePrivate::unregisterScenePosItem(QGraphicsItem *item)-
288{-
289 scenePosItems.remove(item);-
290 setScenePosItemEnabled(item, false);-
291}
never executed: end of block
0
292-
293-
294-
295-
296void QGraphicsScenePrivate::_q_updateScenePosDescendants()-
297{-
298 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(scenePosItems)>::type> _container_((scenePosItems)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
299 QGraphicsItem *p = item->d_ptr->parent;-
300 while (p
pDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
301 p->d_ptr->scenePosDescendants = 1;-
302 p = p->d_ptr->parent;-
303 }
never executed: end of block
0
304 }
never executed: end of block
0
305 scenePosDescendantsUpdatePending = false;-
306}
never executed: end of block
0
307void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)-
308{-
309 QGraphicsScene * const q = q_func();-
310-
311-
312 item->clearFocus();-
313-
314 markDirty(item, QRectF(), false, false,-
315 false, true);-
316-
317 if (item->d_ptr->inDestructor
item->d_ptr->inDestructorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
318-
319 index->deleteItem(item);-
320 }
never executed: end of block
else {
0
321-
322-
323 index->removeItem(item);-
324 }
never executed: end of block
0
325-
326 item->d_ptr->clearSubFocus();-
327-
328 if (item->flags() & QGraphicsItem::ItemSendsScenePositionChanges
item->flags() ...ositionChangesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
329 unregisterScenePosItem(item);
never executed: unregisterScenePosItem(item);
0
330-
331 QGraphicsScene *oldScene = item->d_func()->scene;-
332 item->d_func()->scene = 0;-
333-
334-
335-
336 if (!item->d_ptr->inDestructor
!item->d_ptr->inDestructorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
337-
338 for (int i = 0; i < item->d_ptr->children.size()
i < item->d_pt...hildren.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
339 q->removeItem(item->d_ptr->children.at(i));
never executed: q->removeItem(item->d_ptr->children.at(i));
0
340 }
never executed: end of block
0
341-
342 if (!item->d_ptr->inDestructor
!item->d_ptr->inDestructorDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
343 QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);-
344 widget->d_func()->fixFocusChainBeforeReparenting(0, oldScene, 0);-
345 }
never executed: end of block
0
346-
347-
348 item->d_ptr->resetFocusProxy();-
349-
350-
351 if (QGraphicsItem *parentItem = item->parentItem()
QGraphicsItem ...->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
352 if (parentItem->scene()
parentItem->scene()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
353 ((!(parentItem->scene() == q)) ? qt_assert_x("QGraphicsScene::removeItem", "Parent item's scene is different from this item's scene",-
354 __FILE__-
355 ,-
356 612-
357 ) : qt_noop())-
358 ;-
359 item->setParentItem(0);-
360 }
never executed: end of block
0
361 }
never executed: end of block
else {
0
362 unregisterTopLevelItem(item);-
363 }
never executed: end of block
0
364-
365-
366 if (item == focusItem
item == focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
367 focusItem = 0;
never executed: focusItem = 0;
0
368 if (item == lastFocusItem
item == lastFocusItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
369 lastFocusItem = 0;
never executed: lastFocusItem = 0;
0
370 if (item == passiveFocusItem
item == passiveFocusItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
371 passiveFocusItem = 0;
never executed: passiveFocusItem = 0;
0
372 if (item == activePanel
item == activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
373-
374 activePanel = 0;-
375 }
never executed: end of block
0
376 if (item == lastActivePanel
item == lastActivePanelDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
377 lastActivePanel = 0;
never executed: lastActivePanel = 0;
0
378-
379-
380 if (item == tabFocusFirst
item == tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
381 QGraphicsWidgetPrivate *wd = tabFocusFirst->d_func();-
382 if (wd->focusNext
wd->focusNextDescription
TRUEnever evaluated
FALSEnever evaluated
&& wd->focusNext != tabFocusFirst
wd->focusNext != tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
&& wd->focusNext->scene() == q
wd->focusNext->scene() == qDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
383 tabFocusFirst = wd->focusNext;
never executed: tabFocusFirst = wd->focusNext;
0
384 else-
385 tabFocusFirst = 0;
never executed: tabFocusFirst = 0;
0
386 }-
387-
388-
389 {-
390 QMap<int, QGraphicsItem *>::iterator it = itemForTouchPointId.begin();-
391 while (it != itemForTouchPointId.end()
it != itemForT...hPointId.end()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
392 if (it.value() == item
it.value() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
393 sceneCurrentTouchPoints.remove(it.key());-
394 it = itemForTouchPointId.erase(it);-
395 }
never executed: end of block
else {
0
396 ++it;-
397 }
never executed: end of block
0
398 }-
399 }-
400-
401-
402 ++selectionChanging;-
403 int oldSelectedItemsSize = selectedItems.size();-
404-
405-
406 selectedItems.remove(item);-
407 hoverItems.removeAll(item);-
408 cachedItemsUnderMouse.removeAll(item);-
409 if (item->d_ptr->pendingPolish
item->d_ptr->pendingPolishDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
410 const int unpolishedIndex = unpolishedItems.indexOf(item);-
411 if (unpolishedIndex != -1
unpolishedIndex != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
412 unpolishedItems[unpolishedIndex] = 0;
never executed: unpolishedItems[unpolishedIndex] = 0;
0
413 item->d_ptr->pendingPolish = false;-
414 }
never executed: end of block
0
415 resetDirtyItem(item);-
416-
417-
418 QMultiMap<QGraphicsItem*, QGraphicsItem*>::iterator iterator = sceneEventFilters.begin();-
419 while (iterator != sceneEventFilters.end()
iterator != sc...tFilters.end()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
420 if (iterator.value() == item
iterator.value() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
|| iterator.key() == item
iterator.key() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
421 iterator = sceneEventFilters.erase(iterator);
never executed: iterator = sceneEventFilters.erase(iterator);
0
422 else-
423 ++
never executed: ++iterator;
iterator;
never executed: ++iterator;
0
424 }-
425-
426 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->panelModality() != QGraphicsItem::NonModal
item->panelMod...Item::NonModalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
427 leaveModal(item);
never executed: leaveModal(item);
0
428-
429-
430 if (mouseGrabberItems.contains(item)
mouseGrabberIt...contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
431 ungrabMouse(item, item->d_ptr->inDestructor);
never executed: ungrabMouse(item, item->d_ptr->inDestructor);
0
432-
433-
434 if (keyboardGrabberItems.contains(item)
keyboardGrabbe...contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
435 ungrabKeyboard(item, item->d_ptr->inDestructor);
never executed: ungrabKeyboard(item, item->d_ptr->inDestructor);
0
436-
437-
438 if (item == lastMouseGrabberItem
item == lastMouseGrabberItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
439 lastMouseGrabberItem = 0;
never executed: lastMouseGrabberItem = 0;
0
440-
441-
442 if (item == dragDropItem
item == dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
443 dragDropItem = 0;
never executed: dragDropItem = 0;
0
444-
445-
446 --selectionChanging;-
447 if (!selectionChanging
!selectionChangingDescription
TRUEnever evaluated
FALSEnever evaluated
&& selectedItems.size() != oldSelectedItemsSize
selectedItems....ectedItemsSizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
448 q->selectionChanged();
never executed: q->selectionChanged();
0
449-
450-
451 QHash<QGesture *, QGraphicsObject *>::iterator it;-
452 for (it = gestureTargets.begin(); it != gestureTargets.end()
it != gestureTargets.end()Description
TRUEnever evaluated
FALSEnever evaluated
;) {
0
453 if (it.value() == item
it.value() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
454 it = gestureTargets.erase(it);
never executed: it = gestureTargets.erase(it);
0
455 else-
456 ++
never executed: ++it;
it;
never executed: ++it;
0
457 }-
458-
459 if (QGraphicsObject *dummy = item->toGraphicsObject()
QGraphicsObjec...aphicsObject()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
460 cachedTargetItems.removeOne(dummy);-
461 cachedItemGestures.remove(dummy);-
462 cachedAlreadyDeliveredGestures.remove(dummy);-
463 }
never executed: end of block
0
464-
465 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(item->d_ptr->gestureContext.keys())>::type> _container_((item->d_ptr->gestureContext.keys())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (Qt::GestureType gesture = *_container_.i; _container_.control; _container_.control = 0)-
466 ungrabGesture(item, gesture);
never executed: ungrabGesture(item, gesture);
0
467-
468}
never executed: end of block
0
469-
470-
471-
472-
473void QGraphicsScenePrivate::setActivePanelHelper(QGraphicsItem *item, bool duringActivationEvent)-
474{-
475 QGraphicsScene * const q = q_func();-
476 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->scene() != q
item->scene() != qDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
477 QMessageLogger(__FILE__, 731, __PRETTY_FUNCTION__).warning("QGraphicsScene::setActivePanel: item %p must be part of this scene",-
478 item);-
479 return;
never executed: return;
0
480 }-
481-
482-
483 q->setFocus(Qt::ActiveWindowFocusReason);-
484-
485-
486 QGraphicsItem *panel = item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
? item->panel() : 0;
0
487 lastActivePanel = panel
panelDescription
TRUEnever evaluated
FALSEnever evaluated
? activePanel : 0;
0
488 if (panel == activePanel
panel == activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
|| (!q->isActive()
!q->isActive()Description
TRUEnever evaluated
FALSEnever evaluated
&& !duringActivationEvent
!duringActivationEventDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
489 return;
never executed: return;
0
490-
491 QGraphicsItem *oldFocusItem = focusItem;-
492-
493-
494 if (activePanel
activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
495 if (QGraphicsItem *fi = activePanel->focusItem()
QGraphicsItem ...l->focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
496-
497 if (fi == q->focusItem()
fi == q->focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
498 setFocusItemHelper(0, Qt::ActiveWindowFocusReason, false);
never executed: setFocusItemHelper(0, Qt::ActiveWindowFocusReason, false);
0
499 }
never executed: end of block
0
500-
501 QEvent event(QEvent::WindowDeactivate);-
502 q->sendEvent(activePanel, &event);-
503 }
never executed: end of block
else if (panel
panelDescription
TRUEnever evaluated
FALSEnever evaluated
&& !duringActivationEvent
!duringActivationEventDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
504-
505 QEvent event(QEvent::WindowDeactivate);-
506 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(q->items())>::type> _container_((q->items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
507 if (item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isPanel()
!item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
508 q->sendEvent(item, &event);
never executed: q->sendEvent(item, &event);
0
509 }
never executed: end of block
0
510 }
never executed: end of block
0
511-
512-
513 activePanel = panel;-
514 QEvent event(QEvent::ActivationChange);-
515 QApplication::sendEvent(q, &event);-
516-
517-
518 if (panel
panelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
519 QEvent event(QEvent::WindowActivate);-
520 q->sendEvent(panel, &event);-
521-
522-
523-
524-
525 if (QGraphicsItem *focusItem = panel->focusItem()
QGraphicsItem ...l->focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
526 setFocusItemHelper(focusItem, Qt::ActiveWindowFocusReason, false);-
527 }
never executed: end of block
else if (panel->flags() & QGraphicsItem::ItemIsFocusable
panel->flags()...temIsFocusableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
528 setFocusItemHelper(panel, Qt::ActiveWindowFocusReason, false);-
529 }
never executed: end of block
else if (panel->isWidget()
panel->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
530 QGraphicsWidget *fw = static_cast<QGraphicsWidget *>(panel)->d_func()->focusNext;-
531 do {-
532 if (fw->focusPolicy() & Qt::TabFocus
fw->focusPolic...& Qt::TabFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
533 setFocusItemHelper(fw, Qt::ActiveWindowFocusReason, false);-
534 break;
never executed: break;
0
535 }-
536 fw = fw->d_func()->focusNext;-
537 }
never executed: end of block
while (fw != panel
fw != panelDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
538 }
never executed: end of block
0
539 }
never executed: end of block
else if (q->isActive()
q->isActive()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
540-
541 QEvent event(QEvent::WindowActivate);-
542 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(q->items())>::type> _container_((q->items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
543 if (item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isPanel()
!item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
544 q->sendEvent(item, &event);
never executed: q->sendEvent(item, &event);
0
545 }
never executed: end of block
0
546 }
never executed: end of block
0
547-
548 q->focusItemChanged(focusItem, oldFocusItem, Qt::ActiveWindowFocusReason);-
549}
never executed: end of block
0
550void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item,-
551 Qt::FocusReason focusReason,-
552 bool emitFocusChanged)-
553{-
554 QGraphicsScene * const q = q_func();-
555 if (item == focusItem
item == focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
556 return;
never executed: return;
0
557-
558-
559-
560 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& (!(item->flags() & QGraphicsItem::ItemIsFocusable)
!(item->flags(...emIsFocusable)Description
TRUEnever evaluated
FALSEnever evaluated
0
561 || !item->isVisible()
!item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
|| !item->isEnabled()
!item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
562 item = 0;-
563 }
never executed: end of block
0
564-
565-
566 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
567 q->setFocus(focusReason);-
568 if (item == focusItem
item == focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
569 if (emitFocusChanged
emitFocusChangedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
570 q->focusItemChanged(focusItem, (QGraphicsItem *)0, focusReason);
never executed: q->focusItemChanged(focusItem, (QGraphicsItem *)0, focusReason);
0
571 return;
never executed: return;
0
572 }-
573 }
never executed: end of block
0
574-
575 QGraphicsItem *oldFocusItem = focusItem;-
576 if (focusItem
focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
577 lastFocusItem = focusItem;-
578-
579-
580 if (lastFocusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod
lastFocusItem-...ptsInputMethodDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
581-
582-
583-
584-
585 if ((static_cast<
(static_cast<Q...::instance()))Description
TRUEnever evaluated
FALSEnever evaluated
QApplication *>(QCoreApplication::instance()))
(static_cast<Q...::instance()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
586 QGuiApplication::inputMethod()->commit();
never executed: QGuiApplication::inputMethod()->commit();
0
587 }
never executed: end of block
0
588-
589-
590 focusItem = 0;-
591 QFocusEvent event(QEvent::FocusOut, focusReason);-
592 sendEvent(lastFocusItem, &event);-
593 }
never executed: end of block
0
594-
595-
596-
597 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->scene() != q
item->scene() != qDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
598 item = 0;
never executed: item = 0;
0
599-
600 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
601 focusItem = item;
never executed: focusItem = item;
0
602 updateInputMethodSensitivityInViews();-
603-
604 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
605 QFocusEvent event(QEvent::FocusIn, focusReason);-
606 sendEvent(item, &event);-
607 }
never executed: end of block
0
608-
609 if (emitFocusChanged
emitFocusChangedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
610 q->focusItemChanged(focusItem, oldFocusItem, focusReason);
never executed: q->focusItemChanged(focusItem, oldFocusItem, focusReason);
0
611}
never executed: end of block
0
612-
613-
614-
615-
616void QGraphicsScenePrivate::addPopup(QGraphicsWidget *widget)-
617{-
618 ((!(widget)) ? qt_assert("widget",__FILE__,883) : qt_noop());-
619 ((!(!popupWidgets.contains(widget))) ? qt_assert("!popupWidgets.contains(widget)",__FILE__,884) : qt_noop());-
620 popupWidgets << widget;-
621 if (QGraphicsWidget *focusWidget = widget->focusWidget()
QGraphicsWidge...>focusWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
622 focusWidget->setFocus(Qt::PopupFocusReason);-
623 }
never executed: end of block
else {
0
624 grabKeyboard((QGraphicsItem *)widget);-
625 if (focusItem
focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& popupWidgets.size() == 1
popupWidgets.size() == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
626 QFocusEvent event(QEvent::FocusOut, Qt::PopupFocusReason);-
627 sendEvent(focusItem, &event);-
628 }
never executed: end of block
0
629 }
never executed: end of block
0
630 grabMouse((QGraphicsItem *)widget);-
631}
never executed: end of block
0
632void QGraphicsScenePrivate::removePopup(QGraphicsWidget *widget, bool itemIsDying)-
633{-
634 ((!(widget)) ? qt_assert("widget",__FILE__,909) : qt_noop());-
635 int index = popupWidgets.indexOf(widget);-
636 ((!(index != -1)) ? qt_assert("index != -1",__FILE__,911) : qt_noop());-
637-
638 for (int i = popupWidgets.size() - 1; i >= index
i >= indexDescription
TRUEnever evaluated
FALSEnever evaluated
; --i) {
0
639 QGraphicsWidget *widget = popupWidgets.takeLast();-
640 ungrabMouse(widget, itemIsDying);-
641 if (focusItem
focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& popupWidgets.isEmpty()
popupWidgets.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
642 QFocusEvent event(QEvent::FocusIn, Qt::PopupFocusReason);-
643 sendEvent(focusItem, &event);-
644 }
never executed: end of block
else if (keyboardGrabberItems.contains(static_cast<QGraphicsItem *>(widget))
keyboardGrabbe...em *>(widget))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
645 ungrabKeyboard(static_cast<QGraphicsItem *>(widget), itemIsDying);-
646 }
never executed: end of block
0
647 if (!itemIsDying
!itemIsDyingDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget->isVisible()
widget->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
648 widget->QGraphicsItem::d_ptr->setVisibleHelper(false, false);-
649 }
never executed: end of block
0
650 }
never executed: end of block
0
651}
never executed: end of block
0
652-
653-
654-
655-
656void QGraphicsScenePrivate::grabMouse(QGraphicsItem *item, bool implicit)-
657{-
658-
659 if (mouseGrabberItems.contains(item)
mouseGrabberIt...contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
660 if (mouseGrabberItems.last() == item
mouseGrabberIt...last() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
661 ((!(!implicit)) ? qt_assert("!implicit",__FILE__,936) : qt_noop());-
662 if (!lastMouseGrabberItemHasImplicitMouseGrab
!lastMouseGrab...licitMouseGrabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
663 QMessageLogger(__FILE__, 938, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabMouse: already a mouse grabber");-
664 }
never executed: end of block
else {
0
665-
666 lastMouseGrabberItemHasImplicitMouseGrab = false;-
667 }
never executed: end of block
0
668 } else {-
669 QMessageLogger(__FILE__, 944, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabMouse: already blocked by mouse grabber: %p",-
670 mouseGrabberItems.last());-
671 }
never executed: end of block
0
672 return;
never executed: return;
0
673 }-
674-
675-
676 if (!mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
677 QGraphicsItem *last = mouseGrabberItems.last();-
678 if (lastMouseGrabberItemHasImplicitMouseGrab
lastMouseGrabb...licitMouseGrabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
679-
680 last->ungrabMouse();-
681 }
never executed: end of block
else {
0
682-
683 QEvent ungrabEvent(QEvent::UngrabMouse);-
684 sendEvent(last, &ungrabEvent);-
685 }
never executed: end of block
0
686 }-
687-
688 mouseGrabberItems << item;-
689 lastMouseGrabberItemHasImplicitMouseGrab = implicit;-
690-
691-
692 QEvent grabEvent(QEvent::GrabMouse);-
693 sendEvent(item, &grabEvent);-
694}
never executed: end of block
0
695-
696-
697-
698-
699void QGraphicsScenePrivate::ungrabMouse(QGraphicsItem *item, bool itemIsDying)-
700{-
701 int index = mouseGrabberItems.indexOf(item);-
702 if (index == -1
index == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
703 QMessageLogger(__FILE__, 978, __PRETTY_FUNCTION__).warning("QGraphicsItem::ungrabMouse: not a mouse grabber");-
704 return;
never executed: return;
0
705 }-
706-
707 if (item != mouseGrabberItems.last()
item != mouseG...erItems.last()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
708-
709-
710 ungrabMouse(mouseGrabberItems.at(index + 1), itemIsDying);-
711 }
never executed: end of block
0
712 if (!popupWidgets.isEmpty()
!popupWidgets.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& item == popupWidgets.last()
item == popupWidgets.last()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
713-
714-
715-
716 removePopup(popupWidgets.constLast(), itemIsDying);-
717 return;
never executed: return;
0
718 }-
719-
720-
721 if (!itemIsDying
!itemIsDyingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
722 QEvent event(QEvent::UngrabMouse);-
723 sendEvent(item, &event);-
724 }
never executed: end of block
0
725-
726-
727-
728-
729-
730 mouseGrabberItems.takeLast();-
731 lastMouseGrabberItemHasImplicitMouseGrab = false;-
732-
733-
734-
735-
736 if (!itemIsDying
!itemIsDyingDescription
TRUEnever evaluated
FALSEnever evaluated
&& !mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
737 QGraphicsItem *last = mouseGrabberItems.last();-
738 QEvent event(QEvent::GrabMouse);-
739 sendEvent(last, &event);-
740 }
never executed: end of block
0
741}
never executed: end of block
0
742-
743-
744-
745-
746void QGraphicsScenePrivate::clearMouseGrabber()-
747{-
748 if (!mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
749 mouseGrabberItems.first()->ungrabMouse();
never executed: mouseGrabberItems.first()->ungrabMouse();
0
750 lastMouseGrabberItem = 0;-
751}
never executed: end of block
0
752-
753-
754-
755-
756void QGraphicsScenePrivate::grabKeyboard(QGraphicsItem *item)-
757{-
758 if (keyboardGrabberItems.contains(item)
keyboardGrabbe...contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
759 if (keyboardGrabberItems.last() == item
keyboardGrabbe...last() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
760 QMessageLogger(__FILE__, 1035, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabKeyboard: already a keyboard grabber");
never executed: QMessageLogger(__FILE__, 1035, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabKeyboard: already a keyboard grabber");
0
761 else-
762 QMessageLogger(__FILE__, 1037, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabKeyboard: already blocked by keyboard grabber: %p",
never executed: QMessageLogger(__FILE__, 1037, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabKeyboard: already blocked by keyboard grabber: %p", keyboardGrabberItems.last());
0
763 keyboardGrabberItems.last());
never executed: QMessageLogger(__FILE__, 1037, __PRETTY_FUNCTION__).warning("QGraphicsItem::grabKeyboard: already blocked by keyboard grabber: %p", keyboardGrabberItems.last());
0
764 return;
never executed: return;
0
765 }-
766-
767-
768 if (!keyboardGrabberItems.isEmpty()
!keyboardGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
769-
770 QEvent ungrabEvent(QEvent::UngrabKeyboard);-
771 sendEvent(keyboardGrabberItems.last(), &ungrabEvent);-
772 }
never executed: end of block
0
773-
774 keyboardGrabberItems << item;-
775-
776-
777 QEvent grabEvent(QEvent::GrabKeyboard);-
778 sendEvent(item, &grabEvent);-
779}
never executed: end of block
0
780-
781-
782-
783-
784void QGraphicsScenePrivate::ungrabKeyboard(QGraphicsItem *item, bool itemIsDying)-
785{-
786 int index = keyboardGrabberItems.lastIndexOf(item);-
787 if (index == -1
index == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
788 QMessageLogger(__FILE__, 1063, __PRETTY_FUNCTION__).warning("QGraphicsItem::ungrabKeyboard: not a keyboard grabber");-
789 return;
never executed: return;
0
790 }-
791 if (item != keyboardGrabberItems.last()
item != keyboa...erItems.last()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
792-
793-
794 ungrabKeyboard(keyboardGrabberItems.at(index + 1), itemIsDying);-
795 }
never executed: end of block
0
796-
797-
798 if (!itemIsDying
!itemIsDyingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
799 QEvent event(QEvent::UngrabKeyboard);-
800 sendEvent(item, &event);-
801 }
never executed: end of block
0
802-
803-
804 keyboardGrabberItems.takeLast();-
805-
806-
807 if (!itemIsDying
!itemIsDyingDescription
TRUEnever evaluated
FALSEnever evaluated
&& !keyboardGrabberItems.isEmpty()
!keyboardGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
808 QGraphicsItem *last = keyboardGrabberItems.last();-
809 QEvent event(QEvent::GrabKeyboard);-
810 sendEvent(last, &event);-
811 }
never executed: end of block
0
812}
never executed: end of block
0
813-
814-
815-
816-
817void QGraphicsScenePrivate::clearKeyboardGrabber()-
818{-
819 if (!keyboardGrabberItems.isEmpty()
!keyboardGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
820 ungrabKeyboard(keyboardGrabberItems.first());
never executed: ungrabKeyboard(keyboardGrabberItems.first());
0
821}
never executed: end of block
0
822-
823void QGraphicsScenePrivate::enableMouseTrackingOnViews()-
824{-
825 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views)>::type> _container_((views)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
826 view->viewport()->setMouseTracking(true);
never executed: view->viewport()->setMouseTracking(true);
0
827}
never executed: end of block
0
828-
829-
830-
831-
832QList<QGraphicsItem *> QGraphicsScenePrivate::itemsAtPosition(const QPoint &screenPos,-
833 const QPointF &scenePos,-
834 QWidget *widget) const-
835{-
836 const QGraphicsScene * const q = q_func();-
837 QGraphicsView *view = widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QGraphicsView *>(widget->parentWidget()) : 0;
0
838 if (!view
!viewDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
839 return
never executed: return q->items(scenePos, Qt::IntersectsItemShape, Qt::DescendingOrder, QTransform());
q->items(scenePos, Qt::IntersectsItemShape, Qt::DescendingOrder, QTransform());
never executed: return q->items(scenePos, Qt::IntersectsItemShape, Qt::DescendingOrder, QTransform());
0
840-
841 const QRectF pointRect(QPointF(widget->mapFromGlobal(screenPos)), QSizeF(1, 1));-
842 if (!view->isTransformed()
!view->isTransformed()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
843 return
never executed: return q->items(pointRect, Qt::IntersectsItemShape, Qt::DescendingOrder);
q->items(pointRect, Qt::IntersectsItemShape, Qt::DescendingOrder);
never executed: return q->items(pointRect, Qt::IntersectsItemShape, Qt::DescendingOrder);
0
844-
845 const QTransform viewTransform = view->viewportTransform();-
846 if (viewTransform.type() <= QTransform::TxScale
viewTransform....sform::TxScaleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
847 return
never executed: return q->items(viewTransform.inverted().mapRect(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
q->items(viewTransform.inverted().mapRect(pointRect), Qt::IntersectsItemShape,
never executed: return q->items(viewTransform.inverted().mapRect(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
0
848 Qt::DescendingOrder, viewTransform);
never executed: return q->items(viewTransform.inverted().mapRect(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
0
849 }-
850 return
never executed: return q->items(viewTransform.inverted().map(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
q->items(viewTransform.inverted().map(pointRect), Qt::IntersectsItemShape,
never executed: return q->items(viewTransform.inverted().map(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
0
851 Qt::DescendingOrder, viewTransform);
never executed: return q->items(viewTransform.inverted().map(pointRect), Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
0
852}-
853-
854-
855-
856-
857void QGraphicsScenePrivate::storeMouseButtonsForMouseGrabber(QGraphicsSceneMouseEvent *event)-
858{-
859 for (int i = 0x1; i <= 0x10
i <= 0x10Description
TRUEnever evaluated
FALSEnever evaluated
; i <<= 1) {
0
860 if (event->buttons() & i
event->buttons() & iDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
861 mouseGrabberButtonDownPos.insert(Qt::MouseButton(i),-
862 mouseGrabberItems.last()->d_ptr->genericMapFromScene(event->scenePos(),-
863 event->widget()));-
864 mouseGrabberButtonDownScenePos.insert(Qt::MouseButton(i), event->scenePos());-
865 mouseGrabberButtonDownScreenPos.insert(Qt::MouseButton(i), event->screenPos());-
866 }
never executed: end of block
0
867 }
never executed: end of block
0
868}
never executed: end of block
0
869-
870-
871-
872-
873void QGraphicsScenePrivate::installSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter)-
874{-
875 sceneEventFilters.insert(watched, filter);-
876}
never executed: end of block
0
877-
878-
879-
880-
881void QGraphicsScenePrivate::removeSceneEventFilter(QGraphicsItem *watched, QGraphicsItem *filter)-
882{-
883 if (!sceneEventFilters.contains(watched)
!sceneEventFil...tains(watched)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
884 return;
never executed: return;
0
885-
886 QMultiMap<QGraphicsItem *, QGraphicsItem *>::Iterator it = sceneEventFilters.lowerBound(watched);-
887 QMultiMap<QGraphicsItem *, QGraphicsItem *>::Iterator end = sceneEventFilters.upperBound(watched);-
888 do {-
889 if (it.value() == filter
it.value() == filterDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
890 it = sceneEventFilters.erase(it);
never executed: it = sceneEventFilters.erase(it);
0
891 else-
892 ++
never executed: ++it;
it;
never executed: ++it;
0
893 } while (it != end
it != endDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
894}
never executed: end of block
0
895-
896-
897-
898-
899bool QGraphicsScenePrivate::filterDescendantEvent(QGraphicsItem *item, QEvent *event)-
900{-
901 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(item->d_ptr->...rsChildEvents)Description
TRUEnever evaluated
FALSEnever evaluated
item->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorFiltersChildEvents)
(item->d_ptr->...rsChildEvents)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
902 QGraphicsItem *parent = item->parentItem();-
903 while (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
904 if (parent->d_ptr->filtersDescendantEvents
parent->d_ptr-...scendantEventsDescription
TRUEnever evaluated
FALSEnever evaluated
&& parent->sceneEventFilter(item, event)
parent->sceneE...r(item, event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
905 return
never executed: return true;
true;
never executed: return true;
0
906 if (!(parent->d_ptr->ancestorFlags & QGraphicsItemPrivate::AncestorFiltersChildEvents)
!(parent->d_pt...rsChildEvents)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
907 return
never executed: return false;
false;
never executed: return false;
0
908 parent = parent->parentItem();-
909 }
never executed: end of block
0
910 }
never executed: end of block
0
911 return
never executed: return false;
false;
never executed: return false;
0
912}-
913-
914-
915-
916-
917bool QGraphicsScenePrivate::filterEvent(QGraphicsItem *item, QEvent *event)-
918{-
919 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !sceneEventFilters.contains(item)
!sceneEventFil...contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
920 return
never executed: return false;
false;
never executed: return false;
0
921-
922 QMultiMap<QGraphicsItem *, QGraphicsItem *>::Iterator it = sceneEventFilters.lowerBound(item);-
923 QMultiMap<QGraphicsItem *, QGraphicsItem *>::Iterator end = sceneEventFilters.upperBound(item);-
924 while (it != end
it != endDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
925-
926 if (it.value()->sceneEventFilter(it.key(), event)
it.value()->sc....key(), event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
927 return
never executed: return true;
true;
never executed: return true;
0
928 ++it;-
929 }
never executed: end of block
0
930 return
never executed: return false;
false;
never executed: return false;
0
931}-
932bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event)-
933{-
934 if (QGraphicsObject *object = item->toGraphicsObject()
QGraphicsObjec...aphicsObject()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
935-
936 QGestureManager *gestureManager = QApplicationPrivate::instance()->gestureManager;-
937 if (gestureManager
gestureManagerDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
938 if (gestureManager->filterEvent(object, event)
gestureManager...object, event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
939 return
never executed: return true;
true;
never executed: return true;
0
940 }
never executed: end of block
0
941-
942 }
never executed: end of block
0
943-
944 if (filterEvent(item, event)
filterEvent(item, event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
945 return
never executed: return false;
false;
never executed: return false;
0
946 if (filterDescendantEvent(item, event)
filterDescenda...t(item, event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
947 return
never executed: return false;
false;
never executed: return false;
0
948 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
|| !item->isEnabled()
!item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
949 return
never executed: return false;
false;
never executed: return false;
0
950 if (QGraphicsObject *o = item->toGraphicsObject()
QGraphicsObjec...aphicsObject()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
951 bool spont = event->spontaneous();-
952 if (spont
spontDescription
TRUEnever evaluated
FALSEnever evaluated
? qt_sendSpontaneousEvent(o, event) : QApplication::sendEvent(o, event)
spont ? qt_sen...vent(o, event)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
953 return
never executed: return true;
true;
never executed: return true;
0
954 event->spont = spont;-
955 }
never executed: end of block
0
956 return
never executed: return item->sceneEvent(event);
item->sceneEvent(event);
never executed: return item->sceneEvent(event);
0
957}-
958-
959-
960-
961-
962void QGraphicsScenePrivate::cloneDragDropEvent(QGraphicsSceneDragDropEvent *dest,-
963 QGraphicsSceneDragDropEvent *source)-
964{-
965 dest->setWidget(source->widget());-
966 dest->setPos(source->pos());-
967 dest->setScenePos(source->scenePos());-
968 dest->setScreenPos(source->screenPos());-
969 dest->setButtons(source->buttons());-
970 dest->setModifiers(source->modifiers());-
971 dest->setPossibleActions(source->possibleActions());-
972 dest->setProposedAction(source->proposedAction());-
973 dest->setDropAction(source->dropAction());-
974 dest->setSource(source->source());-
975 dest->setMimeData(source->mimeData());-
976}
never executed: end of block
0
977-
978-
979-
980-
981void QGraphicsScenePrivate::sendDragDropEvent(QGraphicsItem *item,-
982 QGraphicsSceneDragDropEvent *dragDropEvent)-
983{-
984 dragDropEvent->setPos(item->d_ptr->genericMapFromScene(dragDropEvent->scenePos(), dragDropEvent->widget()));-
985 sendEvent(item, dragDropEvent);-
986}
never executed: end of block
0
987-
988-
989-
990-
991void QGraphicsScenePrivate::sendHoverEvent(QEvent::Type type, QGraphicsItem *item,-
992 QGraphicsSceneHoverEvent *hoverEvent)-
993{-
994 QGraphicsSceneHoverEvent event(type);-
995 event.setWidget(hoverEvent->widget());-
996 event.setPos(item->d_ptr->genericMapFromScene(hoverEvent->scenePos(), hoverEvent->widget()));-
997 event.setScenePos(hoverEvent->scenePos());-
998 event.setScreenPos(hoverEvent->screenPos());-
999 event.setLastPos(item->d_ptr->genericMapFromScene(hoverEvent->lastScenePos(), hoverEvent->widget()));-
1000 event.setLastScenePos(hoverEvent->lastScenePos());-
1001 event.setLastScreenPos(hoverEvent->lastScreenPos());-
1002 event.setModifiers(hoverEvent->modifiers());-
1003 sendEvent(item, &event);-
1004}
never executed: end of block
0
1005-
1006-
1007-
1008-
1009void QGraphicsScenePrivate::sendMouseEvent(QGraphicsSceneMouseEvent *mouseEvent)-
1010{-
1011 if (mouseEvent->button() == 0
mouseEvent->button() == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& mouseEvent->buttons() == 0
mouseEvent->buttons() == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& lastMouseGrabberItemHasImplicitMouseGrab
lastMouseGrabb...licitMouseGrabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1012-
1013-
1014 clearMouseGrabber();-
1015 return;
never executed: return;
0
1016 }-
1017-
1018 QGraphicsItem *item = mouseGrabberItems.last();-
1019 if (item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1020 return;
never executed: return;
0
1021-
1022 for (int i = 0x1; i <= 0x10
i <= 0x10Description
TRUEnever evaluated
FALSEnever evaluated
; i <<= 1) {
0
1023 Qt::MouseButton button = Qt::MouseButton(i);-
1024 mouseEvent->setButtonDownPos(button, mouseGrabberButtonDownPos.value(button, item->d_ptr->genericMapFromScene(mouseEvent->scenePos(), mouseEvent->widget())));-
1025 mouseEvent->setButtonDownScenePos(button, mouseGrabberButtonDownScenePos.value(button, mouseEvent->scenePos()));-
1026 mouseEvent->setButtonDownScreenPos(button, mouseGrabberButtonDownScreenPos.value(button, mouseEvent->screenPos()));-
1027 }
never executed: end of block
0
1028 mouseEvent->setPos(item->d_ptr->genericMapFromScene(mouseEvent->scenePos(), mouseEvent->widget()));-
1029 mouseEvent->setLastPos(item->d_ptr->genericMapFromScene(mouseEvent->lastScenePos(), mouseEvent->widget()));-
1030 sendEvent(item, mouseEvent);-
1031}
never executed: end of block
0
1032-
1033-
1034-
1035-
1036void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mouseEvent)-
1037{-
1038 QGraphicsScene * const q = q_func();-
1039-
1040-
1041 mouseEvent->ignore();-
1042-
1043-
1044 if (!mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1045 if (mouseGrabberItems.last()->isBlockedByModalPanel()
mouseGrabberIt...ByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1046 return;
never executed: return;
0
1047-
1048-
1049 sendMouseEvent(mouseEvent);-
1050 return;
never executed: return;
0
1051 }-
1052-
1053-
1054-
1055 if (cachedItemsUnderMouse.isEmpty()
cachedItemsUnd...ouse.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1056 cachedItemsUnderMouse = itemsAtPosition(mouseEvent->screenPos(),-
1057 mouseEvent->scenePos(),-
1058 mouseEvent->widget());-
1059 }
never executed: end of block
0
1060-
1061-
1062 QGraphicsItem *topItem = cachedItemsUnderMouse.value(0);-
1063 QGraphicsWidget *newActiveWindow = topItem
topItemDescription
TRUEnever evaluated
FALSEnever evaluated
? topItem->window() : 0;
0
1064 if (newActiveWindow
newActiveWindowDescription
TRUEnever evaluated
FALSEnever evaluated
&& newActiveWindow->isBlockedByModalPanel(&topItem)
newActiveWindo...anel(&topItem)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1065-
1066 newActiveWindow = topItem
topItemDescription
TRUEnever evaluated
FALSEnever evaluated
? topItem->window() : 0;
0
1067 }
never executed: end of block
0
1068-
1069 if (newActiveWindow != q->activeWindow()
newActiveWindo...activeWindow()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1070 q->setActiveWindow(newActiveWindow);
never executed: q->setActiveWindow(newActiveWindow);
0
1071-
1072-
1073 bool setFocus = false;-
1074-
1075 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(cachedItemsUnderMouse)>::type> _container_((cachedItemsUnderMouse)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1076 if (item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
0
1077 || (
(item->d_ptr->...FocusHandling)Description
TRUEnever evaluated
FALSEnever evaluated
item->d_ptr->flags & QGraphicsItem::ItemStopsFocusHandling)
(item->d_ptr->...FocusHandling)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1078-
1079 setFocus = true;-
1080 break;
never executed: break;
0
1081 }-
1082 if (item->isEnabled()
item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((item->flags(...mIsFocusable))Description
TRUEnever evaluated
FALSEnever evaluated
item->flags() & QGraphicsItem::ItemIsFocusable))
((item->flags(...mIsFocusable))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1083 if (!item->isWidget()
!item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
|| ((
((QGraphicsWid...Qt::ClickFocusDescription
TRUEnever evaluated
FALSEnever evaluated
QGraphicsWidget *)item)->focusPolicy() & Qt::ClickFocus
((QGraphicsWid...Qt::ClickFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1084 setFocus = true;-
1085 if (item != q->focusItem()
item != q->focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->mouseSetsFocus
item->d_ptr->mouseSetsFocusDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1086 q->setFocusItem(item, Qt::MouseFocusReason);
never executed: q->setFocusItem(item, Qt::MouseFocusReason);
0
1087 break;
never executed: break;
0
1088 }-
1089 }
never executed: end of block
0
1090 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1091 break;
never executed: break;
0
1092 if (item->d_ptr->flags & QGraphicsItem::ItemStopsClickFocusPropagation
item->d_ptr->f...cusPropagationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1093 break;
never executed: break;
0
1094 }
never executed: end of block
0
1095-
1096-
1097 bool sceneModality = false;-
1098 for (int i = 0; i < modalPanels.size()
i < modalPanels.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1099 if (modalPanels.at(i)->panelModality() == QGraphicsItem::SceneModal
modalPanels.at...em::SceneModalDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1100 sceneModality = true;-
1101 break;
never executed: break;
0
1102 }-
1103 }
never executed: end of block
0
1104-
1105-
1106 if (!stickyFocus
!stickyFocusDescription
TRUEnever evaluated
FALSEnever evaluated
&& !setFocus
!setFocusDescription
TRUEnever evaluated
FALSEnever evaluated
&& !sceneModality
!sceneModalityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1107 q->setFocusItem(0, Qt::MouseFocusReason);
never executed: q->setFocusItem(0, Qt::MouseFocusReason);
0
1108-
1109-
1110 if (sceneModality
sceneModalityDescription
TRUEnever evaluated
FALSEnever evaluated
&& cachedItemsUnderMouse.isEmpty()
cachedItemsUnd...ouse.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1111 cachedItemsUnderMouse << modalPanels.first();
never executed: cachedItemsUnderMouse << modalPanels.first();
0
1112-
1113-
1114-
1115-
1116-
1117 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(cachedItemsUnderMouse)>::type> _container_((cachedItemsUnderMouse)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1118 if (!(item->acceptedMouseButtons() & mouseEvent->button())
!(item->accept...ent->button())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1119-
1120 continue;
never executed: continue;
0
1121 }-
1122-
1123-
1124-
1125 (void) item->isBlockedByModalPanel(&item);-
1126-
1127 grabMouse(item, true);-
1128 mouseEvent->accept();-
1129-
1130-
1131 bool disabled = !item->isEnabled();-
1132 bool isPanel = item->isPanel();-
1133 if (mouseEvent->type() == QEvent::GraphicsSceneMouseDoubleClick
mouseEvent->ty...useDoubleClickDescription
TRUEnever evaluated
FALSEnever evaluated
0
1134 && item != lastMouseGrabberItem
item != lastMouseGrabberItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& lastMouseGrabberItem
lastMouseGrabberItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1135-
1136-
1137-
1138-
1139 QGraphicsSceneMouseEvent mousePress(QEvent::GraphicsSceneMousePress);-
1140 mousePress.spont = mouseEvent->spont;-
1141 mousePress.accept();-
1142 mousePress.setButton(mouseEvent->button());-
1143 mousePress.setButtons(mouseEvent->buttons());-
1144 mousePress.setScreenPos(mouseEvent->screenPos());-
1145 mousePress.setScenePos(mouseEvent->scenePos());-
1146 mousePress.setModifiers(mouseEvent->modifiers());-
1147 mousePress.setWidget(mouseEvent->widget());-
1148 mousePress.setButtonDownPos(mouseEvent->button(),-
1149 mouseEvent->buttonDownPos(mouseEvent->button()));-
1150 mousePress.setButtonDownScenePos(mouseEvent->button(),-
1151 mouseEvent->buttonDownScenePos(mouseEvent->button()));-
1152 mousePress.setButtonDownScreenPos(mouseEvent->button(),-
1153 mouseEvent->buttonDownScreenPos(mouseEvent->button()));-
1154 sendMouseEvent(&mousePress);-
1155 mouseEvent->setAccepted(mousePress.isAccepted());-
1156 }
never executed: end of block
else {
0
1157 sendMouseEvent(mouseEvent);-
1158 }
never executed: end of block
0
1159-
1160 bool dontSendUngrabEvents = mouseGrabberItems.isEmpty()
mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
|| mouseGrabberItems.last() != item
mouseGrabberIt...last() != itemDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
1161 if (disabled
disabledDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1162 ungrabMouse(item, dontSendUngrabEvents);-
1163 break;
never executed: break;
0
1164 }-
1165 if (mouseEvent->isAccepted()
mouseEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1166 if (!mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1167 storeMouseButtonsForMouseGrabber(mouseEvent);
never executed: storeMouseButtonsForMouseGrabber(mouseEvent);
0
1168 lastMouseGrabberItem = item;-
1169 return;
never executed: return;
0
1170 }-
1171 ungrabMouse(item, dontSendUngrabEvents);-
1172-
1173-
1174 if (isPanel
isPanelDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1175 break;
never executed: break;
0
1176 }
never executed: end of block
0
1177-
1178-
1179-
1180-
1181-
1182 if (!mouseEvent->isAccepted()
!mouseEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1183 clearMouseGrabber();-
1184-
1185 QGraphicsView *view = mouseEvent->widget()
mouseEvent->widget()Description
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QGraphicsView *>(mouseEvent->widget()->parentWidget()) : 0;
0
1186 bool dontClearSelection = view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
&& view->dragMode() == QGraphicsView::ScrollHandDrag
view->dragMode...ScrollHandDragDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
1187 bool extendSelection = (mouseEvent->modifiers() & Qt::ControlModifier) != 0;-
1188 dontClearSelection |= extendSelection;-
1189 if (!dontClearSelection
!dontClearSelectionDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1190-
1191-
1192-
1193 q->clearSelection();-
1194 }
never executed: end of block
0
1195 }
never executed: end of block
0
1196}
never executed: end of block
0
1197void QGraphicsScenePrivate::ensureSequentialTopLevelSiblingIndexes()-
1198{-
1199 if (!topLevelSequentialOrdering
!topLevelSequentialOrderingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1200 std::sort(topLevelItems.begin(), topLevelItems.end(), QGraphicsItemPrivate::insertionOrder);-
1201 topLevelSequentialOrdering = true;-
1202 needSortTopLevelItems = 1;-
1203 }
never executed: end of block
0
1204 if (holesInTopLevelSiblingIndex
holesInTopLevelSiblingIndexDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1205 holesInTopLevelSiblingIndex = 0;-
1206 for (int i = 0; i < topLevelItems.size()
i < topLevelItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1207 topLevelItems[i]->d_ptr->siblingIndex = i;
never executed: topLevelItems[i]->d_ptr->siblingIndex = i;
0
1208 }
never executed: end of block
0
1209}
never executed: end of block
0
1210-
1211-
1212-
1213-
1214-
1215-
1216-
1217void QGraphicsScenePrivate::setFont_helper(const QFont &font)-
1218{-
1219 if (this->font == font
this->font == fontDescription
TRUEnever evaluated
FALSEnever evaluated
&& this->font.resolve() == font.resolve()
this->font.res...font.resolve()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1220 return;
never executed: return;
0
1221 updateFont(font);-
1222}
never executed: end of block
0
1223-
1224-
1225-
1226-
1227-
1228-
1229-
1230void QGraphicsScenePrivate::resolveFont()-
1231{-
1232 QFont naturalFont = QApplication::font();-
1233 naturalFont.resolve(0);-
1234 QFont resolvedFont = font.resolve(naturalFont);-
1235 updateFont(resolvedFont);-
1236}
never executed: end of block
0
1237-
1238-
1239-
1240-
1241-
1242-
1243-
1244void QGraphicsScenePrivate::updateFont(const QFont &font)-
1245{-
1246 QGraphicsScene * const q = q_func();-
1247-
1248-
1249 this->font = font;-
1250-
1251-
1252-
1253 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(q->items())>::type> _container_((q->items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1254 if (!item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1255-
1256-
1257-
1258 item->d_ptr->resolveFont(font.resolve());-
1259 }
never executed: end of block
0
1260 }
never executed: end of block
0
1261-
1262-
1263 QEvent event(QEvent::FontChange);-
1264 QApplication::sendEvent(q, &event);-
1265}
never executed: end of block
0
1266-
1267-
1268-
1269-
1270-
1271-
1272-
1273void QGraphicsScenePrivate::setPalette_helper(const QPalette &palette)-
1274{-
1275 if (this->palette == palette
this->palette == paletteDescription
TRUEnever evaluated
FALSEnever evaluated
&& this->palette.resolve() == palette.resolve()
this->palette....ette.resolve()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1276 return;
never executed: return;
0
1277 updatePalette(palette);-
1278}
never executed: end of block
0
1279-
1280-
1281-
1282-
1283-
1284-
1285-
1286void QGraphicsScenePrivate::resolvePalette()-
1287{-
1288 QPalette naturalPalette = QApplication::palette();-
1289 naturalPalette.resolve(0);-
1290 QPalette resolvedPalette = palette.resolve(naturalPalette);-
1291 updatePalette(resolvedPalette);-
1292}
never executed: end of block
0
1293-
1294-
1295-
1296-
1297-
1298-
1299-
1300void QGraphicsScenePrivate::updatePalette(const QPalette &palette)-
1301{-
1302 QGraphicsScene * const q = q_func();-
1303-
1304-
1305 this->palette = palette;-
1306-
1307-
1308-
1309 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(q->items())>::type> _container_((q->items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1310 if (!item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1311-
1312-
1313-
1314 item->d_ptr->resolvePalette(palette.resolve());-
1315 }
never executed: end of block
0
1316 }
never executed: end of block
0
1317-
1318-
1319 QEvent event(QEvent::PaletteChange);-
1320 QApplication::sendEvent(q, &event);-
1321}
never executed: end of block
0
1322-
1323-
1324-
1325-
1326-
1327QGraphicsScene::QGraphicsScene(QObject *parent)-
1328 : QObject(*new QGraphicsScenePrivate, parent)-
1329{-
1330 d_func()->init();-
1331}
never executed: end of block
0
1332QGraphicsScene::QGraphicsScene(const QRectF &sceneRect, QObject *parent)-
1333 : QObject(*new QGraphicsScenePrivate, parent)-
1334{-
1335 d_func()->init();-
1336 setSceneRect(sceneRect);-
1337}
never executed: end of block
0
1338QGraphicsScene::QGraphicsScene(qreal x, qreal y, qreal width, qreal height, QObject *parent)-
1339 : QObject(*new QGraphicsScenePrivate, parent)-
1340{-
1341 d_func()->init();-
1342 setSceneRect(x, y, width, height);-
1343}
never executed: end of block
0
1344-
1345-
1346-
1347-
1348-
1349-
1350-
1351QGraphicsScene::~QGraphicsScene()-
1352{-
1353 QGraphicsScenePrivate * const d = d_func();-
1354-
1355-
1356 if (!QApplicationPrivate::is_app_closing
!QApplicationP...is_app_closingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1357 (static_cast<
never executed: (static_cast<QApplication *>(QCoreApplication::instance()))->d_func()->scene_list.removeAll(this);
QApplication *>(QCoreApplication::instance()))->d_func()->scene_list.removeAll(this);
never executed: (static_cast<QApplication *>(QCoreApplication::instance()))->d_func()->scene_list.removeAll(this);
0
1358-
1359 clear();-
1360-
1361-
1362 for (int j = 0; j < d->views.size()
j < d->views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++j)
0
1363 d->views.at(j)->setScene(0);
never executed: d->views.at(j)->setScene(0);
0
1364}
never executed: end of block
0
1365QRectF QGraphicsScene::sceneRect() const-
1366{-
1367 const QGraphicsScenePrivate * const d = d_func();-
1368 if (d->hasSceneRect
d->hasSceneRectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1369 return
never executed: return d->sceneRect;
d->sceneRect;
never executed: return d->sceneRect;
0
1370-
1371 if (d->dirtyGrowingItemsBoundingRect
d->dirtyGrowin...msBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1372-
1373 QGraphicsScenePrivate *thatd = const_cast<QGraphicsScenePrivate *>(d);-
1374 QRectF oldGrowingBoundingRect = thatd->growingItemsBoundingRect;-
1375 thatd->growingItemsBoundingRect |= itemsBoundingRect();-
1376 thatd->dirtyGrowingItemsBoundingRect = false;-
1377 if (oldGrowingBoundingRect != thatd->growingItemsBoundingRect
oldGrowingBoun...msBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1378 const_cast<
never executed: const_cast<QGraphicsScene *>(this)->sceneRectChanged(thatd->growingItemsBoundingRect);
QGraphicsScene *>(this)->sceneRectChanged(thatd->growingItemsBoundingRect);
never executed: const_cast<QGraphicsScene *>(this)->sceneRectChanged(thatd->growingItemsBoundingRect);
0
1379 }
never executed: end of block
0
1380 return
never executed: return d->growingItemsBoundingRect;
d->growingItemsBoundingRect;
never executed: return d->growingItemsBoundingRect;
0
1381}-
1382void QGraphicsScene::setSceneRect(const QRectF &rect)-
1383{-
1384 QGraphicsScenePrivate * const d = d_func();-
1385 if (rect != d->sceneRect
rect != d->sceneRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1386 d->hasSceneRect = !rect.isNull();-
1387 d->sceneRect = rect;-
1388 sceneRectChanged(d->hasSceneRect ? rect : d->growingItemsBoundingRect);-
1389 }
never executed: end of block
0
1390}
never executed: end of block
0
1391void QGraphicsScene::render(QPainter *painter, const QRectF &target, const QRectF &source,-
1392 Qt::AspectRatioMode aspectRatioMode)-
1393{-
1394-
1395-
1396-
1397 QRectF sourceRect = source;-
1398 if (sourceRect.isNull()
sourceRect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1399 sourceRect = sceneRect();
never executed: sourceRect = sceneRect();
0
1400-
1401-
1402 QRectF targetRect = target;-
1403 if (targetRect.isNull()
targetRect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1404 if (painter->device()->devType() == QInternal::Picture
painter->devic...ernal::PictureDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1405 targetRect = sourceRect;
never executed: targetRect = sourceRect;
0
1406 else-
1407 targetRect.setRect(0, 0, painter->device()->width(), painter->device()->height());
never executed: targetRect.setRect(0, 0, painter->device()->width(), painter->device()->height());
0
1408 }-
1409-
1410-
1411 qreal xratio = targetRect.width() / sourceRect.width();-
1412 qreal yratio = targetRect.height() / sourceRect.height();-
1413-
1414-
1415 switch (aspectRatioMode) {-
1416 case
never executed: case Qt::KeepAspectRatio:
Qt::KeepAspectRatio:
never executed: case Qt::KeepAspectRatio:
0
1417 xratio = yratio = qMin(xratio, yratio);-
1418 break;
never executed: break;
0
1419 case
never executed: case Qt::KeepAspectRatioByExpanding:
Qt::KeepAspectRatioByExpanding:
never executed: case Qt::KeepAspectRatioByExpanding:
0
1420 xratio = yratio = qMax(xratio, yratio);-
1421 break;
never executed: break;
0
1422 case
never executed: case Qt::IgnoreAspectRatio:
Qt::IgnoreAspectRatio:
never executed: case Qt::IgnoreAspectRatio:
0
1423 break;
never executed: break;
0
1424 }-
1425-
1426-
1427-
1428 QList<QGraphicsItem *> itemList = items(sourceRect, Qt::IntersectsItemBoundingRect);-
1429 QGraphicsItem **itemArray = new QGraphicsItem *[itemList.size()];-
1430 int numItems = itemList.size();-
1431 for (int i = 0; i < numItems
i < numItemsDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1432 itemArray[numItems - i - 1] = itemList.at(i);
never executed: itemArray[numItems - i - 1] = itemList.at(i);
0
1433 itemList.clear();-
1434-
1435 painter->save();-
1436-
1437-
1438 painter->setClipRect(targetRect, Qt::IntersectClip);-
1439 QTransform painterTransform;-
1440 painterTransform *= QTransform()-
1441 .translate(targetRect.left(), targetRect.top())-
1442 .scale(xratio, yratio)-
1443 .translate(-sourceRect.left(), -sourceRect.top());-
1444 painter->setWorldTransform(painterTransform, true);-
1445-
1446-
1447 QStyleOptionGraphicsItem *styleOptionArray = new QStyleOptionGraphicsItem[numItems];-
1448 for (int i = 0; i < numItems
i < numItemsDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1449 itemArray[i]->d_ptr->initStyleOption(&styleOptionArray[i], painterTransform, targetRect.toRect());
never executed: itemArray[i]->d_ptr->initStyleOption(&styleOptionArray[i], painterTransform, targetRect.toRect());
0
1450-
1451-
1452 drawBackground(painter, sourceRect);-
1453 drawItems(painter, numItems, itemArray, styleOptionArray);-
1454 drawForeground(painter, sourceRect);-
1455-
1456 delete [] itemArray;-
1457 delete [] styleOptionArray;-
1458-
1459 painter->restore();-
1460}
never executed: end of block
0
1461QGraphicsScene::ItemIndexMethod QGraphicsScene::itemIndexMethod() const-
1462{-
1463 const QGraphicsScenePrivate * const d = d_func();-
1464 return
never executed: return d->indexMethod;
d->indexMethod;
never executed: return d->indexMethod;
0
1465}-
1466void QGraphicsScene::setItemIndexMethod(ItemIndexMethod method)-
1467{-
1468 QGraphicsScenePrivate * const d = d_func();-
1469 if (d->indexMethod == method
d->indexMethod == methodDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1470 return;
never executed: return;
0
1471-
1472 d->indexMethod = method;-
1473-
1474 QList<QGraphicsItem *> oldItems = d->index->items(Qt::DescendingOrder);-
1475 delete d->index;-
1476 if (method == BspTreeIndex
method == BspTreeIndexDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1477 d->index = new QGraphicsSceneBspTreeIndex(this);
never executed: d->index = new QGraphicsSceneBspTreeIndex(this);
0
1478 else-
1479 d->index = new QGraphicsSceneLinearIndex(this);
never executed: d->index = new QGraphicsSceneLinearIndex(this);
0
1480 for (int i = oldItems.size() - 1; i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; --i)
0
1481 d->index->addItem(oldItems.at(i));
never executed: d->index->addItem(oldItems.at(i));
0
1482}
never executed: end of block
0
1483int QGraphicsScene::bspTreeDepth() const-
1484{-
1485 const QGraphicsScenePrivate * const d = d_func();-
1486 QGraphicsSceneBspTreeIndex *bspTree = qobject_cast<QGraphicsSceneBspTreeIndex *>(d->index);-
1487 return
never executed: return bspTree ? bspTree->bspTreeDepth() : 0;
bspTree
bspTreeDescription
TRUEnever evaluated
FALSEnever evaluated
? bspTree->bspTreeDepth() : 0;
never executed: return bspTree ? bspTree->bspTreeDepth() : 0;
0
1488}-
1489void QGraphicsScene::setBspTreeDepth(int depth)-
1490{-
1491 QGraphicsScenePrivate * const d = d_func();-
1492 if (depth < 0
depth < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1493 QMessageLogger(__FILE__, 1906, __PRETTY_FUNCTION__).warning("QGraphicsScene::setBspTreeDepth: invalid depth %d ignored; must be >= 0", depth);-
1494 return;
never executed: return;
0
1495 }-
1496-
1497 QGraphicsSceneBspTreeIndex *bspTree = qobject_cast<QGraphicsSceneBspTreeIndex *>(d->index);-
1498 if (!bspTree
!bspTreeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1499 QMessageLogger(__FILE__, 1912, __PRETTY_FUNCTION__).warning("QGraphicsScene::setBspTreeDepth: can not apply if indexing method is not BSP");-
1500 return;
never executed: return;
0
1501 }-
1502 bspTree->setBspTreeDepth(depth);-
1503}
never executed: end of block
0
1504bool QGraphicsScene::isSortCacheEnabled() const-
1505{-
1506 const QGraphicsScenePrivate * const d = d_func();-
1507 return
never executed: return d->sortCacheEnabled;
d->sortCacheEnabled;
never executed: return d->sortCacheEnabled;
0
1508}-
1509void QGraphicsScene::setSortCacheEnabled(bool enabled)-
1510{-
1511 QGraphicsScenePrivate * const d = d_func();-
1512 if (d->sortCacheEnabled == enabled
d->sortCacheEnabled == enabledDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1513 return;
never executed: return;
0
1514 d->sortCacheEnabled = enabled;-
1515}
never executed: end of block
0
1516QRectF QGraphicsScene::itemsBoundingRect() const-
1517{-
1518-
1519 QRectF boundingRect;-
1520 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items())>::type> _container_((items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
1521 boundingRect |= item->sceneBoundingRect();
never executed: boundingRect |= item->sceneBoundingRect();
0
1522 return
never executed: return boundingRect;
boundingRect;
never executed: return boundingRect;
0
1523}-
1524-
1525-
1526-
1527-
1528-
1529-
1530-
1531QList<QGraphicsItem *> QGraphicsScene::items(Qt::SortOrder order) const-
1532{-
1533 const QGraphicsScenePrivate * const d = d_func();-
1534 return
never executed: return d->index->items(order);
d->index->items(order);
never executed: return d->index->items(order);
0
1535}-
1536QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelectionMode mode,-
1537 Qt::SortOrder order, const QTransform &deviceTransform) const-
1538{-
1539 const QGraphicsScenePrivate * const d = d_func();-
1540 return
never executed: return d->index->items(pos, mode, order, deviceTransform);
d->index->items(pos, mode, order, deviceTransform);
never executed: return d->index->items(pos, mode, order, deviceTransform);
0
1541}-
1542QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelectionMode mode,-
1543 Qt::SortOrder order, const QTransform &deviceTransform) const-
1544{-
1545 const QGraphicsScenePrivate * const d = d_func();-
1546 return
never executed: return d->index->items(rect, mode, order, deviceTransform);
d->index->items(rect, mode, order, deviceTransform);
never executed: return d->index->items(rect, mode, order, deviceTransform);
0
1547}-
1548QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode,-
1549 Qt::SortOrder order, const QTransform &deviceTransform) const-
1550{-
1551 const QGraphicsScenePrivate * const d = d_func();-
1552 return
never executed: return d->index->items(polygon, mode, order, deviceTransform);
d->index->items(polygon, mode, order, deviceTransform);
never executed: return d->index->items(polygon, mode, order, deviceTransform);
0
1553}-
1554QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode,-
1555 Qt::SortOrder order, const QTransform &deviceTransform) const-
1556{-
1557 const QGraphicsScenePrivate * const d = d_func();-
1558 return
never executed: return d->index->items(path, mode, order, deviceTransform);
d->index->items(path, mode, order, deviceTransform);
never executed: return d->index->items(path, mode, order, deviceTransform);
0
1559}-
1560QList<QGraphicsItem *> QGraphicsScene::collidingItems(const QGraphicsItem *item,-
1561 Qt::ItemSelectionMode mode) const-
1562{-
1563 const QGraphicsScenePrivate * const d = d_func();-
1564 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1565 QMessageLogger(__FILE__, 2113, __PRETTY_FUNCTION__).warning("QGraphicsScene::collidingItems: cannot find collisions for null item");-
1566 return
never executed: return QList<QGraphicsItem *>();
QList<QGraphicsItem *>();
never executed: return QList<QGraphicsItem *>();
0
1567 }-
1568-
1569-
1570 QList<QGraphicsItem *> tmp;-
1571 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->index->estimateItems(item->sceneBoundingRect(), Qt::DescendingOrder))>::type> _container_((d->index->estimateItems(item->sceneBoundingRect(), Qt::DescendingOrder))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *itemInVicinity = *_container_.i; _container_.control; _container_.control = 0) {-
1572 if (item != itemInVicinity
item != itemInVicinityDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->collidesWithItem(itemInVicinity, mode)
item->collides...icinity, mode)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1573 tmp << itemInVicinity;
never executed: tmp << itemInVicinity;
0
1574 }
never executed: end of block
0
1575 return
never executed: return tmp;
tmp;
never executed: return tmp;
0
1576}-
1577QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position, const QTransform &deviceTransform) const-
1578{-
1579 QList<QGraphicsItem *> itemsAtPoint = items(position, Qt::IntersectsItemShape,-
1580 Qt::DescendingOrder, deviceTransform);-
1581 return
never executed: return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
itemsAtPoint.isEmpty()
itemsAtPoint.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : itemsAtPoint.first();
never executed: return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
0
1582}-
1583QList<QGraphicsItem *> QGraphicsScene::selectedItems() const-
1584{-
1585 const QGraphicsScenePrivate * const d = d_func();-
1586-
1587-
1588 QGraphicsScene *that = const_cast<QGraphicsScene *>(this);-
1589 QSet<QGraphicsItem *> actuallySelectedSet;-
1590 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(that->d_func()->selectedItems)>::type> _container_((that->d_func()->selectedItems)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1591 if (item->isSelected()
item->isSelected()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1592 actuallySelectedSet << item;
never executed: actuallySelectedSet << item;
0
1593 }
never executed: end of block
0
1594-
1595 that->d_func()->selectedItems = actuallySelectedSet;-
1596-
1597 return
never executed: return d->selectedItems.values();
d->selectedItems.values();
never executed: return d->selectedItems.values();
0
1598}-
1599QPainterPath QGraphicsScene::selectionArea() const-
1600{-
1601 const QGraphicsScenePrivate * const d = d_func();-
1602 return
never executed: return d->selectionArea;
d->selectionArea;
never executed: return d->selectionArea;
0
1603}-
1604void QGraphicsScene::setSelectionArea(const QPainterPath &path, const QTransform &deviceTransform)-
1605{-
1606 setSelectionArea(path, Qt::IntersectsItemShape, deviceTransform);-
1607}
never executed: end of block
0
1608void QGraphicsScene::setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode,-
1609 const QTransform &deviceTransform)-
1610{-
1611 setSelectionArea(path, Qt::ReplaceSelection, mode, deviceTransform);-
1612}
never executed: end of block
0
1613void QGraphicsScene::setSelectionArea(const QPainterPath &path,-
1614 Qt::ItemSelectionOperation selectionOperation,-
1615 Qt::ItemSelectionMode mode,-
1616 const QTransform &deviceTransform)-
1617{-
1618 QGraphicsScenePrivate * const d = d_func();-
1619-
1620-
1621-
1622-
1623-
1624 d->selectionArea = path;-
1625-
1626 QSet<QGraphicsItem *> unselectItems = d->selectedItems;-
1627-
1628-
1629 ++d->selectionChanging;-
1630 bool changed = false;-
1631-
1632-
1633 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items(path, mode, Qt::DescendingOrder, deviceTransform))>::type> _container_((items(path, mode, Qt::DescendingOrder, deviceTransform))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1634 if (item->flags() & QGraphicsItem::ItemIsSelectable
item->flags() ...emIsSelectableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1635 if (!item->isSelected()
!item->isSelected()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1636 changed = true;
never executed: changed = true;
0
1637 unselectItems.remove(item);-
1638 item->setSelected(true);-
1639 }
never executed: end of block
0
1640 }
never executed: end of block
0
1641-
1642 switch (selectionOperation) {-
1643 case
never executed: case Qt::ReplaceSelection:
Qt::ReplaceSelection:
never executed: case Qt::ReplaceSelection:
0
1644-
1645 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(unselectItems)>::type> _container_((unselectItems)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
1646 item->setSelected(false);-
1647 changed = true;-
1648 }
never executed: end of block
0
1649 break;
never executed: break;
0
1650 default
never executed: default:
:
never executed: default:
0
1651 break;
never executed: break;
0
1652 }-
1653-
1654-
1655 --d->selectionChanging;-
1656-
1657 if (!d->selectionChanging
!d->selectionChangingDescription
TRUEnever evaluated
FALSEnever evaluated
&& changed
changedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1658 selectionChanged();
never executed: selectionChanged();
0
1659}
never executed: end of block
0
1660-
1661-
1662-
1663-
1664-
1665-
1666void QGraphicsScene::clearSelection()-
1667{-
1668 QGraphicsScenePrivate * const d = d_func();-
1669-
1670-
1671 ++d->selectionChanging;-
1672 bool changed = !d->selectedItems.isEmpty();-
1673-
1674 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->selectedItems)>::type> _container_((d->selectedItems)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
1675 item->setSelected(false);
never executed: item->setSelected(false);
0
1676 d->selectedItems.clear();-
1677-
1678-
1679 --d->selectionChanging;-
1680-
1681 if (!d->selectionChanging
!d->selectionChangingDescription
TRUEnever evaluated
FALSEnever evaluated
&& changed
changedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1682 selectionChanged();
never executed: selectionChanged();
0
1683}
never executed: end of block
0
1684void QGraphicsScene::clear()-
1685{-
1686 QGraphicsScenePrivate * const d = d_func();-
1687-
1688-
1689 d->index->clear();-
1690-
1691 while (!d->topLevelItems.isEmpty()
!d->topLevelItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1692 delete d->topLevelItems.first();
never executed: delete d->topLevelItems.first();
0
1693 ((!(d->topLevelItems.isEmpty())) ? qt_assert("d->topLevelItems.isEmpty()",__FILE__,2375) : qt_noop());-
1694 d->lastItemCount = 0;-
1695 d->allItemsIgnoreHoverEvents = true;-
1696 d->allItemsUseDefaultCursor = true;-
1697 d->allItemsIgnoreTouchEvents = true;-
1698}
never executed: end of block
0
1699QGraphicsItemGroup *QGraphicsScene::createItemGroup(const QList<QGraphicsItem *> &items)-
1700{-
1701-
1702 QList<QGraphicsItem *> ancestors;-
1703 int n = 0;-
1704 if (!items.isEmpty()
!items.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1705 QGraphicsItem *parent = items.at(n++);-
1706 while ((
(parent = pare...>parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
parent = parent->parentItem())
(parent = pare...>parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1707 ancestors.append(parent);
never executed: ancestors.append(parent);
0
1708 }
never executed: end of block
0
1709-
1710-
1711 QGraphicsItem *commonAncestor = 0;-
1712 if (!ancestors.isEmpty()
!ancestors.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1713 while (n < items.size()
n < items.size()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1714 int commonIndex = -1;-
1715 QGraphicsItem *parent = items.at(n++);-
1716 do {-
1717 int index = ancestors.indexOf(parent, qMax(0, commonIndex));-
1718 if (index != -1
index != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1719 commonIndex = index;-
1720 break;
never executed: break;
0
1721 }-
1722 }
never executed: end of block
while ((
(parent = pare...>parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
parent = parent->parentItem())
(parent = pare...>parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
);
0
1723-
1724 if (commonIndex == -1
commonIndex == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1725 commonAncestor = 0;-
1726 break;
never executed: break;
0
1727 }-
1728-
1729 commonAncestor = ancestors.at(commonIndex);-
1730 }
never executed: end of block
0
1731 }
never executed: end of block
0
1732-
1733-
1734 QGraphicsItemGroup *group = new QGraphicsItemGroup(commonAncestor);-
1735 if (!commonAncestor
!commonAncestorDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1736 addItem(group);
never executed: addItem(group);
0
1737 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items)>::type> _container_((items)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
1738 group->addToGroup(item);
never executed: group->addToGroup(item);
0
1739 return
never executed: return group;
group;
never executed: return group;
0
1740}-
1741void QGraphicsScene::destroyItemGroup(QGraphicsItemGroup *group)-
1742{-
1743 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(group->childItems())>::type> _container_((group->childItems())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
1744 group->removeFromGroup(item);
never executed: group->removeFromGroup(item);
0
1745 removeItem(group);-
1746 delete group;-
1747}
never executed: end of block
0
1748void QGraphicsScene::addItem(QGraphicsItem *item)-
1749{-
1750 QGraphicsScenePrivate * const d = d_func();-
1751 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1752 QMessageLogger(__FILE__, 2482, __PRETTY_FUNCTION__).warning("QGraphicsScene::addItem: cannot add null item");-
1753 return;
never executed: return;
0
1754 }-
1755 if (item->d_ptr->scene == this
item->d_ptr->scene == thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1756 QMessageLogger(__FILE__, 2486, __PRETTY_FUNCTION__).warning("QGraphicsScene::addItem: item has already been added to this scene");-
1757 return;
never executed: return;
0
1758 }-
1759-
1760 if (QGraphicsScene *oldScene = item->d_ptr->scene
QGraphicsScene...->d_ptr->sceneDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1761 oldScene->removeItem(item);
never executed: oldScene->removeItem(item);
0
1762-
1763-
1764-
1765 const QVariant newSceneVariant(item->itemChange(QGraphicsItem::ItemSceneChange,-
1766 QVariant::fromValue<QGraphicsScene *>(this)));-
1767 QGraphicsScene *targetScene = qvariant_cast<QGraphicsScene *>(newSceneVariant);-
1768 if (targetScene != this
targetScene != thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1769 if (targetScene
targetSceneDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->scene != targetScene
item->d_ptr->s...!= targetSceneDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1770 targetScene->addItem(item);
never executed: targetScene->addItem(item);
0
1771 return;
never executed: return;
0
1772 }-
1773-
1774-
1775-
1776 if (!item->d_ptr->isDeclarativeItem
!item->d_ptr->...eclarativeItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1777 if (d->unpolishedItems.isEmpty()
d->unpolishedItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1778 QMetaMethod method = metaObject()->method(d->polishItemsIndex);-
1779 method.invoke(this, Qt::QueuedConnection);-
1780 }
never executed: end of block
0
1781 d->unpolishedItems.append(item);-
1782 item->d_ptr->pendingPolish = true;-
1783 }
never executed: end of block
0
1784-
1785-
1786-
1787 if (QGraphicsItem *itemParent = item->d_ptr->parent
QGraphicsItem ...>d_ptr->parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1788 if (itemParent->d_ptr->scene != this
itemParent->d_...>scene != thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1789 item->setParentItem(0);
never executed: item->setParentItem(0);
0
1790 }
never executed: end of block
0
1791-
1792-
1793 item->d_func()->scene = targetScene;-
1794-
1795-
1796 d->index->addItem(item);-
1797-
1798-
1799 if (!item->d_ptr->parent
!item->d_ptr->parentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1800 d->registerTopLevelItem(item);
never executed: d->registerTopLevelItem(item);
0
1801-
1802-
1803-
1804-
1805 d->markDirty(item);-
1806 d->dirtyGrowingItemsBoundingRect = true;-
1807-
1808-
1809 ++d->selectionChanging;-
1810 int oldSelectedItemSize = d->selectedItems.size();-
1811-
1812-
1813 if (d->allItemsIgnoreHoverEvents
d->allItemsIgnoreHoverEventsDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->itemAcceptsHoverEvents_helper(item)
d->itemAccepts...s_helper(item)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1814 d->allItemsIgnoreHoverEvents = false;-
1815 d->enableMouseTrackingOnViews();-
1816 }
never executed: end of block
0
1817-
1818 if (d->allItemsUseDefaultCursor
d->allItemsUseDefaultCursorDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->hasCursor
item->d_ptr->hasCursorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1819 d->allItemsUseDefaultCursor = false;-
1820 if (d->allItemsIgnoreHoverEvents
d->allItemsIgnoreHoverEventsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1821 d->enableMouseTrackingOnViews();
never executed: d->enableMouseTrackingOnViews();
0
1822 }
never executed: end of block
0
1823-
1824-
1825-
1826 if (d->allItemsIgnoreTouchEvents
d->allItemsIgnoreTouchEventsDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->acceptTouchEvents
item->d_ptr->acceptTouchEventsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1827 d->allItemsIgnoreTouchEvents = false;-
1828 d->enableTouchEventsOnViews();-
1829 }
never executed: end of block
0
1830-
1831-
1832 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(item->d_ptr->gestureContext.keys())>::type> _container_((item->d_ptr->gestureContext.keys())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (Qt::GestureType gesture = *_container_.i; _container_.control; _container_.control = 0)-
1833 d->grabGesture(item, gesture);
never executed: d->grabGesture(item, gesture);
0
1834-
1835-
1836-
1837 if (item->isSelected()
item->isSelected()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1838 d->selectedItems << item;
never executed: d->selectedItems << item;
0
1839 if (item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& static_cast<
static_cast<QG...) == Qt::PopupDescription
TRUEnever evaluated
FALSEnever evaluated
QGraphicsWidget *>(item)->windowType() == Qt::Popup
static_cast<QG...) == Qt::PopupDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1840 d->addPopup(static_cast<QGraphicsWidget *>(item));
never executed: d->addPopup(static_cast<QGraphicsWidget *>(item));
0
1841 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->panelModality() != QGraphicsItem::NonModal
item->panelMod...Item::NonModalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1842 d->enterModal(item);
never executed: d->enterModal(item);
0
1843-
1844-
1845-
1846 if (item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1847 QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);-
1848 if (!d->tabFocusFirst
!d->tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1849-
1850-
1851 d->tabFocusFirst = widget;-
1852 }
never executed: end of block
else if (!widget->parentWidget()
!widget->parentWidget()Description
TRUEnever evaluated
FALSEnever evaluated
&& !widget->isPanel()
!widget->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1853-
1854 QGraphicsWidget *myNewPrev = d->tabFocusFirst->d_func()->focusPrev;-
1855 myNewPrev->d_func()->focusNext = widget;-
1856 widget->d_func()->focusPrev->d_func()->focusNext = d->tabFocusFirst;-
1857 d->tabFocusFirst->d_func()->focusPrev = widget->d_func()->focusPrev;-
1858 widget->d_func()->focusPrev = myNewPrev;-
1859 }
never executed: end of block
0
1860 }
never executed: end of block
0
1861-
1862-
1863 item->d_ptr->ensureSortedChildren();-
1864 for (int i = 0; i < item->d_ptr->children.size()
i < item->d_pt...hildren.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1865 addItem(item->d_ptr->children.at(i));
never executed: addItem(item->d_ptr->children.at(i));
0
1866-
1867-
1868 item->d_ptr->resolveFont(d->font.resolve());-
1869 item->d_ptr->resolvePalette(d->palette.resolve());-
1870-
1871-
1872-
1873 --d->selectionChanging;-
1874 if (!d->selectionChanging
!d->selectionChangingDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->selectedItems.size() != oldSelectedItemSize
d->selectedIte...lectedItemSizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1875 selectionChanged();
never executed: selectionChanged();
0
1876-
1877-
1878 item->itemChange(QGraphicsItem::ItemSceneHasChanged, newSceneVariant);-
1879-
1880-
1881 bool autoActivate = true;-
1882 if (!d->childExplicitActivation
!d->childExplicitActivationDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->explicitActivate
item->d_ptr->explicitActivateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1883 d->childExplicitActivation = item->d_ptr->wantsActive
item->d_ptr->wantsActiveDescription
TRUEnever evaluated
FALSEnever evaluated
? 1 : 2;
never executed: d->childExplicitActivation = item->d_ptr->wantsActive ? 1 : 2;
0
1884 if (d->childExplicitActivation
d->childExplicitActivationDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1885 if (d->childExplicitActivation == 1
d->childExplic...ctivation == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1886 setActivePanel(item);
never executed: setActivePanel(item);
0
1887 else-
1888 autoActivate = false;
never executed: autoActivate = false;
0
1889 d->childExplicitActivation = 0;-
1890 }
never executed: end of block
else if (!item->d_ptr->parent
!item->d_ptr->parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1891 d->childExplicitActivation = 0;-
1892 }
never executed: end of block
0
1893-
1894-
1895 if (autoActivate
autoActivateDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1896 if (!d->lastActivePanel
!d->lastActivePanelDescription
TRUEnever evaluated
FALSEnever evaluated
&& !d->activePanel
!d->activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1897 if (isActive()
isActive()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1898 setActivePanel(item);
never executed: setActivePanel(item);
0
1899 else-
1900 d->lastActivePanel = item;
never executed: d->lastActivePanel = item;
0
1901 }-
1902 }
never executed: end of block
0
1903-
1904 if (item->d_ptr->flags & QGraphicsItem::ItemSendsScenePositionChanges
item->d_ptr->f...ositionChangesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1905 d->registerScenePosItem(item);
never executed: d->registerScenePosItem(item);
0
1906-
1907-
1908-
1909 if (!d->focusItem
!d->focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& item != d->lastFocusItem
item != d->lastFocusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->focusItem() == item
item->focusItem() == itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1910 item->focusItem()->setFocus();
never executed: item->focusItem()->setFocus();
0
1911-
1912 d->updateInputMethodSensitivityInViews();-
1913}
never executed: end of block
0
1914QGraphicsEllipseItem *QGraphicsScene::addEllipse(const QRectF &rect, const QPen &pen, const QBrush &brush)-
1915{-
1916 QGraphicsEllipseItem *item = new QGraphicsEllipseItem(rect);-
1917 item->setPen(pen);-
1918 item->setBrush(brush);-
1919 addItem(item);-
1920 return
never executed: return item;
item;
never executed: return item;
0
1921}-
1922QGraphicsLineItem *QGraphicsScene::addLine(const QLineF &line, const QPen &pen)-
1923{-
1924 QGraphicsLineItem *item = new QGraphicsLineItem(line);-
1925 item->setPen(pen);-
1926 addItem(item);-
1927 return
never executed: return item;
item;
never executed: return item;
0
1928}-
1929QGraphicsPathItem *QGraphicsScene::addPath(const QPainterPath &path, const QPen &pen, const QBrush &brush)-
1930{-
1931 QGraphicsPathItem *item = new QGraphicsPathItem(path);-
1932 item->setPen(pen);-
1933 item->setBrush(brush);-
1934 addItem(item);-
1935 return
never executed: return item;
item;
never executed: return item;
0
1936}-
1937QGraphicsPixmapItem *QGraphicsScene::addPixmap(const QPixmap &pixmap)-
1938{-
1939 QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap);-
1940 addItem(item);-
1941 return
never executed: return item;
item;
never executed: return item;
0
1942}-
1943QGraphicsPolygonItem *QGraphicsScene::addPolygon(const QPolygonF &polygon,-
1944 const QPen &pen, const QBrush &brush)-
1945{-
1946 QGraphicsPolygonItem *item = new QGraphicsPolygonItem(polygon);-
1947 item->setPen(pen);-
1948 item->setBrush(brush);-
1949 addItem(item);-
1950 return
never executed: return item;
item;
never executed: return item;
0
1951}-
1952QGraphicsRectItem *QGraphicsScene::addRect(const QRectF &rect, const QPen &pen, const QBrush &brush)-
1953{-
1954 QGraphicsRectItem *item = new QGraphicsRectItem(rect);-
1955 item->setPen(pen);-
1956 item->setBrush(brush);-
1957 addItem(item);-
1958 return
never executed: return item;
item;
never executed: return item;
0
1959}-
1960QGraphicsTextItem *QGraphicsScene::addText(const QString &text, const QFont &font)-
1961{-
1962 QGraphicsTextItem *item = new QGraphicsTextItem(text);-
1963 item->setFont(font);-
1964 addItem(item);-
1965 return
never executed: return item;
item;
never executed: return item;
0
1966}-
1967QGraphicsSimpleTextItem *QGraphicsScene::addSimpleText(const QString &text, const QFont &font)-
1968{-
1969 QGraphicsSimpleTextItem *item = new QGraphicsSimpleTextItem(text);-
1970 item->setFont(font);-
1971 addItem(item);-
1972 return
never executed: return item;
item;
never executed: return item;
0
1973}-
1974QGraphicsProxyWidget *QGraphicsScene::addWidget(QWidget *widget, Qt::WindowFlags wFlags)-
1975{-
1976 QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget(0, wFlags);-
1977 proxy->setWidget(widget);-
1978 addItem(proxy);-
1979 return
never executed: return proxy;
proxy;
never executed: return proxy;
0
1980}-
1981void QGraphicsScene::removeItem(QGraphicsItem *item)-
1982{-
1983-
1984 QGraphicsScenePrivate * const d = d_func();-
1985 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1986 QMessageLogger(__FILE__, 2894, __PRETTY_FUNCTION__).warning("QGraphicsScene::removeItem: cannot remove 0-item");-
1987 return;
never executed: return;
0
1988 }-
1989 if (item->scene() != this
item->scene() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1990 QMessageLogger(__FILE__, 2898, __PRETTY_FUNCTION__).warning("QGraphicsScene::removeItem: item %p's scene (%p)"-
1991 " is different from this scene (%p)",-
1992 item, item->scene(), this);-
1993 return;
never executed: return;
0
1994 }-
1995-
1996-
1997-
1998 const QVariant newSceneVariant(item->itemChange(QGraphicsItem::ItemSceneChange,-
1999 QVariant::fromValue<QGraphicsScene *>(0)));-
2000 QGraphicsScene *targetScene = qvariant_cast<QGraphicsScene *>(newSceneVariant);-
2001 if (targetScene != 0
targetScene != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& targetScene != this
targetScene != thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2002 targetScene->addItem(item);-
2003 return;
never executed: return;
0
2004 }-
2005-
2006 d->removeItemHelper(item);-
2007-
2008-
2009 item->itemChange(QGraphicsItem::ItemSceneHasChanged, newSceneVariant);-
2010-
2011 d->updateInputMethodSensitivityInViews();-
2012}
never executed: end of block
0
2013QGraphicsItem *QGraphicsScene::focusItem() const-
2014{-
2015 const QGraphicsScenePrivate * const d = d_func();-
2016 return
never executed: return isActive() ? d->focusItem : d->passiveFocusItem;
isActive()
isActive()Description
TRUEnever evaluated
FALSEnever evaluated
? d->focusItem : d->passiveFocusItem;
never executed: return isActive() ? d->focusItem : d->passiveFocusItem;
0
2017}-
2018void QGraphicsScene::setFocusItem(QGraphicsItem *item, Qt::FocusReason focusReason)-
2019{-
2020 QGraphicsScenePrivate * const d = d_func();-
2021 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2022 item->setFocus(focusReason);
never executed: item->setFocus(focusReason);
0
2023 else-
2024 d->setFocusItemHelper(item, focusReason);
never executed: d->setFocusItemHelper(item, focusReason);
0
2025}-
2026bool QGraphicsScene::hasFocus() const-
2027{-
2028 const QGraphicsScenePrivate * const d = d_func();-
2029 return
never executed: return d->hasFocus;
d->hasFocus;
never executed: return d->hasFocus;
0
2030}-
2031void QGraphicsScene::setFocus(Qt::FocusReason focusReason)-
2032{-
2033 QGraphicsScenePrivate * const d = d_func();-
2034 if (d->hasFocus
d->hasFocusDescription
TRUEnever evaluated
FALSEnever evaluated
|| !isActive()
!isActive()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2035 return;
never executed: return;
0
2036 QFocusEvent event(QEvent::FocusIn, focusReason);-
2037 QCoreApplication::sendEvent(this, &event);-
2038}
never executed: end of block
0
2039void QGraphicsScene::clearFocus()-
2040{-
2041 QGraphicsScenePrivate * const d = d_func();-
2042 if (d->hasFocus
d->hasFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2043 d->hasFocus = false;-
2044 d->passiveFocusItem = d->focusItem;-
2045 setFocusItem(0, Qt::OtherFocusReason);-
2046 }
never executed: end of block
0
2047}
never executed: end of block
0
2048void QGraphicsScene::setStickyFocus(bool enabled)-
2049{-
2050 QGraphicsScenePrivate * const d = d_func();-
2051 d->stickyFocus = enabled;-
2052}
never executed: end of block
0
2053bool QGraphicsScene::stickyFocus() const-
2054{-
2055 const QGraphicsScenePrivate * const d = d_func();-
2056 return
never executed: return d->stickyFocus;
d->stickyFocus;
never executed: return d->stickyFocus;
0
2057}-
2058QGraphicsItem *QGraphicsScene::mouseGrabberItem() const-
2059{-
2060 const QGraphicsScenePrivate * const d = d_func();-
2061 return
never executed: return !d->mouseGrabberItems.isEmpty() ? d->mouseGrabberItems.last() : 0;
!d->mouseGrabberItems.isEmpty()
!d->mouseGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? d->mouseGrabberItems.last() : 0;
never executed: return !d->mouseGrabberItems.isEmpty() ? d->mouseGrabberItems.last() : 0;
0
2062}-
2063QBrush QGraphicsScene::backgroundBrush() const-
2064{-
2065 const QGraphicsScenePrivate * const d = d_func();-
2066 return
never executed: return d->backgroundBrush;
d->backgroundBrush;
never executed: return d->backgroundBrush;
0
2067}-
2068void QGraphicsScene::setBackgroundBrush(const QBrush &brush)-
2069{-
2070 QGraphicsScenePrivate * const d = d_func();-
2071 d->backgroundBrush = brush;-
2072 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->views)>::type> _container_((d->views)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0) {-
2073 view->resetCachedContent();-
2074 view->viewport()->update();-
2075 }
never executed: end of block
0
2076 update();-
2077}
never executed: end of block
0
2078QBrush QGraphicsScene::foregroundBrush() const-
2079{-
2080 const QGraphicsScenePrivate * const d = d_func();-
2081 return
never executed: return d->foregroundBrush;
d->foregroundBrush;
never executed: return d->foregroundBrush;
0
2082}-
2083void QGraphicsScene::setForegroundBrush(const QBrush &brush)-
2084{-
2085 QGraphicsScenePrivate * const d = d_func();-
2086 d->foregroundBrush = brush;-
2087 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views())>::type> _container_((views())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
2088 view->viewport()->update();
never executed: view->viewport()->update();
0
2089 update();-
2090}
never executed: end of block
0
2091QVariant QGraphicsScene::inputMethodQuery(Qt::InputMethodQuery query) const-
2092{-
2093 const QGraphicsScenePrivate * const d = d_func();-
2094 if (!d->focusItem
!d->focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
|| !(d->focusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod)
!(d->focusItem...tsInputMethod)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2095 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
2096 const QTransform matrix = d->focusItem->sceneTransform();-
2097 QVariant value = d->focusItem->inputMethodQuery(query);-
2098 if (value.type() == QVariant::RectF
value.type() =...Variant::RectFDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2099 value = matrix.mapRect(value.toRectF());
never executed: value = matrix.mapRect(value.toRectF());
0
2100 else if (value.type() == QVariant::PointF
value.type() =...ariant::PointFDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2101 value = matrix.map(value.toPointF());
never executed: value = matrix.map(value.toPointF());
0
2102 else if (value.type() == QVariant::Rect
value.type() == QVariant::RectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2103 value = matrix.mapRect(value.toRect());
never executed: value = matrix.mapRect(value.toRect());
0
2104 else if (value.type() == QVariant::Point
value.type() =...Variant::PointDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2105 value = matrix.map(value.toPoint());
never executed: value = matrix.map(value.toPoint());
0
2106 return
never executed: return value;
value;
never executed: return value;
0
2107}-
2108-
2109-
2110-
2111-
2112-
2113-
2114-
2115void QGraphicsScene::update(const QRectF &rect)-
2116{-
2117 QGraphicsScenePrivate * const d = d_func();-
2118 if (d->updateAll
d->updateAllDescription
TRUEnever evaluated
FALSEnever evaluated
|| (rect.isEmpty()
rect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& !rect.isNull()
!rect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
))
0
2119 return;
never executed: return;
0
2120-
2121-
2122-
2123 bool directUpdates = !(d->isSignalConnected(d->changedSignalIndex))
!(d->isSignalC...dSignalIndex))Description
TRUEnever evaluated
FALSEnever evaluated
&& !d->views.isEmpty()
!d->views.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
;
0
2124 if (rect.isNull()
rect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2125 d->updateAll = true;-
2126 d->updatedRects.clear();-
2127 if (directUpdates
directUpdatesDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2128-
2129 for (int i = 0; i < d->views.size()
i < d->views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
2130 d->views.at(i)->d_func()->fullUpdatePending = true;
never executed: d->views.at(i)->d_func()->fullUpdatePending = true;
0
2131 }
never executed: end of block
0
2132 }
never executed: end of block
else {
0
2133 if (directUpdates
directUpdatesDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2134-
2135 for (int i = 0; i < d->views.size()
i < d->views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2136 QGraphicsView *view = d->views.at(i);-
2137 if (view->isTransformed()
view->isTransformed()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2138 view->d_func()->updateRectF(view->viewportTransform().mapRect(rect));
never executed: view->d_func()->updateRectF(view->viewportTransform().mapRect(rect));
0
2139 else-
2140 view->d_func()->updateRectF(rect);
never executed: view->d_func()->updateRectF(rect);
0
2141 }-
2142 }
never executed: end of block
else {
0
2143 d->updatedRects << rect;-
2144 }
never executed: end of block
0
2145 }-
2146-
2147 if (!d->calledEmitUpdated
!d->calledEmitUpdatedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2148 d->calledEmitUpdated = true;-
2149 QMetaObject::invokeMethod(this, "_q_emitUpdated", Qt::QueuedConnection);-
2150 }
never executed: end of block
0
2151}
never executed: end of block
0
2152void QGraphicsScene::invalidate(const QRectF &rect, SceneLayers layers)-
2153{-
2154 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views())>::type> _container_((views())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
2155 view->invalidateScene(rect, layers);
never executed: view->invalidateScene(rect, layers);
0
2156 update(rect);-
2157}
never executed: end of block
0
2158QList <QGraphicsView *> QGraphicsScene::views() const-
2159{-
2160 const QGraphicsScenePrivate * const d = d_func();-
2161 return
never executed: return d->views;
d->views;
never executed: return d->views;
0
2162}-
2163void QGraphicsScene::advance()-
2164{-
2165 for (int i = 0; i < 2
i < 2Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2166 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items())>::type> _container_((items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
2167 item->advance(i);
never executed: item->advance(i);
0
2168 }
never executed: end of block
0
2169}
never executed: end of block
0
2170bool QGraphicsScene::event(QEvent *event)-
2171{-
2172 QGraphicsScenePrivate * const d = d_func();-
2173-
2174 switch (event->type()) {-
2175 case
never executed: case QEvent::GraphicsSceneMousePress:
QEvent::GraphicsSceneMousePress:
never executed: case QEvent::GraphicsSceneMousePress:
0
2176 case
never executed: case QEvent::GraphicsSceneMouseMove:
QEvent::GraphicsSceneMouseMove:
never executed: case QEvent::GraphicsSceneMouseMove:
0
2177 case
never executed: case QEvent::GraphicsSceneMouseRelease:
QEvent::GraphicsSceneMouseRelease:
never executed: case QEvent::GraphicsSceneMouseRelease:
0
2178 case
never executed: case QEvent::GraphicsSceneMouseDoubleClick:
QEvent::GraphicsSceneMouseDoubleClick:
never executed: case QEvent::GraphicsSceneMouseDoubleClick:
0
2179 case
never executed: case QEvent::GraphicsSceneHoverEnter:
QEvent::GraphicsSceneHoverEnter:
never executed: case QEvent::GraphicsSceneHoverEnter:
0
2180 case
never executed: case QEvent::GraphicsSceneHoverLeave:
QEvent::GraphicsSceneHoverLeave:
never executed: case QEvent::GraphicsSceneHoverLeave:
0
2181 case
never executed: case QEvent::GraphicsSceneHoverMove:
QEvent::GraphicsSceneHoverMove:
never executed: case QEvent::GraphicsSceneHoverMove:
0
2182 case
never executed: case QEvent::TouchBegin:
QEvent::TouchBegin:
never executed: case QEvent::TouchBegin:
0
2183 case
never executed: case QEvent::TouchUpdate:
QEvent::TouchUpdate:
never executed: case QEvent::TouchUpdate:
0
2184 case
never executed: case QEvent::TouchEnd:
QEvent::TouchEnd:
never executed: case QEvent::TouchEnd:
0
2185-
2186-
2187-
2188-
2189-
2190-
2191-
2192 d->cachedItemsUnderMouse.clear();-
2193 default
never executed: default:
:
never executed: default:
code before this statement never executed: default:
0
2194 break;
never executed: break;
0
2195 }-
2196-
2197 switch (event->type()) {-
2198 case
never executed: case QEvent::GraphicsSceneDragEnter:
QEvent::GraphicsSceneDragEnter:
never executed: case QEvent::GraphicsSceneDragEnter:
0
2199 dragEnterEvent(static_cast<QGraphicsSceneDragDropEvent *>(event));-
2200 break;
never executed: break;
0
2201 case
never executed: case QEvent::GraphicsSceneDragMove:
QEvent::GraphicsSceneDragMove:
never executed: case QEvent::GraphicsSceneDragMove:
0
2202 dragMoveEvent(static_cast<QGraphicsSceneDragDropEvent *>(event));-
2203 break;
never executed: break;
0
2204 case
never executed: case QEvent::GraphicsSceneDragLeave:
QEvent::GraphicsSceneDragLeave:
never executed: case QEvent::GraphicsSceneDragLeave:
0
2205 dragLeaveEvent(static_cast<QGraphicsSceneDragDropEvent *>(event));-
2206 break;
never executed: break;
0
2207 case
never executed: case QEvent::GraphicsSceneDrop:
QEvent::GraphicsSceneDrop:
never executed: case QEvent::GraphicsSceneDrop:
0
2208 dropEvent(static_cast<QGraphicsSceneDragDropEvent *>(event));-
2209 break;
never executed: break;
0
2210 case
never executed: case QEvent::GraphicsSceneContextMenu:
QEvent::GraphicsSceneContextMenu:
never executed: case QEvent::GraphicsSceneContextMenu:
0
2211 contextMenuEvent(static_cast<QGraphicsSceneContextMenuEvent *>(event));-
2212 break;
never executed: break;
0
2213 case
never executed: case QEvent::KeyPress:
QEvent::KeyPress:
never executed: case QEvent::KeyPress:
0
2214 if (!d->focusItem
!d->focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2215 QKeyEvent *k = static_cast<QKeyEvent *>(event);-
2216 if (k->key() == Qt::Key_Tab
k->key() == Qt::Key_TabDescription
TRUEnever evaluated
FALSEnever evaluated
|| k->key() == Qt::Key_Backtab
k->key() == Qt::Key_BacktabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2217 if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))
!(k->modifiers...:AltModifier))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2218 bool res = false;-
2219 if (k->key() == Qt::Key_Backtab
k->key() == Qt::Key_BacktabDescription
TRUEnever evaluated
FALSEnever evaluated
0
2220 || (k->key() == Qt::Key_Tab
k->key() == Qt::Key_TabDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(k->modifiers(...ShiftModifier)Description
TRUEnever evaluated
FALSEnever evaluated
k->modifiers() & Qt::ShiftModifier)
(k->modifiers(...ShiftModifier)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
2221 res = focusNextPrevChild(false);-
2222 }
never executed: end of block
else if (k->key() == Qt::Key_Tab
k->key() == Qt::Key_TabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2223 res = focusNextPrevChild(true);-
2224 }
never executed: end of block
0
2225 if (!res
!resDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2226 event->ignore();
never executed: event->ignore();
0
2227 return
never executed: return true;
true;
never executed: return true;
0
2228 }-
2229 }
never executed: end of block
0
2230 }
never executed: end of block
0
2231 keyPressEvent(static_cast<QKeyEvent *>(event));-
2232 break;
never executed: break;
0
2233 case
never executed: case QEvent::KeyRelease:
QEvent::KeyRelease:
never executed: case QEvent::KeyRelease:
0
2234 keyReleaseEvent(static_cast<QKeyEvent *>(event));-
2235 break;
never executed: break;
0
2236 case
never executed: case QEvent::ShortcutOverride:
QEvent::ShortcutOverride:
never executed: case QEvent::ShortcutOverride:
{
0
2237 QGraphicsItem *parent = focusItem();-
2238 while (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2239 d->sendEvent(parent, event);-
2240 if (event->isAccepted()
event->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2241 return
never executed: return true;
true;
never executed: return true;
0
2242 parent = parent->parentItem();-
2243 }
never executed: end of block
0
2244 }-
2245 return
never executed: return false;
false;
never executed: return false;
0
2246 case
never executed: case QEvent::GraphicsSceneMouseMove:
QEvent::GraphicsSceneMouseMove:
never executed: case QEvent::GraphicsSceneMouseMove:
0
2247 {-
2248 QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent *>(event);-
2249 d->lastSceneMousePos = mouseEvent->scenePos();-
2250 mouseMoveEvent(mouseEvent);-
2251 break;
never executed: break;
0
2252 }-
2253 case
never executed: case QEvent::GraphicsSceneMousePress:
QEvent::GraphicsSceneMousePress:
never executed: case QEvent::GraphicsSceneMousePress:
0
2254 mousePressEvent(static_cast<QGraphicsSceneMouseEvent *>(event));-
2255 break;
never executed: break;
0
2256 case
never executed: case QEvent::GraphicsSceneMouseRelease:
QEvent::GraphicsSceneMouseRelease:
never executed: case QEvent::GraphicsSceneMouseRelease:
0
2257 mouseReleaseEvent(static_cast<QGraphicsSceneMouseEvent *>(event));-
2258 break;
never executed: break;
0
2259 case
never executed: case QEvent::GraphicsSceneMouseDoubleClick:
QEvent::GraphicsSceneMouseDoubleClick:
never executed: case QEvent::GraphicsSceneMouseDoubleClick:
0
2260 mouseDoubleClickEvent(static_cast<QGraphicsSceneMouseEvent *>(event));-
2261 break;
never executed: break;
0
2262 case
never executed: case QEvent::GraphicsSceneWheel:
QEvent::GraphicsSceneWheel:
never executed: case QEvent::GraphicsSceneWheel:
0
2263 wheelEvent(static_cast<QGraphicsSceneWheelEvent *>(event));-
2264 break;
never executed: break;
0
2265 case
never executed: case QEvent::FocusIn:
QEvent::FocusIn:
never executed: case QEvent::FocusIn:
0
2266 focusInEvent(static_cast<QFocusEvent *>(event));-
2267 break;
never executed: break;
0
2268 case
never executed: case QEvent::FocusOut:
QEvent::FocusOut:
never executed: case QEvent::FocusOut:
0
2269 focusOutEvent(static_cast<QFocusEvent *>(event));-
2270 break;
never executed: break;
0
2271 case
never executed: case QEvent::GraphicsSceneHoverEnter:
QEvent::GraphicsSceneHoverEnter:
never executed: case QEvent::GraphicsSceneHoverEnter:
0
2272 case
never executed: case QEvent::GraphicsSceneHoverLeave:
QEvent::GraphicsSceneHoverLeave:
never executed: case QEvent::GraphicsSceneHoverLeave:
0
2273 case
never executed: case QEvent::GraphicsSceneHoverMove:
QEvent::GraphicsSceneHoverMove:
never executed: case QEvent::GraphicsSceneHoverMove:
0
2274 {-
2275 QGraphicsSceneHoverEvent *hoverEvent = static_cast<QGraphicsSceneHoverEvent *>(event);-
2276 d->lastSceneMousePos = hoverEvent->scenePos();-
2277 d->dispatchHoverEvent(hoverEvent);-
2278 break;
never executed: break;
0
2279 }-
2280 case
never executed: case QEvent::Leave:
QEvent::Leave:
never executed: case QEvent::Leave:
0
2281-
2282 d->leaveScene(reinterpret_cast<QWidget *>(event->d));-
2283 break;
never executed: break;
0
2284 case
never executed: case QEvent::GraphicsSceneHelp:
QEvent::GraphicsSceneHelp:
never executed: case QEvent::GraphicsSceneHelp:
0
2285 helpEvent(static_cast<QGraphicsSceneHelpEvent *>(event));-
2286 break;
never executed: break;
0
2287 case
never executed: case QEvent::InputMethod:
QEvent::InputMethod:
never executed: case QEvent::InputMethod:
0
2288 inputMethodEvent(static_cast<QInputMethodEvent *>(event));-
2289 break;
never executed: break;
0
2290 case
never executed: case QEvent::WindowActivate:
QEvent::WindowActivate:
never executed: case QEvent::WindowActivate:
0
2291 if (!d->activationRefCount++
!d->activationRefCount++Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2292 if (d->lastActivePanel
d->lastActivePanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2293-
2294 d->setActivePanelHelper(d->lastActivePanel, true);-
2295 }
never executed: end of block
else if (d->tabFocusFirst
d->tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->tabFocusFirst->isPanel()
d->tabFocusFirst->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2296-
2297-
2298 d->setActivePanelHelper(d->tabFocusFirst, true);-
2299 }
never executed: end of block
else {
0
2300-
2301 QEvent event(QEvent::WindowActivate);-
2302 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items())>::type> _container_((items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
2303 if (item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isPanel()
!item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2304 sendEvent(item, &event);
never executed: sendEvent(item, &event);
0
2305 }
never executed: end of block
0
2306 }
never executed: end of block
0
2307 }-
2308 break;
never executed: break;
0
2309 case
never executed: case QEvent::WindowDeactivate:
QEvent::WindowDeactivate:
never executed: case QEvent::WindowDeactivate:
0
2310 if (!--d->activationRefCount
!--d->activationRefCountDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2311 if (d->activePanel
d->activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2312-
2313-
2314 QGraphicsItem *lastActivePanel = d->activePanel;-
2315 d->setActivePanelHelper(0, true);-
2316 d->lastActivePanel = lastActivePanel;-
2317 }
never executed: end of block
else {
0
2318-
2319 QEvent event(QEvent::WindowDeactivate);-
2320 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items())>::type> _container_((items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
2321 if (item->isVisible()
item->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isPanel()
!item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->parentItem()
!item->parentItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2322 sendEvent(item, &event);
never executed: sendEvent(item, &event);
0
2323 }
never executed: end of block
0
2324 }
never executed: end of block
0
2325 }-
2326 break;
never executed: break;
0
2327 case
never executed: case QEvent::ApplicationFontChange:
QEvent::ApplicationFontChange:
never executed: case QEvent::ApplicationFontChange:
{
0
2328-
2329 d->resolveFont();-
2330 break;
never executed: break;
0
2331 }-
2332 case
never executed: case QEvent::FontChange:
QEvent::FontChange:
never executed: case QEvent::FontChange:
0
2333-
2334 update();-
2335 break;
never executed: break;
0
2336 case
never executed: case QEvent::ApplicationPaletteChange:
QEvent::ApplicationPaletteChange:
never executed: case QEvent::ApplicationPaletteChange:
{
0
2337-
2338 d->resolvePalette();-
2339 break;
never executed: break;
0
2340 }-
2341 case
never executed: case QEvent::PaletteChange:
QEvent::PaletteChange:
never executed: case QEvent::PaletteChange:
0
2342-
2343 update();-
2344 break;
never executed: break;
0
2345 case
never executed: case QEvent::StyleChange:
QEvent::StyleChange:
never executed: case QEvent::StyleChange:
0
2346-
2347-
2348 update();-
2349 break;
never executed: break;
0
2350 case
never executed: case QEvent::StyleAnimationUpdate:
QEvent::StyleAnimationUpdate:
never executed: case QEvent::StyleAnimationUpdate:
0
2351-
2352-
2353 update();-
2354 break;
never executed: break;
0
2355 case
never executed: case QEvent::TouchBegin:
QEvent::TouchBegin:
never executed: case QEvent::TouchBegin:
0
2356 case
never executed: case QEvent::TouchUpdate:
QEvent::TouchUpdate:
never executed: case QEvent::TouchUpdate:
0
2357 case
never executed: case QEvent::TouchEnd:
QEvent::TouchEnd:
never executed: case QEvent::TouchEnd:
0
2358 d->touchEventHandler(static_cast<QTouchEvent *>(event));-
2359 break;
never executed: break;
0
2360-
2361 case
never executed: case QEvent::Gesture:
QEvent::Gesture:
never executed: case QEvent::Gesture:
0
2362 case
never executed: case QEvent::GestureOverride:
QEvent::GestureOverride:
never executed: case QEvent::GestureOverride:
0
2363 d->gestureEventHandler(static_cast<QGestureEvent *>(event));-
2364 break;
never executed: break;
0
2365-
2366 default
never executed: default:
:
never executed: default:
0
2367 return
never executed: return QObject::event(event);
QObject::event(event);
never executed: return QObject::event(event);
0
2368 }-
2369 return
never executed: return true;
true;
never executed: return true;
0
2370}-
2371-
2372-
2373-
2374-
2375-
2376-
2377-
2378bool QGraphicsScene::eventFilter(QObject *watched, QEvent *event)-
2379{-
2380 if (watched != (static_cast<QApplication *>(QCoreApplication::instance()))
watched != (st...::instance()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2381 return
never executed: return false;
false;
never executed: return false;
0
2382-
2383 switch (event->type()) {-
2384 case
never executed: case QEvent::ApplicationPaletteChange:
QEvent::ApplicationPaletteChange:
never executed: case QEvent::ApplicationPaletteChange:
0
2385 QApplication::postEvent(this, new QEvent(QEvent::ApplicationPaletteChange));-
2386 break;
never executed: break;
0
2387 case
never executed: case QEvent::ApplicationFontChange:
QEvent::ApplicationFontChange:
never executed: case QEvent::ApplicationFontChange:
0
2388 QApplication::postEvent(this, new QEvent(QEvent::ApplicationFontChange));-
2389 break;
never executed: break;
0
2390 default
never executed: default:
:
never executed: default:
0
2391 break;
never executed: break;
0
2392 }-
2393 return
never executed: return false;
false;
never executed: return false;
0
2394}-
2395void QGraphicsScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *contextMenuEvent)-
2396{-
2397 QGraphicsScenePrivate * const d = d_func();-
2398-
2399 contextMenuEvent->ignore();-
2400-
2401-
2402-
2403 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->itemsAtPosition(contextMenuEvent->screenPos(), contextMenuEvent->scenePos(), contextMenuEvent->widget()))>::type> _container_((d->itemsAtPosition(contextMenuEvent->screenPos(), contextMenuEvent->scenePos(), contextMenuEvent->widget()))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
2404-
2405 {-
2406 contextMenuEvent->setPos(item->d_ptr->genericMapFromScene(contextMenuEvent->scenePos(),-
2407 contextMenuEvent->widget()));-
2408 contextMenuEvent->accept();-
2409 if (!d->sendEvent(item, contextMenuEvent)
!d->sendEvent(...textMenuEvent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2410 break;
never executed: break;
0
2411-
2412 if (contextMenuEvent->isAccepted()
contextMenuEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2413 break;
never executed: break;
0
2414 }
never executed: end of block
0
2415}
never executed: end of block
0
2416void QGraphicsScene::dragEnterEvent(QGraphicsSceneDragDropEvent *event)-
2417{-
2418 QGraphicsScenePrivate * const d = d_func();-
2419 d->dragDropItem = 0;-
2420 d->lastDropAction = Qt::IgnoreAction;-
2421 event->accept();-
2422}
never executed: end of block
0
2423void QGraphicsScene::dragMoveEvent(QGraphicsSceneDragDropEvent *event)-
2424{-
2425 QGraphicsScenePrivate * const d = d_func();-
2426 event->ignore();-
2427-
2428 if (!d->mouseGrabberItems.isEmpty()
!d->mouseGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2429-
2430 d->clearMouseGrabber();-
2431 d->mouseGrabberButtonDownPos.clear();-
2432 d->mouseGrabberButtonDownScenePos.clear();-
2433 d->mouseGrabberButtonDownScreenPos.clear();-
2434 }
never executed: end of block
0
2435-
2436 bool eventDelivered = false;-
2437-
2438-
2439-
2440 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(d->itemsAtPosition(event->screenPos(), event->scenePos(), event->widget()))>::type> _container_((d->itemsAtPosition(event->screenPos(), event->scenePos(), event->widget()))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0)-
2441-
2442 {-
2443 if (!item->isEnabled()
!item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
|| !item->acceptDrops()
!item->acceptDrops()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2444 continue;
never executed: continue;
0
2445-
2446 if (item != d->dragDropItem
item != d->dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2447-
2448-
2449 QGraphicsSceneDragDropEvent dragEnter(QEvent::GraphicsSceneDragEnter);-
2450 d->cloneDragDropEvent(&dragEnter, event);-
2451 dragEnter.setDropAction(event->proposedAction());-
2452 d->sendDragDropEvent(item, &dragEnter);-
2453 event->setAccepted(dragEnter.isAccepted());-
2454 event->setDropAction(dragEnter.dropAction());-
2455 if (!event->isAccepted()
!event->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2456-
2457 continue;
never executed: continue;
0
2458 }-
2459-
2460 d->lastDropAction = event->dropAction();-
2461-
2462 if (d->dragDropItem
d->dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2463-
2464-
2465-
2466-
2467 QGraphicsSceneDragDropEvent dragLeave(QEvent::GraphicsSceneDragLeave);-
2468 d->cloneDragDropEvent(&dragLeave, event);-
2469 d->sendDragDropEvent(d->dragDropItem, &dragLeave);-
2470 }
never executed: end of block
0
2471-
2472-
2473 d->dragDropItem = item;-
2474 }
never executed: end of block
0
2475-
2476-
2477 event->setDropAction(d->lastDropAction);-
2478 event->accept();-
2479 d->sendDragDropEvent(item, event);-
2480 if (event->isAccepted()
event->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2481 d->lastDropAction = event->dropAction();
never executed: d->lastDropAction = event->dropAction();
0
2482 eventDelivered = true;-
2483 break;
never executed: break;
0
2484 }-
2485-
2486 if (!eventDelivered
!eventDeliveredDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2487 if (d->dragDropItem
d->dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2488-
2489 QGraphicsSceneDragDropEvent dragLeave(QEvent::GraphicsSceneDragLeave);-
2490 d->cloneDragDropEvent(&dragLeave, event);-
2491 d->sendDragDropEvent(d->dragDropItem, &dragLeave);-
2492 d->dragDropItem = 0;-
2493 }
never executed: end of block
0
2494-
2495 event->setDropAction(Qt::IgnoreAction);-
2496 }
never executed: end of block
0
2497}
never executed: end of block
0
2498void QGraphicsScene::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)-
2499{-
2500 QGraphicsScenePrivate * const d = d_func();-
2501 if (d->dragDropItem
d->dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2502-
2503 d->sendDragDropEvent(d->dragDropItem, event);-
2504 d->dragDropItem = 0;-
2505 }
never executed: end of block
0
2506}
never executed: end of block
0
2507void QGraphicsScene::dropEvent(QGraphicsSceneDragDropEvent *event)-
2508{-
2509 (void)event;;-
2510 QGraphicsScenePrivate * const d = d_func();-
2511 if (d->dragDropItem
d->dragDropItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2512-
2513 d->sendDragDropEvent(d->dragDropItem, event);-
2514 d->dragDropItem = 0;-
2515 }
never executed: end of block
0
2516}
never executed: end of block
0
2517void QGraphicsScene::focusInEvent(QFocusEvent *focusEvent)-
2518{-
2519 QGraphicsScenePrivate * const d = d_func();-
2520-
2521 d->hasFocus = true;-
2522 switch (focusEvent->reason()) {-
2523 case
never executed: case Qt::TabFocusReason:
Qt::TabFocusReason:
never executed: case Qt::TabFocusReason:
0
2524 if (!focusNextPrevChild(true)
!focusNextPrevChild(true)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2525 focusEvent->ignore();
never executed: focusEvent->ignore();
0
2526 break;
never executed: break;
0
2527 case
never executed: case Qt::BacktabFocusReason:
Qt::BacktabFocusReason:
never executed: case Qt::BacktabFocusReason:
0
2528 if (!focusNextPrevChild(false)
!focusNextPrevChild(false)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2529 focusEvent->ignore();
never executed: focusEvent->ignore();
0
2530 break;
never executed: break;
0
2531 default
never executed: default:
:
never executed: default:
0
2532 if (d->passiveFocusItem
d->passiveFocusItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2533-
2534 setFocusItem(d->passiveFocusItem, focusEvent->reason());-
2535 }
never executed: end of block
0
2536 break;
never executed: break;
0
2537 }-
2538}-
2539void QGraphicsScene::focusOutEvent(QFocusEvent *focusEvent)-
2540{-
2541 QGraphicsScenePrivate * const d = d_func();-
2542 d->hasFocus = false;-
2543 d->passiveFocusItem = d->focusItem;-
2544 setFocusItem(0, focusEvent->reason());-
2545-
2546-
2547 if (!d->popupWidgets.isEmpty()
!d->popupWidgets.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2548 d->removePopup(d->popupWidgets.first());
never executed: d->removePopup(d->popupWidgets.first());
0
2549}
never executed: end of block
0
2550void QGraphicsScene::helpEvent(QGraphicsSceneHelpEvent *helpEvent)-
2551{-
2552-
2553-
2554-
2555-
2556 QGraphicsScenePrivate * const d = d_func();-
2557 QList<QGraphicsItem *> itemsAtPos = d->itemsAtPosition(helpEvent->screenPos(),-
2558 helpEvent->scenePos(),-
2559 helpEvent->widget());-
2560 QGraphicsItem *toolTipItem = 0;-
2561 for (int i = 0; i < itemsAtPos.size()
i < itemsAtPos.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2562 QGraphicsItem *tmp = itemsAtPos.at(i);-
2563 if (tmp->d_func()->isProxyWidget()
tmp->d_func()->isProxyWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2564-
2565 sendEvent(tmp, helpEvent);-
2566 if (helpEvent->isAccepted()
helpEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2567 return;
never executed: return;
0
2568 }
never executed: end of block
0
2569 if (!tmp->toolTip().isEmpty()
!tmp->toolTip().isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2570 toolTipItem = tmp;-
2571 break;
never executed: break;
0
2572 }-
2573 }
never executed: end of block
0
2574-
2575-
2576 QString text;-
2577 QPoint point;-
2578 if (toolTipItem
toolTipItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !toolTipItem->toolTip().isEmpty()
!toolTipItem->...ip().isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2579 text = toolTipItem->toolTip();-
2580 point = helpEvent->screenPos();-
2581 }
never executed: end of block
0
2582 QToolTip::showText(point, text, helpEvent->widget());-
2583 helpEvent->setAccepted(!text.isEmpty());-
2584-
2585}
never executed: end of block
0
2586-
2587bool QGraphicsScenePrivate::itemAcceptsHoverEvents_helper(const QGraphicsItem *item) const-
2588{-
2589 return
never executed: return (item->d_ptr->acceptsHover || (item->d_ptr->isWidget && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration())) && !item->isBlockedByModalPanel();
(item->d_ptr->acceptsHover
item->d_ptr->acceptsHoverDescription
TRUEnever evaluated
FALSEnever evaluated
never executed: return (item->d_ptr->acceptsHover || (item->d_ptr->isWidget && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration())) && !item->isBlockedByModalPanel();
0
2590 || (item->d_ptr->isWidget
item->d_ptr->isWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
never executed: return (item->d_ptr->acceptsHover || (item->d_ptr->isWidget && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration())) && !item->isBlockedByModalPanel();
0
2591 && static_cast<const
static_cast<co...asDecoration()Description
TRUEnever evaluated
FALSEnever evaluated
QGraphicsWidget *>(item)->d_func()->hasDecoration()
static_cast<co...asDecoration()Description
TRUEnever evaluated
FALSEnever evaluated
))
never executed: return (item->d_ptr->acceptsHover || (item->d_ptr->isWidget && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration())) && !item->isBlockedByModalPanel();
0
2592 && !item->isBlockedByModalPanel()
!item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
;
never executed: return (item->d_ptr->acceptsHover || (item->d_ptr->isWidget && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration())) && !item->isBlockedByModalPanel();
0
2593}-
2594bool QGraphicsScenePrivate::dispatchHoverEvent(QGraphicsSceneHoverEvent *hoverEvent)-
2595{-
2596 if (allItemsIgnoreHoverEvents
allItemsIgnoreHoverEventsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2597 return
never executed: return false;
false;
never executed: return false;
0
2598-
2599-
2600-
2601 if (cachedItemsUnderMouse.isEmpty()
cachedItemsUnd...ouse.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2602 cachedItemsUnderMouse = itemsAtPosition(hoverEvent->screenPos(),-
2603 hoverEvent->scenePos(),-
2604 hoverEvent->widget());-
2605 }
never executed: end of block
0
2606-
2607 QGraphicsItem *item = 0;-
2608 for (int i = 0; i < cachedItemsUnderMouse.size()
i < cachedItem...erMouse.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2609 QGraphicsItem *tmp = cachedItemsUnderMouse.at(i);-
2610 if (itemAcceptsHoverEvents_helper(tmp)
itemAcceptsHov...ts_helper(tmp)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2611 item = tmp;-
2612 break;
never executed: break;
0
2613 }-
2614 }
never executed: end of block
0
2615-
2616-
2617-
2618 QGraphicsItem *commonAncestorItem = (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !hoverItems.isEmpty()
!hoverItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) ? item->commonAncestorItem(hoverItems.last()) : 0;
0
2619 while (commonAncestorItem
commonAncestorItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !itemAcceptsHoverEvents_helper(commonAncestorItem)
!itemAcceptsHo...nAncestorItem)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2620 commonAncestorItem = commonAncestorItem->parentItem();
never executed: commonAncestorItem = commonAncestorItem->parentItem();
0
2621 if (commonAncestorItem
commonAncestorItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& commonAncestorItem->panel() != item->panel()
commonAncestor... item->panel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2622-
2623-
2624 commonAncestorItem = 0;-
2625 }
never executed: end of block
0
2626-
2627-
2628 int index = commonAncestorItem
commonAncestorItemDescription
TRUEnever evaluated
FALSEnever evaluated
? hoverItems.indexOf(commonAncestorItem) : -1;
0
2629-
2630-
2631 for (int i = hoverItems.size() - 1; i > index
i > indexDescription
TRUEnever evaluated
FALSEnever evaluated
; --i) {
0
2632 QGraphicsItem *lastItem = hoverItems.takeLast();-
2633 if (itemAcceptsHoverEvents_helper(lastItem)
itemAcceptsHov...lper(lastItem)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2634 sendHoverEvent(QEvent::GraphicsSceneHoverLeave, lastItem, hoverEvent);
never executed: sendHoverEvent(QEvent::GraphicsSceneHoverLeave, lastItem, hoverEvent);
0
2635 }
never executed: end of block
0
2636-
2637-
2638-
2639 QList<QGraphicsItem *> parents;-
2640 QGraphicsItem *parent = item;-
2641 while (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
&& parent != commonAncestorItem
parent != commonAncestorItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2642 parents.prepend(parent);-
2643 if (parent->isPanel()
parent->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2644-
2645 break;
never executed: break;
0
2646 }-
2647 parent = parent->parentItem();-
2648 }
never executed: end of block
0
2649 for (int i = 0; i < parents.size()
i < parents.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2650 parent = parents.at(i);-
2651 hoverItems << parent;-
2652 if (itemAcceptsHoverEvents_helper(parent)
itemAcceptsHov...helper(parent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2653 sendHoverEvent(QEvent::GraphicsSceneHoverEnter, parent, hoverEvent);
never executed: sendHoverEvent(QEvent::GraphicsSceneHoverEnter, parent, hoverEvent);
0
2654 }
never executed: end of block
0
2655-
2656-
2657 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
0
2658 && !hoverItems.isEmpty()
!hoverItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
0
2659 && item == hoverItems.last()
item == hoverItems.last()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2660 sendHoverEvent(QEvent::GraphicsSceneHoverMove, item, hoverEvent);-
2661 return
never executed: return true;
true;
never executed: return true;
0
2662 }-
2663 return
never executed: return false;
false;
never executed: return false;
0
2664}-
2665-
2666-
2667-
2668-
2669-
2670-
2671-
2672void QGraphicsScenePrivate::leaveScene(QWidget *viewport)-
2673{-
2674-
2675 QToolTip::hideText();-
2676-
2677 QGraphicsView *view = qobject_cast<QGraphicsView *>(viewport->parent());-
2678-
2679 QGraphicsSceneHoverEvent hoverEvent;-
2680 hoverEvent.setWidget(viewport);-
2681-
2682 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2683 QPoint cursorPos = QCursor::pos();-
2684 hoverEvent.setScenePos(view->mapToScene(viewport->mapFromGlobal(cursorPos)));-
2685 hoverEvent.setLastScenePos(hoverEvent.scenePos());-
2686 hoverEvent.setScreenPos(cursorPos);-
2687 hoverEvent.setLastScreenPos(hoverEvent.screenPos());-
2688 }
never executed: end of block
0
2689-
2690 while (!hoverItems.isEmpty()
!hoverItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2691 QGraphicsItem *lastItem = hoverItems.takeLast();-
2692 if (itemAcceptsHoverEvents_helper(lastItem)
itemAcceptsHov...lper(lastItem)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2693 sendHoverEvent(QEvent::GraphicsSceneHoverLeave, lastItem, &hoverEvent);
never executed: sendHoverEvent(QEvent::GraphicsSceneHoverLeave, lastItem, &hoverEvent);
0
2694 }
never executed: end of block
0
2695}
never executed: end of block
0
2696void QGraphicsScene::keyPressEvent(QKeyEvent *keyEvent)-
2697{-
2698-
2699-
2700 QGraphicsScenePrivate * const d = d_func();-
2701 QGraphicsItem *item = !d->keyboardGrabberItems.isEmpty()
!d->keyboardGr...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? d->keyboardGrabberItems.last() : 0;
0
2702 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2703 item = focusItem();
never executed: item = focusItem();
0
2704 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2705 QGraphicsItem *p = item;-
2706 do {-
2707-
2708 keyEvent->accept();-
2709-
2710-
2711 if (p->isBlockedByModalPanel()
p->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2712 break;
never executed: break;
0
2713 if (!d->sendEvent(p, keyEvent)
!d->sendEvent(p, keyEvent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2714 break;
never executed: break;
0
2715 }
never executed: end of block
while (!keyEvent->isAccepted()
!keyEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
&& !p->isPanel()
!p->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(p = p->parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
p = p->parentItem())
(p = p->parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
);
0
2716 }
never executed: end of block
else {
0
2717 keyEvent->ignore();-
2718 }
never executed: end of block
0
2719}-
2720void QGraphicsScene::keyReleaseEvent(QKeyEvent *keyEvent)-
2721{-
2722-
2723-
2724 QGraphicsScenePrivate * const d = d_func();-
2725 QGraphicsItem *item = !d->keyboardGrabberItems.isEmpty()
!d->keyboardGr...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? d->keyboardGrabberItems.last() : 0;
0
2726 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2727 item = focusItem();
never executed: item = focusItem();
0
2728 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2729 QGraphicsItem *p = item;-
2730 do {-
2731-
2732 keyEvent->accept();-
2733-
2734-
2735 if (p->isBlockedByModalPanel()
p->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2736 break;
never executed: break;
0
2737 if (!d->sendEvent(p, keyEvent)
!d->sendEvent(p, keyEvent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2738 break;
never executed: break;
0
2739 }
never executed: end of block
while (!keyEvent->isAccepted()
!keyEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
&& !p->isPanel()
!p->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(p = p->parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
p = p->parentItem())
(p = p->parentItem())Description
TRUEnever evaluated
FALSEnever evaluated
);
0
2740 }
never executed: end of block
else {
0
2741 keyEvent->ignore();-
2742 }
never executed: end of block
0
2743}-
2744void QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)-
2745{-
2746 QGraphicsScenePrivate * const d = d_func();-
2747 if (d->mouseGrabberItems.isEmpty()
d->mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2748-
2749 QGraphicsSceneHoverEvent hover;-
2750 _q_hoverFromMouseEvent(&hover, mouseEvent);-
2751 d->dispatchHoverEvent(&hover);-
2752 }
never executed: end of block
0
2753-
2754 d->mousePressEventHandler(mouseEvent);-
2755}
never executed: end of block
0
2756void QGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)-
2757{-
2758 QGraphicsScenePrivate * const d = d_func();-
2759 if (d->mouseGrabberItems.isEmpty()
d->mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2760 if (mouseEvent->buttons()
mouseEvent->buttons()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2761 return;
never executed: return;
0
2762 QGraphicsSceneHoverEvent hover;-
2763 _q_hoverFromMouseEvent(&hover, mouseEvent);-
2764 mouseEvent->setAccepted(d->dispatchHoverEvent(&hover));-
2765 return;
never executed: return;
0
2766 }-
2767-
2768-
2769 d->sendMouseEvent(mouseEvent);-
2770 mouseEvent->accept();-
2771}
never executed: end of block
0
2772void QGraphicsScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)-
2773{-
2774 QGraphicsScenePrivate * const d = d_func();-
2775 if (d->mouseGrabberItems.isEmpty()
d->mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2776 mouseEvent->ignore();-
2777 return;
never executed: return;
0
2778 }-
2779-
2780-
2781 d->sendMouseEvent(mouseEvent);-
2782 mouseEvent->accept();-
2783-
2784-
2785 if (!mouseEvent->buttons()
!mouseEvent->buttons()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2786 if (!d->mouseGrabberItems.isEmpty()
!d->mouseGrabb...tems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2787 d->lastMouseGrabberItem = d->mouseGrabberItems.last();-
2788 if (d->lastMouseGrabberItemHasImplicitMouseGrab
d->lastMouseGr...licitMouseGrabDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2789 d->mouseGrabberItems.last()->ungrabMouse();
never executed: d->mouseGrabberItems.last()->ungrabMouse();
0
2790 }
never executed: end of block
else {
0
2791 d->lastMouseGrabberItem = 0;-
2792 }
never executed: end of block
0
2793-
2794-
2795 QGraphicsSceneHoverEvent hoverEvent;-
2796 _q_hoverFromMouseEvent(&hoverEvent, mouseEvent);-
2797 d->dispatchHoverEvent(&hoverEvent);-
2798 }
never executed: end of block
0
2799}
never executed: end of block
0
2800void QGraphicsScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)-
2801{-
2802 QGraphicsScenePrivate * const d = d_func();-
2803 d->mousePressEventHandler(mouseEvent);-
2804}
never executed: end of block
0
2805void QGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent *wheelEvent)-
2806{-
2807 QGraphicsScenePrivate * const d = d_func();-
2808 QList<QGraphicsItem *> wheelCandidates = d->itemsAtPosition(wheelEvent->screenPos(),-
2809 wheelEvent->scenePos(),-
2810 wheelEvent->widget());-
2811 QList<QGraphicsWidget *>::const_iterator iter = d->popupWidgets.constEnd();-
2812 while (--
--iter >= d->p...s.constBegin()Description
TRUEnever evaluated
FALSEnever evaluated
iter >= d->popupWidgets.constBegin()
--iter >= d->p...s.constBegin()Description
TRUEnever evaluated
FALSEnever evaluated
&& !wheelCandidates.isEmpty()
!wheelCandidates.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2813 if (wheelCandidates.first() == *iter
wheelCandidate...rst() == *iterDescription
TRUEnever evaluated
FALSEnever evaluated
|| (*
(*iter)->isAnc...dates.first())Description
TRUEnever evaluated
FALSEnever evaluated
iter)->isAncestorOf(wheelCandidates.first())
(*iter)->isAnc...dates.first())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2814 break;
never executed: break;
0
2815 d->removePopup(*iter);-
2816 }
never executed: end of block
0
2817-
2818-
2819 bool hasSetFocus = false;-
2820 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(wheelCandidates)>::type> _container_((wheelCandidates)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
2821 if (!hasSetFocus
!hasSetFocusDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->isEnabled()
item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
0
2822 && ((
(item->flags()...emIsFocusable)Description
TRUEnever evaluated
FALSEnever evaluated
item->flags() & QGraphicsItem::ItemIsFocusable)
(item->flags()...emIsFocusable)Description
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->mouseSetsFocus
item->d_ptr->mouseSetsFocusDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
2823 if (item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
&& static_cast<
static_cast<QG...Qt::WheelFocusDescription
TRUEnever evaluated
FALSEnever evaluated
QGraphicsWidget *>(item)->focusPolicy() == Qt::WheelFocus
static_cast<QG...Qt::WheelFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2824 hasSetFocus = true;-
2825 if (item != focusItem()
item != focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2826 setFocusItem(item, Qt::MouseFocusReason);
never executed: setFocusItem(item, Qt::MouseFocusReason);
0
2827 }
never executed: end of block
0
2828 }
never executed: end of block
0
2829-
2830 wheelEvent->setPos(item->d_ptr->genericMapFromScene(wheelEvent->scenePos(),-
2831 wheelEvent->widget()));-
2832 wheelEvent->accept();-
2833 bool isPanel = item->isPanel();-
2834 bool ret = d->sendEvent(item, wheelEvent);-
2835-
2836 if (ret
retDescription
TRUEnever evaluated
FALSEnever evaluated
&& (isPanel
isPanelDescription
TRUEnever evaluated
FALSEnever evaluated
|| wheelEvent->isAccepted()
wheelEvent->isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
))
0
2837 break;
never executed: break;
0
2838 }
never executed: end of block
0
2839}
never executed: end of block
0
2840void QGraphicsScene::inputMethodEvent(QInputMethodEvent *event)-
2841{-
2842 QGraphicsScenePrivate * const d = d_func();-
2843 if (d->focusItem
d->focusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(d->focusItem-...tsInputMethod)Description
TRUEnever evaluated
FALSEnever evaluated
d->focusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod)
(d->focusItem-...tsInputMethod)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2844 d->sendEvent(d->focusItem, event);
never executed: d->sendEvent(d->focusItem, event);
0
2845}
never executed: end of block
0
2846void QGraphicsScene::drawBackground(QPainter *painter, const QRectF &rect)-
2847{-
2848 QGraphicsScenePrivate * const d = d_func();-
2849-
2850 if (d->backgroundBrush.style() != Qt::NoBrush
d->backgroundB...!= Qt::NoBrushDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2851 if (d->painterStateProtection
d->painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2852 painter->save();
never executed: painter->save();
0
2853 painter->setBrushOrigin(0, 0);-
2854 painter->fillRect(rect, backgroundBrush());-
2855 if (d->painterStateProtection
d->painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2856 painter->restore();
never executed: painter->restore();
0
2857 }
never executed: end of block
0
2858}
never executed: end of block
0
2859void QGraphicsScene::drawForeground(QPainter *painter, const QRectF &rect)-
2860{-
2861 QGraphicsScenePrivate * const d = d_func();-
2862-
2863 if (d->foregroundBrush.style() != Qt::NoBrush
d->foregroundB...!= Qt::NoBrushDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2864 if (d->painterStateProtection
d->painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2865 painter->save();
never executed: painter->save();
0
2866 painter->setBrushOrigin(0, 0);-
2867 painter->fillRect(rect, foregroundBrush());-
2868 if (d->painterStateProtection
d->painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2869 painter->restore();
never executed: painter->restore();
0
2870 }
never executed: end of block
0
2871}
never executed: end of block
0
2872-
2873static void _q_paintItem(QGraphicsItem *item, QPainter *painter,-
2874 const QStyleOptionGraphicsItem *option, QWidget *widget,-
2875 bool useWindowOpacity, bool painterStateProtection)-
2876{-
2877 if (!item->isWidget()
!item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2878 item->paint(painter, option, widget);-
2879 return;
never executed: return;
0
2880 }-
2881 QGraphicsWidget *widgetItem = static_cast<QGraphicsWidget *>(item);-
2882 QGraphicsProxyWidget *proxy = qobject_cast<QGraphicsProxyWidget *>(widgetItem);-
2883 const qreal windowOpacity = (proxy
proxyDescription
TRUEnever evaluated
FALSEnever evaluated
&& proxy->widget()
proxy->widget()Description
TRUEnever evaluated
FALSEnever evaluated
&& useWindowOpacity
useWindowOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2884 ? proxy->widget()->windowOpacity() : 1.0;-
2885 const qreal oldPainterOpacity = painter->opacity();-
2886-
2887 if (qFuzzyIsNull(windowOpacity)
qFuzzyIsNull(windowOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2888 return;
never executed: return;
0
2889-
2890 if (windowOpacity < 1.0
windowOpacity < 1.0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2891 painter->setOpacity(oldPainterOpacity * windowOpacity);
never executed: painter->setOpacity(oldPainterOpacity * windowOpacity);
0
2892-
2893-
2894 Qt::LayoutDirection oldLayoutDirection = painter->layoutDirection();-
2895 painter->setLayoutDirection(widgetItem->layoutDirection());-
2896-
2897 if (widgetItem->isWindow()
widgetItem->isWindow()Description
TRUEnever evaluated
FALSEnever evaluated
&& widgetItem->windowType() != Qt::Popup
widgetItem->wi...) != Qt::PopupDescription
TRUEnever evaluated
FALSEnever evaluated
&& widgetItem->windowType() != Qt::ToolTip
widgetItem->wi...!= Qt::ToolTipDescription
TRUEnever evaluated
FALSEnever evaluated
0
2898 && !(widgetItem->windowFlags() & Qt::FramelessWindowHint)
!(widgetItem->...essWindowHint)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2899 if (painterStateProtection
painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2900 painter->save();
never executed: painter->save();
0
2901 widgetItem->paintWindowFrame(painter, option, widget);-
2902 if (painterStateProtection
painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2903 painter->restore();
never executed: painter->restore();
0
2904 }
never executed: end of block
else if (widgetItem->autoFillBackground()
widgetItem->au...llBackground()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2905 painter->fillRect(option->exposedRect, widgetItem->palette().window());-
2906 }
never executed: end of block
0
2907-
2908 widgetItem->paint(painter, option, widget);-
2909-
2910-
2911 painter->setLayoutDirection(oldLayoutDirection);-
2912-
2913 if (windowOpacity < 1.0
windowOpacity < 1.0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2914 painter->setOpacity(oldPainterOpacity);
never executed: painter->setOpacity(oldPainterOpacity);
0
2915}
never executed: end of block
0
2916-
2917static void _q_paintIntoCache(QPixmap *pix, QGraphicsItem *item, const QRegion &pixmapExposed,-
2918 const QTransform &itemToPixmap, QPainter::RenderHints renderHints,-
2919 const QStyleOptionGraphicsItem *option, bool painterStateProtection)-
2920{-
2921 QPixmap subPix;-
2922 QPainter pixmapPainter;-
2923 QRect br = pixmapExposed.boundingRect();-
2924-
2925-
2926 if (pixmapExposed.isEmpty()
pixmapExposed.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
|| (pixmapExposed.rectCount() == 1
pixmapExposed.rectCount() == 1Description
TRUEnever evaluated
FALSEnever evaluated
&& br.contains(pix->rect())
br.contains(pix->rect())Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
2927 pix->fill(Qt::transparent);-
2928 pixmapPainter.begin(pix);-
2929 }
never executed: end of block
else {
0
2930 subPix = QPixmap(br.size());-
2931 subPix.fill(Qt::transparent);-
2932 pixmapPainter.begin(&subPix);-
2933 pixmapPainter.translate(-br.topLeft());-
2934 if (!pixmapExposed.isEmpty()
!pixmapExposed.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2935-
2936-
2937 pixmapPainter.setClipRegion(pixmapExposed);-
2938 }
never executed: end of block
0
2939 }
never executed: end of block
0
2940-
2941 pixmapPainter.setRenderHints(pixmapPainter.renderHints(), false);-
2942 pixmapPainter.setRenderHints(renderHints, true);-
2943 pixmapPainter.setWorldTransform(itemToPixmap, true);-
2944-
2945-
2946 _q_paintItem(item, &pixmapPainter, option, 0, false, painterStateProtection);-
2947 pixmapPainter.end();-
2948-
2949 if (!subPix.isNull()
!subPix.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2950-
2951 pixmapPainter.begin(pix);-
2952 pixmapPainter.setCompositionMode(QPainter::CompositionMode_Source);-
2953 pixmapPainter.setClipRegion(pixmapExposed);-
2954 pixmapPainter.drawPixmap(br.topLeft(), subPix);-
2955 pixmapPainter.end();-
2956 }
never executed: end of block
0
2957}
never executed: end of block
0
2958-
2959-
2960-
2961static inline bool transformIsSimple(const QTransform& transform)-
2962{-
2963 QTransform::TransformationType type = transform.type();-
2964 if (type <= QTransform::TxScale
type <= QTransform::TxScaleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2965 return
never executed: return true;
true;
never executed: return true;
0
2966 } else if (type == QTransform::TxRotate
type == QTransform::TxRotateDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2967-
2968 qreal m11 = transform.m11();-
2969 qreal m12 = transform.m12();-
2970 qreal m21 = transform.m21();-
2971 qreal m22 = transform.m22();-
2972 if (m11 == 0.0f
m11 == 0.0fDescription
TRUEnever evaluated
FALSEnever evaluated
&& m22 == 0.0f
m22 == 0.0fDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2973 if (m12 == 1.0f
m12 == 1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
&& m21 == -1.0f
m21 == -1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2974 return
never executed: return true;
true;
never executed: return true;
0
2975 else if (m12 == -1.0f
m12 == -1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
&& m21 == 1.0f
m21 == 1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2976 return
never executed: return true;
true;
never executed: return true;
0
2977 else if (m12 == -1.0f
m12 == -1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
&& m21 == -1.0f
m21 == -1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2978 return
never executed: return true;
true;
never executed: return true;
0
2979 else if (m12 == 1.0f
m12 == 1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
&& m21 == 1.0f
m21 == 1.0fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2980 return
never executed: return true;
true;
never executed: return true;
0
2981 }
never executed: end of block
0
2982 }
never executed: end of block
0
2983 return
never executed: return false;
false;
never executed: return false;
0
2984}-
2985-
2986-
2987-
2988-
2989-
2990-
2991void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painter,-
2992 const QStyleOptionGraphicsItem *option, QWidget *widget,-
2993 bool painterStateProtection)-
2994{-
2995 QGraphicsItemPrivate *itemd = item->d_ptr.data();-
2996 QGraphicsItem::CacheMode cacheMode = QGraphicsItem::CacheMode(itemd->cacheMode);-
2997-
2998-
2999 if (cacheMode == QGraphicsItem::NoCache
cacheMode == Q...sItem::NoCacheDescription
TRUEnever evaluated
FALSEnever evaluated
0
3000-
3001-
3002-
3003 ) {-
3004 _q_paintItem(static_cast<QGraphicsWidget *>(item), painter, option, widget, true, painterStateProtection);-
3005 return;
never executed: return;
0
3006 }-
3007-
3008 const qreal oldPainterOpacity = painter->opacity();-
3009 qreal newPainterOpacity = oldPainterOpacity;-
3010 QGraphicsProxyWidget *proxy = item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QGraphicsProxyWidget *>(static_cast<QGraphicsWidget *>(item)) : 0;
0
3011 if (proxy
proxyDescription
TRUEnever evaluated
FALSEnever evaluated
&& proxy->widget()
proxy->widget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3012 const qreal windowOpacity = proxy->widget()->windowOpacity();-
3013 if (windowOpacity < 1.0
windowOpacity < 1.0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3014 newPainterOpacity *= windowOpacity;
never executed: newPainterOpacity *= windowOpacity;
0
3015 }
never executed: end of block
0
3016-
3017-
3018 QRectF brect = item->boundingRect();-
3019 QRectF adjustedBrect(brect);-
3020 _q_adjustRect(&adjustedBrect);-
3021 if (adjustedBrect.isEmpty()
adjustedBrect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3022 return;
never executed: return;
0
3023-
3024-
3025 QPixmapCache::Key pixmapKey;-
3026 QPixmap pix;-
3027 bool pixmapFound;-
3028 QGraphicsItemCache *itemCache = itemd->extraItemCache();-
3029 if (cacheMode == QGraphicsItem::ItemCoordinateCache
cacheMode == Q...oordinateCacheDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3030 pixmapKey = itemCache->key;-
3031 }
never executed: end of block
else {
0
3032 pixmapKey = itemCache->deviceData.value(widget).key;-
3033 }
never executed: end of block
0
3034-
3035-
3036 pixmapFound = QPixmapCache::find(pixmapKey, &pix);-
3037-
3038-
3039 if (cacheMode == QGraphicsItem::ItemCoordinateCache
cacheMode == Q...oordinateCacheDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3040 QSize pixmapSize;-
3041 bool fixedCacheSize = false;-
3042 QRect br = brect.toAlignedRect();-
3043 if ((
(fixedCacheSiz...ize.isValid())Description
TRUEnever evaluated
FALSEnever evaluated
fixedCacheSize = itemCache->fixedSize.isValid())
(fixedCacheSiz...ize.isValid())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3044 pixmapSize = itemCache->fixedSize;-
3045 }
never executed: end of block
else {
0
3046 pixmapSize = br.size();-
3047 }
never executed: end of block
0
3048-
3049-
3050 int adjust = itemCache->fixedSize.isValid()
itemCache->fixedSize.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : 2;
0
3051 QSize adjustSize(adjust*2, adjust*2);-
3052 br.adjust(-adjust, -adjust, adjust, adjust);-
3053 if (pix.isNull()
pix.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
|| (!fixedCacheSize
!fixedCacheSizeDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(pixmapSize + ... != pix.size()Description
TRUEnever evaluated
FALSEnever evaluated
pixmapSize + adjustSize) != pix.size()
(pixmapSize + ... != pix.size()Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
3054 pix = QPixmap(pixmapSize + adjustSize);-
3055 itemCache->boundingRect = br;-
3056 itemCache->exposed.clear();-
3057 itemCache->allExposed = true;-
3058 }
never executed: end of block
else if (itemCache->boundingRect != br
itemCache->boundingRect != brDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3059 itemCache->boundingRect = br;-
3060 itemCache->exposed.clear();-
3061 itemCache->allExposed = true;-
3062 }
never executed: end of block
0
3063-
3064-
3065 if (itemCache->allExposed
itemCache->allExposedDescription
TRUEnever evaluated
FALSEnever evaluated
|| !itemCache->exposed.isEmpty()
!itemCache->exposed.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3066-
3067-
3068-
3069 if (pixmapFound
pixmapFoundDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3070 QPixmapCache::remove(pixmapKey);
never executed: QPixmapCache::remove(pixmapKey);
0
3071-
3072-
3073 QTransform itemToPixmap;-
3074 if (fixedCacheSize
fixedCacheSizeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3075 const QPointF scale(pixmapSize.width() / brect.width(), pixmapSize.height() / brect.height());-
3076 itemToPixmap.scale(scale.x(), scale.y());-
3077 }
never executed: end of block
0
3078 itemToPixmap.translate(-br.x(), -br.y());-
3079-
3080-
3081-
3082 styleOptionTmp = *option;-
3083 QRegion pixmapExposed;-
3084 QRectF exposedRect;-
3085 if (!itemCache->allExposed
!itemCache->allExposedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3086 for (int i = 0; i < itemCache->exposed.size()
i < itemCache->exposed.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3087 QRectF r = itemCache->exposed.at(i);-
3088 exposedRect |= r;-
3089 pixmapExposed += itemToPixmap.mapRect(r).toAlignedRect();-
3090 }
never executed: end of block
0
3091 }
never executed: end of block
else {
0
3092 exposedRect = brect;-
3093 }
never executed: end of block
0
3094 styleOptionTmp.exposedRect = exposedRect;-
3095-
3096-
3097 _q_paintIntoCache(&pix, item, pixmapExposed, itemToPixmap, painter->renderHints(),-
3098 &styleOptionTmp, painterStateProtection);-
3099-
3100-
3101 itemCache->key = QPixmapCache::insert(pix);-
3102-
3103-
3104 itemCache->allExposed = false;-
3105 itemCache->exposed.clear();-
3106 }
never executed: end of block
0
3107-
3108-
3109-
3110-
3111 if (newPainterOpacity != oldPainterOpacity
newPainterOpac...PainterOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3112 painter->setOpacity(newPainterOpacity);-
3113 painter->drawPixmap(br.topLeft(), pix);-
3114 painter->setOpacity(oldPainterOpacity);-
3115 }
never executed: end of block
else {
0
3116 painter->drawPixmap(br.topLeft(), pix);-
3117 }
never executed: end of block
0
3118 return;
never executed: return;
0
3119 }-
3120-
3121-
3122 if (cacheMode == QGraphicsItem::DeviceCoordinateCache
cacheMode == Q...oordinateCacheDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3123-
3124 QRectF deviceBounds = painter->worldTransform().mapRect(brect);-
3125 QRect deviceRect = deviceBounds.toRect().adjusted(-1, -1, 1, 1);-
3126 if (deviceRect.isEmpty()
deviceRect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3127 return;
never executed: return;
0
3128 QRect viewRect = widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
? widget->rect() : QRect();
0
3129 if (widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& !viewRect.intersects(deviceRect)
!viewRect.inte...ts(deviceRect)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3130 return;
never executed: return;
0
3131-
3132-
3133-
3134 QSize maximumCacheSize =-
3135 itemd->extra(QGraphicsItemPrivate::ExtraMaxDeviceCoordCacheSize).toSize();-
3136 if (!maximumCacheSize.isEmpty()
!maximumCacheSize.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
0
3137 && (deviceRect.width() > maximumCacheSize.width()
deviceRect.wid...heSize.width()Description
TRUEnever evaluated
FALSEnever evaluated
0
3138 || deviceRect.height() > maximumCacheSize.height()
deviceRect.hei...eSize.height()Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
3139 _q_paintItem(static_cast<QGraphicsWidget *>(item), painter, option, widget,-
3140 oldPainterOpacity != newPainterOpacity, painterStateProtection);-
3141 return;
never executed: return;
0
3142 }-
3143-
3144-
3145-
3146-
3147 bool pixModified = false;-
3148 QGraphicsItemCache::DeviceData *deviceData = &itemCache->deviceData[widget];-
3149 bool invertable = true;-
3150 QTransform diff = deviceData->lastTransform.inverted(&invertable);-
3151 if (invertable
invertableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3152 diff *= painter->worldTransform();
never executed: diff *= painter->worldTransform();
0
3153 deviceData->lastTransform = painter->worldTransform();-
3154 bool allowPartialCacheExposure = false;-
3155 bool simpleTransform = invertable
invertableDescription
TRUEnever evaluated
FALSEnever evaluated
&& diff.type() <= QTransform::TxTranslate
diff.type() <=...m::TxTranslateDescription
TRUEnever evaluated
FALSEnever evaluated
0
3156 && transformIsSimple(painter->worldTransform())
transformIsSim...ldTransform())Description
TRUEnever evaluated
FALSEnever evaluated
;
0
3157 if (!simpleTransform
!simpleTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3158 pixModified = true;-
3159 itemCache->allExposed = true;-
3160 itemCache->exposed.clear();-
3161 deviceData->cacheIndent = QPoint();-
3162 pix = QPixmap();-
3163 }
never executed: end of block
else if (!viewRect.isNull()
!viewRect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3164 allowPartialCacheExposure = deviceData->cacheIndent != QPoint();-
3165 }
never executed: end of block
0
3166-
3167-
3168-
3169 if (!allowPartialCacheExposure
!allowPartialCacheExposureDescription
TRUEnever evaluated
FALSEnever evaluated
&& !viewRect.isNull()
!viewRect.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
&& !viewRect.contains(deviceRect)
!viewRect.contains(deviceRect)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3170 allowPartialCacheExposure = (
(viewRect.widt...eRect.width())Description
TRUEnever evaluated
FALSEnever evaluated
viewRect.width() * 1.2 < deviceRect.width())
(viewRect.widt...eRect.width())Description
TRUEnever evaluated
FALSEnever evaluated
0
3171 || (
(viewRect.heig...Rect.height())Description
TRUEnever evaluated
FALSEnever evaluated
viewRect.height() * 1.2 < deviceRect.height())
(viewRect.heig...Rect.height())Description
TRUEnever evaluated
FALSEnever evaluated
;
0
3172 }
never executed: end of block
0
3173-
3174 QRegion scrollExposure;-
3175 if (allowPartialCacheExposure
allowPartialCacheExposureDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3176-
3177-
3178-
3179-
3180 int dx = deviceRect.left() < viewRect.left()
deviceRect.lef...iewRect.left()Description
TRUEnever evaluated
FALSEnever evaluated
? viewRect.left() - deviceRect.left() : 0;
0
3181 int dy = deviceRect.top() < viewRect.top()
deviceRect.top...viewRect.top()Description
TRUEnever evaluated
FALSEnever evaluated
? viewRect.top() - deviceRect.top() : 0;
0
3182 QPoint newCacheIndent(dx, dy);-
3183 deviceRect &= viewRect;-
3184-
3185 if (pix.isNull()
pix.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3186 deviceData->cacheIndent = QPoint();-
3187 itemCache->allExposed = true;-
3188 itemCache->exposed.clear();-
3189 pixModified = true;-
3190 }
never executed: end of block
0
3191-
3192-
3193-
3194 if (newCacheIndent != deviceData->cacheIndent
newCacheIndent...a->cacheIndentDescription
TRUEnever evaluated
FALSEnever evaluated
|| deviceRect.size() != pix.size()
deviceRect.siz... != pix.size()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3195 QPoint diff = newCacheIndent - deviceData->cacheIndent;-
3196 QPixmap newPix(deviceRect.size());-
3197-
3198-
3199 newPix.fill(Qt::transparent);-
3200 if (!pix.isNull()
!pix.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3201 QPainter newPixPainter(&newPix);-
3202 newPixPainter.drawPixmap(-diff, pix);-
3203 newPixPainter.end();-
3204 }
never executed: end of block
0
3205 QRegion exposed;-
3206 exposed += newPix.rect();-
3207 if (!pix.isNull()
!pix.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3208 exposed -= QRect(-diff, pix.size());
never executed: exposed -= QRect(-diff, pix.size());
0
3209 scrollExposure = exposed;-
3210-
3211 pix = newPix;-
3212 pixModified = true;-
3213 }
never executed: end of block
0
3214 deviceData->cacheIndent = newCacheIndent;-
3215 }
never executed: end of block
else {
0
3216-
3217 deviceData->cacheIndent = QPoint();-
3218-
3219-
3220 if (deviceRect.size() != pix.size()
deviceRect.siz... != pix.size()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3221-
3222 pix = QPixmap(deviceRect.size());-
3223 pixModified = true;-
3224 itemCache->allExposed = true;-
3225 itemCache->exposed.clear();-
3226 }
never executed: end of block
0
3227 }
never executed: end of block
0
3228-
3229-
3230 if (itemCache->allExposed
itemCache->allExposedDescription
TRUEnever evaluated
FALSEnever evaluated
|| !itemCache->exposed.isEmpty()
!itemCache->exposed.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
|| !scrollExposure.isEmpty()
!scrollExposure.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3231-
3232-
3233 if (pixmapFound
pixmapFoundDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3234 QPixmapCache::remove(pixmapKey);
never executed: QPixmapCache::remove(pixmapKey);
0
3235-
3236-
3237 QPointF p = deviceRect.topLeft();-
3238 QTransform itemToPixmap = painter->worldTransform();-
3239 if (!p.isNull()
!p.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3240 itemToPixmap *= QTransform::fromTranslate(-p.x(), -p.y());
never executed: itemToPixmap *= QTransform::fromTranslate(-p.x(), -p.y());
0
3241-
3242-
3243 QRegion pixmapExposed = scrollExposure;-
3244 if (!itemCache->allExposed
!itemCache->allExposedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3245 const QVector<QRectF> &exposed = itemCache->exposed;-
3246 for (int i = 0; i < exposed.size()
i < exposed.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3247 pixmapExposed += itemToPixmap.mapRect(exposed.at(i)).toRect().adjusted(-1, -1, 1, 1);
never executed: pixmapExposed += itemToPixmap.mapRect(exposed.at(i)).toRect().adjusted(-1, -1, 1, 1);
0
3248 }
never executed: end of block
0
3249-
3250-
3251 QRectF br;-
3252 if (itemCache->allExposed
itemCache->allExposedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3253 br = item->boundingRect();-
3254 }
never executed: end of block
else {
0
3255 const QVector<QRectF> &exposed = itemCache->exposed;-
3256 for (int i = 0; i < exposed.size()
i < exposed.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3257 br |= exposed.at(i);
never executed: br |= exposed.at(i);
0
3258 QTransform pixmapToItem = itemToPixmap.inverted();-
3259 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(scrollExposure.rects())>::type> _container_((scrollExposure.rects())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QRect &r = *_container_.i; _container_.control; _container_.control = 0)-
3260 br |= pixmapToItem.mapRect(r);
never executed: br |= pixmapToItem.mapRect(r);
0
3261 }
never executed: end of block
0
3262 styleOptionTmp = *option;-
3263 styleOptionTmp.exposedRect = br.adjusted(-1, -1, 1, 1);-
3264-
3265-
3266 _q_paintIntoCache(&pix, item, pixmapExposed, itemToPixmap, painter->renderHints(),-
3267 &styleOptionTmp, painterStateProtection);-
3268-
3269-
3270 pixModified = true;-
3271 itemCache->allExposed = false;-
3272 itemCache->exposed.clear();-
3273 }
never executed: end of block
0
3274-
3275 if (pixModified
pixModifiedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3276-
3277 deviceData->key = QPixmapCache::insert(pix);-
3278 }
never executed: end of block
0
3279-
3280-
3281-
3282 QTransform restoreTransform = painter->worldTransform();-
3283 painter->setWorldTransform(QTransform());-
3284 if (newPainterOpacity != oldPainterOpacity
newPainterOpac...PainterOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3285 painter->setOpacity(newPainterOpacity);-
3286 painter->drawPixmap(deviceRect.topLeft(), pix);-
3287 painter->setOpacity(oldPainterOpacity);-
3288 }
never executed: end of block
else {
0
3289 painter->drawPixmap(deviceRect.topLeft(), pix);-
3290 }
never executed: end of block
0
3291 painter->setWorldTransform(restoreTransform);-
3292 return;
never executed: return;
0
3293 }-
3294}
never executed: end of block
0
3295-
3296void QGraphicsScenePrivate::drawItems(QPainter *painter, const QTransform *const viewTransform,-
3297 QRegion *exposedRegion, QWidget *widget)-
3298{-
3299-
3300 if (!unpolishedItems.isEmpty()
!unpolishedItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3301 _q_polishItems();
never executed: _q_polishItems();
0
3302-
3303 updateAll = false;-
3304 QRectF exposedSceneRect;-
3305 if (exposedRegion
exposedRegionDescription
TRUEnever evaluated
FALSEnever evaluated
&& indexMethod != QGraphicsScene::NoIndex
indexMethod !=...Scene::NoIndexDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3306 exposedSceneRect = exposedRegion->boundingRect().adjusted(-1, -1, 1, 1);-
3307 if (viewTransform
viewTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3308 exposedSceneRect = viewTransform->inverted().mapRect(exposedSceneRect);
never executed: exposedSceneRect = viewTransform->inverted().mapRect(exposedSceneRect);
0
3309 }
never executed: end of block
0
3310 const QList<QGraphicsItem *> tli = index->estimateTopLevelItems(exposedSceneRect, Qt::AscendingOrder);-
3311 for (int i = 0; i < tli.size()
i < tli.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3312 drawSubtreeRecursive(tli.at(i), painter, viewTransform, exposedRegion, widget);
never executed: drawSubtreeRecursive(tli.at(i), painter, viewTransform, exposedRegion, widget);
0
3313}
never executed: end of block
0
3314-
3315void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *painter,-
3316 const QTransform *const viewTransform,-
3317 QRegion *exposedRegion, QWidget *widget,-
3318 qreal parentOpacity, const QTransform *const effectTransform)-
3319{-
3320 ((!(item)) ? qt_assert("item",__FILE__,4699) : qt_noop());-
3321-
3322 if (!item->d_ptr->visible
!item->d_ptr->visibleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3323 return;
never executed: return;
0
3324-
3325 const bool itemHasContents = !(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents);-
3326 const bool itemHasChildren = !item->d_ptr->children.isEmpty();-
3327 if (!itemHasContents
!itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
&& !itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3328 return;
never executed: return;
0
3329-
3330 const qreal opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);-
3331 const bool itemIsFullyTransparent = QGraphicsItemPrivate::isOpacityNull(opacity);-
3332 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (!itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
|| item->d_ptr->childrenCombineOpacity()
item->d_ptr->c...mbineOpacity()Description
TRUEnever evaluated
FALSEnever evaluated
))
0
3333 return;
never executed: return;
0
3334-
3335 QTransform transform(Qt::Uninitialized);-
3336 QTransform *transformPtr = 0;-
3337 bool translateOnlyTransform = false;-
3338 bool wasDirtyParentSceneTransform = false;-
3339 const bool itemIsUntransformable = item->d_ptr->itemIsUntransformable();-
3340 if (itemIsUntransformable
itemIsUntransformableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3341 transform = item->deviceTransform(viewTransform ? *viewTransform : QTransform());-
3342 transformPtr = &transform;-
3343 }
never executed: end of block
else if (item->d_ptr->dirtySceneTransform
item->d_ptr->d...SceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3344 item->d_ptr->updateSceneTransformFromParent();-
3345 ((!(!item->d_ptr->dirtySceneTransform)) ? qt_assert("!item->d_ptr->dirtySceneTransform",__FILE__,4739) : qt_noop());-
3346 wasDirtyParentSceneTransform = true;-
3347 }
never executed: end of block
0
3348-
3349 const bool itemClipsChildrenToShape = (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape
item->d_ptr->f...hildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
0
3350 || item->d_ptr->flags & QGraphicsItem::ItemContainsChildrenInShape
item->d_ptr->f...hildrenInShapeDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
3351 bool drawItem = itemHasContents
itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
&& !itemIsFullyTransparent
!itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
3352 if (drawItem
drawItemDescription
TRUEnever evaluated
FALSEnever evaluated
|| minimumRenderSize > 0.0
minimumRenderSize > 0.0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3353 const QRectF brect = adjustedItemEffectiveBoundingRect(item);-
3354 if (!transformPtr
!transformPtrDescription
TRUEnever evaluated
FALSEnever evaluated
) { ((!(!itemIsUntransformable)) ? qt_assert("!itemIsUntransformable",__FILE__,4748) : qt_noop()); if (viewTransform
viewTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) { transform = item->d_ptr->sceneTransform; transform *= *viewTransform; transformPtr = &transform; }
never executed: end of block
else { transformPtr = &item->d_ptr->sceneTransform; translateOnlyTransform = item->d_ptr->sceneTransformTranslateOnly; }
never executed: end of block
}
0
3355 QRectF preciseViewBoundingRect = translateOnlyTransform
translateOnlyTransformDescription
TRUEnever evaluated
FALSEnever evaluated
? brect.translated(transformPtr->dx(), transformPtr->dy())
0
3356 : transformPtr->mapRect(brect);-
3357-
3358 bool itemIsTooSmallToRender = false;-
3359 if (minimumRenderSize > 0.0
minimumRenderSize > 0.0Description
TRUEnever evaluated
FALSEnever evaluated
0
3360 && (preciseViewBoundingRect.width() < minimumRenderSize
preciseViewBou...imumRenderSizeDescription
TRUEnever evaluated
FALSEnever evaluated
0
3361 || preciseViewBoundingRect.height() < minimumRenderSize
preciseViewBou...imumRenderSizeDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
3362 itemIsTooSmallToRender = true;-
3363 drawItem = false;-
3364 }
never executed: end of block
0
3365-
3366 bool itemIsOutsideVisibleRect = false;-
3367 if (drawItem
drawItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3368 QRect viewBoundingRect = preciseViewBoundingRect.toAlignedRect();-
3369 viewBoundingRect.adjust(-int(rectAdjust), -int(rectAdjust), rectAdjust, rectAdjust);-
3370 if (widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3371 item->d_ptr->paintedViewBoundingRects.insert(widget, viewBoundingRect);
never executed: item->d_ptr->paintedViewBoundingRects.insert(widget, viewBoundingRect);
0
3372 drawItem = exposedRegion
exposedRegionDescription
TRUEnever evaluated
FALSEnever evaluated
? exposedRegion->intersects(viewBoundingRect)
0
3373 : !viewBoundingRect.normalized().isEmpty();-
3374 itemIsOutsideVisibleRect = !drawItem;-
3375 }
never executed: end of block
0
3376-
3377 if (itemIsTooSmallToRender
itemIsTooSmallToRenderDescription
TRUEnever evaluated
FALSEnever evaluated
|| itemIsOutsideVisibleRect
itemIsOutsideVisibleRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3378-
3379-
3380-
3381-
3382-
3383 if (!itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3384 return;
never executed: return;
0
3385 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3386 if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3387 item->d_ptr->invalidateChildrenSceneTransform();
never executed: item->d_ptr->invalidateChildrenSceneTransform();
0
3388 return;
never executed: return;
0
3389 }-
3390 }
never executed: end of block
0
3391 }
never executed: end of block
0
3392-
3393 if (itemHasChildren
itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
&& itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3394 if (!transformPtr
!transformPtrDescription
TRUEnever evaluated
FALSEnever evaluated
) { ((!(!itemIsUntransformable)) ? qt_assert("!itemIsUntransformable",__FILE__,4788) : qt_noop()); if (viewTransform
viewTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) { transform = item->d_ptr->sceneTransform; transform *= *viewTransform; transformPtr = &transform; }
never executed: end of block
else { transformPtr = &item->d_ptr->sceneTransform; translateOnlyTransform = item->d_ptr->sceneTransformTranslateOnly; }
never executed: end of block
};
0
3395-
3396-
3397 if (item->d_ptr->graphicsEffect
item->d_ptr->graphicsEffectDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->graphicsEffect->isEnabled()
item->d_ptr->g...t->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3398 if (!transformPtr
!transformPtrDescription
TRUEnever evaluated
FALSEnever evaluated
) { ((!(!itemIsUntransformable)) ? qt_assert("!itemIsUntransformable",__FILE__,4792) : qt_noop()); if (viewTransform
viewTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) { transform = item->d_ptr->sceneTransform; transform *= *viewTransform; transformPtr = &transform; }
never executed: end of block
else { transformPtr = &item->d_ptr->sceneTransform; translateOnlyTransform = item->d_ptr->sceneTransformTranslateOnly; }
never executed: end of block
};
0
3399 QGraphicsItemPaintInfo info(viewTransform, transformPtr, effectTransform, exposedRegion, widget, &styleOptionTmp,-
3400 painter, opacity, wasDirtyParentSceneTransform, itemHasContents && !itemIsFullyTransparent);-
3401 QGraphicsEffectSource *source = item->d_ptr->graphicsEffect->d_func()->source;-
3402 QGraphicsItemEffectSourcePrivate *sourced = static_cast<QGraphicsItemEffectSourcePrivate *>-
3403 (source->d_func());-
3404 sourced->info = &info;-
3405 const QTransform restoreTransform = painter->worldTransform();-
3406 if (effectTransform
effectTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3407 painter->setWorldTransform(*transformPtr * *effectTransform);
never executed: painter->setWorldTransform(*transformPtr * *effectTransform);
0
3408 else-
3409 painter->setWorldTransform(*transformPtr);
never executed: painter->setWorldTransform(*transformPtr);
0
3410 painter->setOpacity(opacity);-
3411-
3412 if (sourced->currentCachedSystem() != Qt::LogicalCoordinates
sourced->curre...calCoordinatesDescription
TRUEnever evaluated
FALSEnever evaluated
0
3413 && sourced->lastEffectTransform != painter->worldTransform()
sourced->lastE...rldTransform()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3414 {-
3415 if (sourced->lastEffectTransform.type() <= QTransform::TxTranslate
sourced->lastE...m::TxTranslateDescription
TRUEnever evaluated
FALSEnever evaluated
0
3416 && painter->worldTransform().type() <= QTransform::TxTranslate
painter->world...m::TxTranslateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3417 {-
3418 QRectF sourceRect = sourced->boundingRect(Qt::DeviceCoordinates);-
3419 QRect effectRect = sourced->paddedEffectRect(Qt::DeviceCoordinates, sourced->currentCachedMode(), sourceRect);-
3420-
3421 sourced->setCachedOffset(effectRect.topLeft());-
3422 }
never executed: end of block
else {
0
3423 sourced->invalidateCache(QGraphicsEffectSourcePrivate::TransformChanged);-
3424 }
never executed: end of block
0
3425-
3426 sourced->lastEffectTransform = painter->worldTransform();-
3427 }
never executed: end of block
0
3428-
3429 item->d_ptr->graphicsEffect->draw(painter);-
3430 painter->setWorldTransform(restoreTransform);-
3431 sourced->info = 0;-
3432 }
never executed: end of block
else
0
3433-
3434 {-
3435 draw(item, painter, viewTransform, transformPtr, exposedRegion, widget, opacity,-
3436 effectTransform, wasDirtyParentSceneTransform, drawItem);-
3437 }
never executed: end of block
0
3438}-
3439-
3440static inline void setClip(QPainter *painter, QGraphicsItem *item)-
3441{-
3442 painter->save();-
3443 QRectF clipRect;-
3444 const QPainterPath clipPath(item->shape());-
3445 if (QPathClipper::pathToRect(clipPath, &clipRect)
QPathClipper::...th, &clipRect)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3446 painter->setClipRect(clipRect, Qt::IntersectClip);
never executed: painter->setClipRect(clipRect, Qt::IntersectClip);
0
3447 else-
3448 painter->setClipPath(clipPath, Qt::IntersectClip);
never executed: painter->setClipPath(clipPath, Qt::IntersectClip);
0
3449}-
3450-
3451static inline void setWorldTransform(QPainter *painter, const QTransform *const transformPtr,-
3452 const QTransform *effectTransform)-
3453{-
3454 ((!(transformPtr)) ? qt_assert("transformPtr",__FILE__,4848) : qt_noop());-
3455 if (effectTransform
effectTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3456 painter->setWorldTransform(*transformPtr * *effectTransform);
never executed: painter->setWorldTransform(*transformPtr * *effectTransform);
0
3457 else-
3458 painter->setWorldTransform(*transformPtr);
never executed: painter->setWorldTransform(*transformPtr);
0
3459}-
3460-
3461void QGraphicsScenePrivate::draw(QGraphicsItem *item, QPainter *painter, const QTransform *const viewTransform,-
3462 const QTransform *const transformPtr, QRegion *exposedRegion, QWidget *widget,-
3463 qreal opacity, const QTransform *effectTransform,-
3464 bool wasDirtyParentSceneTransform, bool drawItem)-
3465{-
3466 const bool itemIsFullyTransparent = QGraphicsItemPrivate::isOpacityNull(opacity);-
3467 const bool itemClipsChildrenToShape = (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape);-
3468 const bool itemHasChildren = !item->d_ptr->children.isEmpty();-
3469 bool setChildClip = itemClipsChildrenToShape;-
3470 bool itemHasChildrenStackedBehind = false;-
3471-
3472 int i = 0;-
3473 if (itemHasChildren
itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3474 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3475 setWorldTransform(painter, transformPtr, effectTransform);
never executed: setWorldTransform(painter, transformPtr, effectTransform);
0
3476-
3477 item->d_ptr->ensureSortedChildren();-
3478-
3479-
3480 itemHasChildrenStackedBehind = (item->d_ptr->children.at(0)->d_ptr->flags-
3481 & QGraphicsItem::ItemStacksBehindParent);-
3482-
3483 if (itemHasChildrenStackedBehind
itemHasChildrenStackedBehindDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3484 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3485 setClip(painter, item);-
3486 setChildClip = false;-
3487 }
never executed: end of block
0
3488-
3489-
3490 for (i = 0; i < item->d_ptr->children.size()
i < item->d_pt...hildren.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3491 QGraphicsItem *child = item->d_ptr->children.at(i);-
3492 if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3493 child->d_ptr->dirtySceneTransform = 1;
never executed: child->d_ptr->dirtySceneTransform = 1;
0
3494 if (!(child->d_ptr->flags & QGraphicsItem::ItemStacksBehindParent)
!(child->d_ptr...sBehindParent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3495 break;
never executed: break;
0
3496 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
&& !(child->d_ptr->flags & QGraphicsItem::ItemIgnoresParentOpacity)
!(child->d_ptr...ParentOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3497 continue;
never executed: continue;
0
3498 drawSubtreeRecursive(child, painter, viewTransform, exposedRegion, widget, opacity, effectTransform);-
3499 }
never executed: end of block
0
3500 }
never executed: end of block
0
3501 }
never executed: end of block
0
3502-
3503-
3504 if (drawItem
drawItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3505 ((!(!itemIsFullyTransparent)) ? qt_assert("!itemIsFullyTransparent",__FILE__,4899) : qt_noop());-
3506 ((!(!(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents))) ? qt_assert("!(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents)",__FILE__,4900) : qt_noop());-
3507 ((!(transformPtr)) ? qt_assert("transformPtr",__FILE__,4901) : qt_noop());-
3508 item->d_ptr->initStyleOption(&styleOptionTmp, *transformPtr, exposedRegion-
3509 ? *exposedRegion : QRegion(), exposedRegion == 0);-
3510-
3511 const bool itemClipsToShape = item->d_ptr->flags & QGraphicsItem::ItemClipsToShape;-
3512 bool restorePainterClip = false;-
3513-
3514 if (!itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
|| !itemClipsChildrenToShape
!itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3515-
3516 setWorldTransform(painter, transformPtr, effectTransform);-
3517 if ((
(restorePainte...mClipsToShape)Description
TRUEnever evaluated
FALSEnever evaluated
restorePainterClip = itemClipsToShape)
(restorePainte...mClipsToShape)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3518 setClip(painter, item);
never executed: setClip(painter, item);
0
3519 }
never executed: end of block
else if (itemHasChildrenStackedBehind
itemHasChildrenStackedBehindDescription
TRUEnever evaluated
FALSEnever evaluated
){
0
3520-
3521-
3522 if (itemClipsToShape
itemClipsToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3523-
3524 setWorldTransform(painter, transformPtr, effectTransform);-
3525 }
never executed: end of block
else {
0
3526-
3527 painter->restore();-
3528 setChildClip = true;-
3529 }
never executed: end of block
0
3530 } else if (itemClipsToShape
itemClipsToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3531-
3532-
3533-
3534 setClip(painter, item);-
3535 setChildClip = false;-
3536 }
never executed: end of block
0
3537-
3538 if (painterStateProtection
painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
&& !restorePainterClip
!restorePainterClipDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3539 painter->save();
never executed: painter->save();
0
3540-
3541 painter->setOpacity(opacity);-
3542 if (!item->d_ptr->cacheMode
!item->d_ptr->cacheModeDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->d_ptr->isWidget
!item->d_ptr->isWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3543 item->paint(painter, &styleOptionTmp, widget);
never executed: item->paint(painter, &styleOptionTmp, widget);
0
3544 else-
3545 drawItemHelper(item, painter, &styleOptionTmp, widget, painterStateProtection);
never executed: drawItemHelper(item, painter, &styleOptionTmp, widget, painterStateProtection);
0
3546-
3547 if (painterStateProtection
painterStateProtectionDescription
TRUEnever evaluated
FALSEnever evaluated
|| restorePainterClip
restorePainterClipDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3548 painter->restore();
never executed: painter->restore();
0
3549-
3550 static int drawRect = qEnvironmentVariableIntValue("QT_DRAW_SCENE_ITEM_RECTS");-
3551 if (drawRect
drawRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3552 QPen oldPen = painter->pen();-
3553 QBrush oldBrush = painter->brush();-
3554 quintptr ptr = reinterpret_cast<quintptr>(item);-
3555 const QColor color = QColor::fromHsv(ptr % 255, 255, 255);-
3556 painter->setPen(color);-
3557 painter->setBrush(Qt::NoBrush);-
3558 painter->drawRect(adjustedItemBoundingRect(item));-
3559 painter->setPen(oldPen);-
3560 painter->setBrush(oldBrush);-
3561 }
never executed: end of block
0
3562 }
never executed: end of block
0
3563-
3564-
3565 if (itemHasChildren
itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3566 if (setChildClip
setChildClipDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3567 setClip(painter, item);
never executed: setClip(painter, item);
0
3568-
3569 for (; i < item->d_ptr->children.size()
i < item->d_pt...hildren.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3570 QGraphicsItem *child = item->d_ptr->children.at(i);-
3571 if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3572 child->d_ptr->dirtySceneTransform = 1;
never executed: child->d_ptr->dirtySceneTransform = 1;
0
3573 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
&& !(child->d_ptr->flags & QGraphicsItem::ItemIgnoresParentOpacity)
!(child->d_ptr...ParentOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3574 continue;
never executed: continue;
0
3575 drawSubtreeRecursive(child, painter, viewTransform, exposedRegion, widget, opacity, effectTransform);-
3576 }
never executed: end of block
0
3577-
3578-
3579 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3580 painter->restore();
never executed: painter->restore();
0
3581 }
never executed: end of block
0
3582}
never executed: end of block
0
3583-
3584void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, bool invalidateChildren,-
3585 bool force, bool ignoreOpacity, bool removingItemFromScene,-
3586 bool updateBoundingRect)-
3587{-
3588 ((!(item)) ? qt_assert("item",__FILE__,4982) : qt_noop());-
3589 if (updateAll
updateAllDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3590 return;
never executed: return;
0
3591-
3592 if (removingItemFromScene
removingItemFromSceneDescription
TRUEnever evaluated
FALSEnever evaluated
&& !ignoreOpacity
!ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->d_ptr->ignoreOpacity
!item->d_ptr->ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3593-
3594-
3595-
3596-
3597-
3598-
3599-
3600 QGraphicsItem *p = item->d_ptr->parent;-
3601 while (p
pDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3602 if (p->d_ptr->ignoreOpacity
p->d_ptr->ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3603 item->d_ptr->ignoreOpacity = true;-
3604 break;
never executed: break;
0
3605 }-
3606 p = p->d_ptr->parent;-
3607 }
never executed: end of block
0
3608 }
never executed: end of block
0
3609-
3610 if (item->d_ptr->discardUpdateRequest( force,
item->d_ptr->d...ignoreOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
0
3611 removingItemFromScene || invalidateChildren,
item->d_ptr->d...ignoreOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
0
3612 ignoreOpacity)
item->d_ptr->d...ignoreOpacity)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3613 if (item->d_ptr->dirty
item->d_ptr->dirtyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3614-
3615-
3616-
3617-
3618 if (force
forceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3619 item->d_ptr->ignoreVisible = 1;
never executed: item->d_ptr->ignoreVisible = 1;
0
3620 if (ignoreOpacity
ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3621 item->d_ptr->ignoreOpacity = 1;
never executed: item->d_ptr->ignoreOpacity = 1;
0
3622 }
never executed: end of block
0
3623 return;
never executed: return;
0
3624 }-
3625-
3626 const bool fullItemUpdate = rect.isNull();-
3627 if (!fullItemUpdate
!fullItemUpdateDescription
TRUEnever evaluated
FALSEnever evaluated
&& rect.isEmpty()
rect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3628 return;
never executed: return;
0
3629-
3630 if (!processDirtyItemsEmitted
!processDirtyItemsEmittedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3631 QMetaMethod method = q_ptr->metaObject()->method(processDirtyItemsIndex);-
3632 method.invoke(q_ptr, Qt::QueuedConnection);-
3633-
3634 processDirtyItemsEmitted = true;-
3635 }
never executed: end of block
0
3636-
3637 if (removingItemFromScene
removingItemFromSceneDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3638-
3639-
3640 if (isSignalConnected(changedSignalIndex)
isSignalConnec...edSignalIndex)Description
TRUEnever evaluated
FALSEnever evaluated
|| views.isEmpty()
views.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3641-
3642-
3643-
3644 q_func()->update();-
3645 return;
never executed: return;
0
3646 }-
3647-
3648 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3649 QGraphicsViewPrivate *viewPrivate = views.at(i)->d_func();-
3650 QRect rect = item->d_ptr->paintedViewBoundingRects.value(viewPrivate->viewport);-
3651 rect.translate(viewPrivate->dirtyScrollOffset);-
3652 viewPrivate->updateRect(rect);-
3653 }
never executed: end of block
0
3654 return;
never executed: return;
0
3655 }-
3656-
3657 bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents;-
3658 if (!hasNoContents
!hasNoContentsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3659 item->d_ptr->dirty = 1;-
3660 if (fullItemUpdate
fullItemUpdateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3661 item->d_ptr->fullUpdatePending = 1;
never executed: item->d_ptr->fullUpdatePending = 1;
0
3662 else if (!item->d_ptr->fullUpdatePending
!item->d_ptr->...lUpdatePendingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3663 item->d_ptr->needsRepaint |= rect;
never executed: item->d_ptr->needsRepaint |= rect;
0
3664 }
never executed: end of block
else if (item->d_ptr->graphicsEffect
item->d_ptr->graphicsEffectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3665 invalidateChildren = true;-
3666 }
never executed: end of block
0
3667-
3668 if (invalidateChildren
invalidateChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3669 item->d_ptr->allChildrenDirty = 1;-
3670 item->d_ptr->dirtyChildren = 1;-
3671 }
never executed: end of block
0
3672-
3673 if (force
forceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3674 item->d_ptr->ignoreVisible = 1;
never executed: item->d_ptr->ignoreVisible = 1;
0
3675 if (ignoreOpacity
ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3676 item->d_ptr->ignoreOpacity = 1;
never executed: item->d_ptr->ignoreOpacity = 1;
0
3677-
3678 if (!updateBoundingRect
!updateBoundingRectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3679 item->d_ptr->markParentDirty();
never executed: item->d_ptr->markParentDirty();
0
3680}
never executed: end of block
0
3681-
3682static inline bool updateHelper(QGraphicsViewPrivate *view, QGraphicsItemPrivate *item,-
3683 const QRectF &rect, bool itemIsUntransformable)-
3684{-
3685 ((!(view)) ? qt_assert("view",__FILE__,5079) : qt_noop());-
3686 ((!(item)) ? qt_assert("item",__FILE__,5080) : qt_noop());-
3687-
3688 QGraphicsItem *itemq = static_cast<QGraphicsItem *>(item->q_ptr);-
3689 QGraphicsView *viewq = static_cast<QGraphicsView *>(view->q_ptr);-
3690-
3691 if (itemIsUntransformable
itemIsUntransformableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3692 const QTransform xform = itemq->deviceTransform(viewq->viewportTransform());-
3693 if (!item->hasBoundingRegionGranularity
!item->hasBoun...ionGranularityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3694 return
never executed: return view->updateRectF(xform.mapRect(rect));
view->updateRectF(xform.mapRect(rect));
never executed: return view->updateRectF(xform.mapRect(rect));
0
3695 return
never executed: return view->updateRegion(rect, xform);
view->updateRegion(rect, xform);
never executed: return view->updateRegion(rect, xform);
0
3696 }-
3697-
3698 if (item->sceneTransformTranslateOnly
item->sceneTra...mTranslateOnlyDescription
TRUEnever evaluated
FALSEnever evaluated
&& view->identityMatrix
view->identityMatrixDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3699 const qreal dx = item->sceneTransform.dx();-
3700 const qreal dy = item->sceneTransform.dy();-
3701 QRectF r(rect);-
3702 r.translate(dx - view->horizontalScroll(), dy - view->verticalScroll());-
3703 return
never executed: return view->updateRectF(r);
view->updateRectF(r);
never executed: return view->updateRectF(r);
0
3704 }-
3705-
3706 if (!viewq->isTransformed()
!viewq->isTransformed()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3707 if (!item->hasBoundingRegionGranularity
!item->hasBoun...ionGranularityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3708 return
never executed: return view->updateRectF(item->sceneTransform.mapRect(rect));
view->updateRectF(item->sceneTransform.mapRect(rect));
never executed: return view->updateRectF(item->sceneTransform.mapRect(rect));
0
3709 return
never executed: return view->updateRegion(rect, item->sceneTransform);
view->updateRegion(rect, item->sceneTransform);
never executed: return view->updateRegion(rect, item->sceneTransform);
0
3710 }-
3711-
3712 QTransform xform = item->sceneTransform;-
3713 xform *= viewq->viewportTransform();-
3714 if (!item->hasBoundingRegionGranularity
!item->hasBoun...ionGranularityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3715 return
never executed: return view->updateRectF(xform.mapRect(rect));
view->updateRectF(xform.mapRect(rect));
never executed: return view->updateRectF(xform.mapRect(rect));
0
3716 return
never executed: return view->updateRegion(rect, xform);
view->updateRegion(rect, xform);
never executed: return view->updateRegion(rect, xform);
0
3717}-
3718-
3719void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool dirtyAncestorContainsChildren,-
3720 qreal parentOpacity)-
3721{-
3722 QGraphicsScene * const q = q_func();-
3723 ((!(item)) ? qt_assert("item",__FILE__,5117) : qt_noop());-
3724 ((!(!updateAll)) ? qt_assert("!updateAll",__FILE__,5118) : qt_noop());-
3725-
3726 if (!item->d_ptr->dirty
!item->d_ptr->dirtyDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->d_ptr->dirtyChildren
!item->d_ptr->dirtyChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3727 resetDirtyItem(item);-
3728 return;
never executed: return;
0
3729 }-
3730-
3731 const bool itemIsHidden = !item->d_ptr->ignoreVisible
!item->d_ptr->ignoreVisibleDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->d_ptr->visible
!item->d_ptr->visibleDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
3732 if (itemIsHidden
itemIsHiddenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3733 resetDirtyItem(item, true);-
3734 return;
never executed: return;
0
3735 }-
3736-
3737 bool itemHasContents = !(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents);-
3738 const bool itemHasChildren = !item->d_ptr->children.isEmpty();-
3739 if (!itemHasContents
!itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3740 if (!itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3741 resetDirtyItem(item);-
3742 return;
never executed: return;
0
3743 }-
3744 if (item->d_ptr->graphicsEffect
item->d_ptr->graphicsEffectDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3745 itemHasContents = true;
never executed: itemHasContents = true;
0
3746 }
never executed: end of block
0
3747-
3748 const qreal opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);-
3749 const bool itemIsFullyTransparent = !item->d_ptr->ignoreOpacity
!item->d_ptr->ignoreOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
0
3750 && QGraphicsItemPrivate::isOpacityNull(opacity)
QGraphicsItemP...yNull(opacity)Description
TRUEnever evaluated
FALSEnever evaluated
;
0
3751 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
&& (!itemHasChildren
!itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
|| item->d_ptr->childrenCombineOpacity()
item->d_ptr->c...mbineOpacity()Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
3752 resetDirtyItem(item, itemHasChildren);-
3753 return;
never executed: return;
0
3754 }-
3755-
3756 bool wasDirtyParentSceneTransform = item->d_ptr->dirtySceneTransform;-
3757 const bool itemIsUntransformable = item->d_ptr->itemIsUntransformable();-
3758 if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
&& !itemIsUntransformable
!itemIsUntransformableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3759 item->d_ptr->updateSceneTransformFromParent();-
3760 ((!(!item->d_ptr->dirtySceneTransform)) ? qt_assert("!item->d_ptr->dirtySceneTransform",__FILE__,5154) : qt_noop());-
3761 }
never executed: end of block
0
3762-
3763 const bool wasDirtyParentViewBoundingRects = item->d_ptr->paintedViewBoundingRectsNeedRepaint;-
3764 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
|| !itemHasContents
!itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
|| dirtyAncestorContainsChildren
dirtyAncestorContainsChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3765-
3766 item->d_ptr->dirty = 0;-
3767 item->d_ptr->fullUpdatePending = 0;-
3768-
3769 if (itemIsFullyTransparent
itemIsFullyTransparentDescription
TRUEnever evaluated
FALSEnever evaluated
|| !itemHasContents
!itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3770 item->d_ptr->paintedViewBoundingRectsNeedRepaint = 0;
never executed: item->d_ptr->paintedViewBoundingRectsNeedRepaint = 0;
0
3771 }
never executed: end of block
0
3772-
3773 if (!hasSceneRect
!hasSceneRectDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->geometryChanged
item->d_ptr->geometryChangedDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->visible
item->d_ptr->visibleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3774-
3775 if (item->d_ptr->sceneTransformTranslateOnly
item->d_ptr->s...mTranslateOnlyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3776 growingItemsBoundingRect |= item->boundingRect().translated(item->d_ptr->sceneTransform.dx(),-
3777 item->d_ptr->sceneTransform.dy());-
3778 }
never executed: end of block
else {
0
3779 growingItemsBoundingRect |= item->d_ptr->sceneTransform.mapRect(item->boundingRect());-
3780 }
never executed: end of block
0
3781 }-
3782-
3783-
3784 if (item->d_ptr->dirty
item->d_ptr->dirtyDescription
TRUEnever evaluated
FALSEnever evaluated
|| item->d_ptr->paintedViewBoundingRectsNeedRepaint
item->d_ptr->p...ctsNeedRepaintDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3785 const bool useCompatUpdate = views.isEmpty()
views.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
|| isSignalConnected(changedSignalIndex)
isSignalConnec...edSignalIndex)Description
TRUEnever evaluated
FALSEnever evaluated
;
0
3786 const QRectF itemBoundingRect = adjustedItemEffectiveBoundingRect(item);-
3787-
3788 if (useCompatUpdate
useCompatUpdateDescription
TRUEnever evaluated
FALSEnever evaluated
&& !itemIsUntransformable
!itemIsUntransformableDescription
TRUEnever evaluated
FALSEnever evaluated
&& qFuzzyIsNull(item->boundingRegionGranularity())
qFuzzyIsNull(i...Granularity())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3789-
3790-
3791-
3792 if (item->d_ptr->sceneTransformTranslateOnly
item->d_ptr->s...mTranslateOnlyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3793 q->update(itemBoundingRect.translated(item->d_ptr->sceneTransform.dx(),-
3794 item->d_ptr->sceneTransform.dy()));-
3795 }
never executed: end of block
else {
0
3796 QRectF rect = item->d_ptr->sceneTransform.mapRect(itemBoundingRect);-
3797 if (!rect.isEmpty()
!rect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3798 q->update(rect);
never executed: q->update(rect);
0
3799 }
never executed: end of block
0
3800 } else {-
3801 QRectF dirtyRect;-
3802 bool uninitializedDirtyRect = true;-
3803-
3804 for (int j = 0; j < views.size()
j < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++j) {
0
3805 QGraphicsView *view = views.at(j);-
3806 QGraphicsViewPrivate *viewPrivate = view->d_func();-
3807 QRect &paintedViewBoundingRect = item->d_ptr->paintedViewBoundingRects[viewPrivate->viewport];-
3808 if (viewPrivate->fullUpdatePending
viewPrivate->fullUpdatePendingDescription
TRUEnever evaluated
FALSEnever evaluated
0
3809 || viewPrivate->viewportUpdateMode == QGraphicsView::NoViewportUpdate
viewPrivate->v...ViewportUpdateDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3810-
3811-
3812-
3813 paintedViewBoundingRect = QRect(-1, -1, -1, -1);-
3814 continue;
never executed: continue;
0
3815 }-
3816-
3817 if (item->d_ptr->paintedViewBoundingRectsNeedRepaint
item->d_ptr->p...ctsNeedRepaintDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3818 paintedViewBoundingRect.translate(viewPrivate->dirtyScrollOffset);-
3819 if (!viewPrivate->updateRect(paintedViewBoundingRect)
!viewPrivate->...wBoundingRect)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3820 paintedViewBoundingRect = QRect(-1, -1, -1, -1);
never executed: paintedViewBoundingRect = QRect(-1, -1, -1, -1);
0
3821 }
never executed: end of block
0
3822-
3823 if (!item->d_ptr->dirty
!item->d_ptr->dirtyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3824 continue;
never executed: continue;
0
3825-
3826 if (!item->d_ptr->paintedViewBoundingRectsNeedRepaint
!item->d_ptr->...ctsNeedRepaintDescription
TRUEnever evaluated
FALSEnever evaluated
0
3827 && paintedViewBoundingRect.x() == -1
paintedViewBou...Rect.x() == -1Description
TRUEnever evaluated
FALSEnever evaluated
&& paintedViewBoundingRect.y() == -1
paintedViewBou...Rect.y() == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
3828 && paintedViewBoundingRect.width() == -1
paintedViewBou....width() == -1Description
TRUEnever evaluated
FALSEnever evaluated
&& paintedViewBoundingRect.height() == -1
paintedViewBou...height() == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3829 continue;
never executed: continue;
0
3830 }-
3831-
3832 if (uninitializedDirtyRect
uninitializedDirtyRectDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3833 dirtyRect = itemBoundingRect;-
3834 if (!item->d_ptr->fullUpdatePending
!item->d_ptr->...lUpdatePendingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3835 _q_adjustRect(&item->d_ptr->needsRepaint);-
3836 dirtyRect &= item->d_ptr->needsRepaint;-
3837 }
never executed: end of block
0
3838 uninitializedDirtyRect = false;-
3839 }
never executed: end of block
0
3840-
3841 if (dirtyRect.isEmpty()
dirtyRect.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3842 continue;
never executed: continue;
0
3843-
3844 if (!updateHelper(viewPrivate, item->d_ptr.data(), dirtyRect, itemIsUntransformable)
!updateHelper(...transformable)Description
TRUEnever evaluated
FALSEnever evaluated
0
3845 && item->d_ptr->paintedViewBoundingRectsNeedRepaint
item->d_ptr->p...ctsNeedRepaintDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3846 paintedViewBoundingRect = QRect(-1, -1, -1, -1);-
3847 }
never executed: end of block
0
3848 }
never executed: end of block
0
3849 }
never executed: end of block
0
3850 }-
3851-
3852-
3853 if (itemHasChildren
itemHasChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->dirtyChildren
item->d_ptr->dirtyChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3854 const bool itemClipsChildrenToShape = item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape
item->d_ptr->f...hildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
0
3855 || item->d_ptr->flags & QGraphicsItem::ItemContainsChildrenInShape
item->d_ptr->f...hildrenInShapeDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
3856-
3857-
3858-
3859-
3860 const bool bypassUpdateClip = !itemHasContents
!itemHasContentsDescription
TRUEnever evaluated
FALSEnever evaluated
&& wasDirtyParentViewBoundingRects
wasDirtyParent...wBoundingRectsDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
3861 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
&& !bypassUpdateClip
!bypassUpdateClipDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3862-
3863 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3864 views.at(i)->d_func()->setUpdateClip(item);
never executed: views.at(i)->d_func()->setUpdateClip(item);
0
3865 }
never executed: end of block
0
3866 if (!dirtyAncestorContainsChildren
!dirtyAncestorContainsChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3867 dirtyAncestorContainsChildren = item->d_ptr->fullUpdatePending
item->d_ptr->fullUpdatePendingDescription
TRUEnever evaluated
FALSEnever evaluated
0
3868 && itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
;
0
3869 }
never executed: end of block
0
3870 const bool allChildrenDirty = item->d_ptr->allChildrenDirty;-
3871 const bool parentIgnoresVisible = item->d_ptr->ignoreVisible;-
3872 const bool parentIgnoresOpacity = item->d_ptr->ignoreOpacity;-
3873 for (int i = 0; i < item->d_ptr->children.size()
i < item->d_pt...hildren.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3874 QGraphicsItem *child = item->d_ptr->children.at(i);-
3875 if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3876 child->d_ptr->dirtySceneTransform = 1;
never executed: child->d_ptr->dirtySceneTransform = 1;
0
3877 if (wasDirtyParentViewBoundingRects
wasDirtyParent...wBoundingRectsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3878 child->d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
never executed: child->d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
0
3879 if (parentIgnoresVisible
parentIgnoresVisibleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3880 child->d_ptr->ignoreVisible = 1;
never executed: child->d_ptr->ignoreVisible = 1;
0
3881 if (parentIgnoresOpacity
parentIgnoresOpacityDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3882 child->d_ptr->ignoreOpacity = 1;
never executed: child->d_ptr->ignoreOpacity = 1;
0
3883 if (allChildrenDirty
allChildrenDirtyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3884 child->d_ptr->dirty = 1;-
3885 child->d_ptr->fullUpdatePending = 1;-
3886 child->d_ptr->dirtyChildren = 1;-
3887 child->d_ptr->allChildrenDirty = 1;-
3888 }
never executed: end of block
0
3889 processDirtyItemsRecursive(child, dirtyAncestorContainsChildren, opacity);-
3890 }
never executed: end of block
0
3891-
3892 if (itemClipsChildrenToShape
itemClipsChildrenToShapeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3893-
3894 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3895 views.at(i)->d_func()->setUpdateClip(0);
never executed: views.at(i)->d_func()->setUpdateClip(0);
0
3896 }
never executed: end of block
0
3897 }
never executed: end of block
else if (wasDirtyParentSceneTransform
wasDirtyParentSceneTransformDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3898 item->d_ptr->invalidateChildrenSceneTransform();-
3899 }
never executed: end of block
0
3900-
3901 resetDirtyItem(item);-
3902}
never executed: end of block
0
3903void QGraphicsScene::drawItems(QPainter *painter,-
3904 int numItems,-
3905 QGraphicsItem *items[],-
3906 const QStyleOptionGraphicsItem options[], QWidget *widget)-
3907{-
3908 QGraphicsScenePrivate * const d = d_func();-
3909-
3910 if (!d->unpolishedItems.isEmpty()
!d->unpolishedItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3911 d->_q_polishItems();
never executed: d->_q_polishItems();
0
3912-
3913 const qreal opacity = painter->opacity();-
3914 QTransform viewTransform = painter->worldTransform();-
3915 (void)options;;-
3916-
3917-
3918 QGraphicsView *view = widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QGraphicsView *>(widget->parentWidget()) : 0;
0
3919 QRegion *expose = 0;-
3920 const quint32 oldRectAdjust = d->rectAdjust;-
3921 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3922 d->updateAll = false;-
3923 expose = &view->d_func()->exposedRegion;-
3924 if (view->d_func()->optimizationFlags & QGraphicsView::DontAdjustForAntialiasing
view->d_func()...orAntialiasingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
3925 d->rectAdjust = 1;
never executed: d->rectAdjust = 1;
0
3926 else-
3927 d->rectAdjust = 2;
never executed: d->rectAdjust = 2;
0
3928 }-
3929-
3930-
3931 QList<QGraphicsItem *> topLevelItems;-
3932 for (int i = 0; i < numItems
i < numItemsDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
3933 QGraphicsItem *item = items[i]->topLevelItem();-
3934 if (!item->d_ptr->itemDiscovered
!item->d_ptr->itemDiscoveredDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3935 topLevelItems << item;-
3936 item->d_ptr->itemDiscovered = 1;-
3937 d->drawSubtreeRecursive(item, painter, &viewTransform, expose, widget);-
3938 }
never executed: end of block
0
3939 }
never executed: end of block
0
3940-
3941 d->rectAdjust = oldRectAdjust;-
3942-
3943 for (int i = 0; i < topLevelItems.size()
i < topLevelItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
3944 topLevelItems.at(i)->d_ptr->itemDiscovered = 0;
never executed: topLevelItems.at(i)->d_ptr->itemDiscovered = 0;
0
3945-
3946 painter->setWorldTransform(viewTransform);-
3947 painter->setOpacity(opacity);-
3948}
never executed: end of block
0
3949bool QGraphicsScene::focusNextPrevChild(bool next)-
3950{-
3951 QGraphicsScenePrivate * const d = d_func();-
3952-
3953 QGraphicsItem *item = focusItem();-
3954 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !item->isWidget()
!item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3955-
3956 return
never executed: return false;
false;
never executed: return false;
0
3957 }-
3958 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3959 if (d->lastFocusItem
d->lastFocusItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !d->lastFocusItem->isWidget()
!d->lastFocusItem->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3960-
3961-
3962 setFocusItem(d->lastFocusItem, next ? Qt::TabFocusReason : Qt::BacktabFocusReason);-
3963 return
never executed: return true;
true;
never executed: return true;
0
3964 }-
3965 if (d->activePanel
d->activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3966 if (d->activePanel->flags() & QGraphicsItem::ItemIsFocusable
d->activePanel...temIsFocusableDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3967 setFocusItem(d->activePanel, next ? Qt::TabFocusReason : Qt::BacktabFocusReason);-
3968 return
never executed: return true;
true;
never executed: return true;
0
3969 }-
3970 if (d->activePanel->isWidget()
d->activePanel->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3971 QGraphicsWidget *fw = static_cast<QGraphicsWidget *>(d->activePanel)->d_func()->focusNext;-
3972 do {-
3973 if (fw->focusPolicy() & Qt::TabFocus
fw->focusPolic...& Qt::TabFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3974 setFocusItem(fw, next ? Qt::TabFocusReason : Qt::BacktabFocusReason);-
3975 return
never executed: return true;
true;
never executed: return true;
0
3976 }-
3977 }
never executed: end of block
while (fw != d->activePanel
fw != d->activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
3978 }
never executed: end of block
0
3979 }
never executed: end of block
0
3980 }
never executed: end of block
0
3981 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& !d->tabFocusFirst
!d->tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3982-
3983 return
never executed: return false;
false;
never executed: return false;
0
3984 }-
3985-
3986-
3987 QGraphicsWidget *widget = 0;-
3988 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3989 widget = next
nextDescription
TRUEnever evaluated
FALSEnever evaluated
? d->tabFocusFirst : d->tabFocusFirst->d_func()->focusPrev;
0
3990 }
never executed: end of block
else {
0
3991 QGraphicsWidget *test = static_cast<QGraphicsWidget *>(item);-
3992 widget = next
nextDescription
TRUEnever evaluated
FALSEnever evaluated
? test->d_func()->focusNext : test->d_func()->focusPrev;
0
3993 if (!widget->panel()
!widget->panel()Description
TRUEnever evaluated
FALSEnever evaluated
&& ((next
nextDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget == d->tabFocusFirst
widget == d->tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
) || (!next
!nextDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget == d->tabFocusFirst->d_func()->focusPrev
widget == d->t...c()->focusPrevDescription
TRUEnever evaluated
FALSEnever evaluated
))) {
0
3994-
3995 return
never executed: return false;
false;
never executed: return false;
0
3996 }-
3997 }
never executed: end of block
0
3998 QGraphicsWidget *widgetThatHadFocus = widget;-
3999-
4000-
4001 do {-
4002 if (widget->flags() & QGraphicsItem::ItemIsFocusable
widget->flags(...temIsFocusableDescription
TRUEnever evaluated
FALSEnever evaluated
0
4003 && widget->isEnabled()
widget->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
&& widget->isVisibleTo(0)
widget->isVisibleTo(0)Description
TRUEnever evaluated
FALSEnever evaluated
0
4004 && (
(widget->focus... Qt::TabFocus)Description
TRUEnever evaluated
FALSEnever evaluated
widget->focusPolicy() & Qt::TabFocus)
(widget->focus... Qt::TabFocus)Description
TRUEnever evaluated
FALSEnever evaluated
0
4005 && (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
|| !item->isPanel()
!item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
|| item->isAncestorOf(widget)
item->isAncestorOf(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4006 ) {-
4007 setFocusItem(widget, next ? Qt::TabFocusReason : Qt::BacktabFocusReason);-
4008 return
never executed: return true;
true;
never executed: return true;
0
4009 }-
4010 widget = next
nextDescription
TRUEnever evaluated
FALSEnever evaluated
? widget->d_func()->focusNext : widget->d_func()->focusPrev;
0
4011 if ((next
nextDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget == d->tabFocusFirst
widget == d->tabFocusFirstDescription
TRUEnever evaluated
FALSEnever evaluated
) || (!next
!nextDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget == d->tabFocusFirst->d_func()->focusPrev
widget == d->t...c()->focusPrevDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
4012 return
never executed: return false;
false;
never executed: return false;
0
4013 }
never executed: end of block
while (widget != widgetThatHadFocus
widget != widgetThatHadFocusDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
4014-
4015 return
never executed: return false;
false;
never executed: return false;
0
4016}-
4017QStyle *QGraphicsScene::style() const-
4018{-
4019 const QGraphicsScenePrivate * const d = d_func();-
4020-
4021 return
never executed: return d->style ? d->style : QApplication::style();
d->style
d->styleDescription
TRUEnever evaluated
FALSEnever evaluated
? d->style : QApplication::style();
never executed: return d->style ? d->style : QApplication::style();
0
4022}-
4023void QGraphicsScene::setStyle(QStyle *style)-
4024{-
4025 QGraphicsScenePrivate * const d = d_func();-
4026-
4027 if (style == d->style
style == d->styleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4028 return;
never executed: return;
0
4029-
4030-
4031 delete d->style;-
4032 if ((
(d->style = style)Description
TRUEnever evaluated
FALSEnever evaluated
d->style = style)
(d->style = style)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4033 d->style->setParent(this);
never executed: d->style->setParent(this);
0
4034-
4035-
4036 QEvent event(QEvent::StyleChange);-
4037 QApplication::sendEvent(this, &event);-
4038-
4039-
4040 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(items())>::type> _container_((items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
4041 if (item->isWidget()
item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4042 QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);-
4043 if (!widget->testAttribute(Qt::WA_SetStyle)
!widget->testA...::WA_SetStyle)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4044 QApplication::sendEvent(widget, &event);
never executed: QApplication::sendEvent(widget, &event);
0
4045 }
never executed: end of block
0
4046 }
never executed: end of block
0
4047}
never executed: end of block
0
4048QFont QGraphicsScene::font() const-
4049{-
4050 const QGraphicsScenePrivate * const d = d_func();-
4051 return
never executed: return d->font;
d->font;
never executed: return d->font;
0
4052}-
4053void QGraphicsScene::setFont(const QFont &font)-
4054{-
4055 QGraphicsScenePrivate * const d = d_func();-
4056 QFont naturalFont = QApplication::font();-
4057 naturalFont.resolve(0);-
4058 QFont resolvedFont = font.resolve(naturalFont);-
4059 d->setFont_helper(resolvedFont);-
4060}
never executed: end of block
0
4061QPalette QGraphicsScene::palette() const-
4062{-
4063 const QGraphicsScenePrivate * const d = d_func();-
4064 return
never executed: return d->palette;
d->palette;
never executed: return d->palette;
0
4065}-
4066void QGraphicsScene::setPalette(const QPalette &palette)-
4067{-
4068 QGraphicsScenePrivate * const d = d_func();-
4069 QPalette naturalPalette = QApplication::palette();-
4070 naturalPalette.resolve(0);-
4071 QPalette resolvedPalette = palette.resolve(naturalPalette);-
4072 d->setPalette_helper(resolvedPalette);-
4073}
never executed: end of block
0
4074bool QGraphicsScene::isActive() const-
4075{-
4076 const QGraphicsScenePrivate * const d = d_func();-
4077 return
never executed: return d->activationRefCount > 0;
d->activationRefCount > 0;
never executed: return d->activationRefCount > 0;
0
4078}-
4079-
4080-
4081-
4082-
4083-
4084-
4085-
4086QGraphicsItem *QGraphicsScene::activePanel() const-
4087{-
4088 const QGraphicsScenePrivate * const d = d_func();-
4089 return
never executed: return d->activePanel;
d->activePanel;
never executed: return d->activePanel;
0
4090}-
4091void QGraphicsScene::setActivePanel(QGraphicsItem *item)-
4092{-
4093 QGraphicsScenePrivate * const d = d_func();-
4094 d->setActivePanelHelper(item, false);-
4095}
never executed: end of block
0
4096QGraphicsWidget *QGraphicsScene::activeWindow() const-
4097{-
4098 const QGraphicsScenePrivate * const d = d_func();-
4099 if (d->activePanel
d->activePanelDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->activePanel->isWindow()
d->activePanel->isWindow()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4100 return
never executed: return static_cast<QGraphicsWidget *>(d->activePanel);
static_cast<QGraphicsWidget *>(d->activePanel);
never executed: return static_cast<QGraphicsWidget *>(d->activePanel);
0
4101 return
never executed: return 0;
0;
never executed: return 0;
0
4102}-
4103void QGraphicsScene::setActiveWindow(QGraphicsWidget *widget)-
4104{-
4105 if (widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget->scene() != this
widget->scene() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4106 QMessageLogger(__FILE__, 5720, __PRETTY_FUNCTION__).warning("QGraphicsScene::setActiveWindow: widget %p must be part of this scene",-
4107 widget);-
4108 return;
never executed: return;
0
4109 }-
4110-
4111-
4112 QGraphicsItem *panel = widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
? widget->panel() : 0;
0
4113 setActivePanel(panel);-
4114-
4115-
4116 if (panel
panelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4117 QList<QGraphicsItem *> siblingWindows;-
4118 QGraphicsItem *parent = panel->parentItem();-
4119-
4120 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parent ? parent->childItems() : items())>::type> _container_((parent ? parent->childItems() : items())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *sibling = *_container_.i; _container_.control; _container_.control = 0) {-
4121 if (sibling != panel
sibling != panelDescription
TRUEnever evaluated
FALSEnever evaluated
&& sibling->isWindow()
sibling->isWindow()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4122 siblingWindows << sibling;
never executed: siblingWindows << sibling;
0
4123 }
never executed: end of block
0
4124-
4125-
4126 qreal z = panel->zValue();-
4127 for (int i = 0; i < siblingWindows.size()
i < siblingWindows.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
4128 z = qMax(z, siblingWindows.at(i)->zValue());
never executed: z = qMax(z, siblingWindows.at(i)->zValue());
0
4129-
4130-
4131 const qreal litt = qreal(0.001);-
4132 panel->setZValue(z + litt);-
4133 }
never executed: end of block
0
4134}
never executed: end of block
0
4135bool QGraphicsScene::sendEvent(QGraphicsItem *item, QEvent *event)-
4136{-
4137 QGraphicsScenePrivate * const d = d_func();-
4138 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4139 QMessageLogger(__FILE__, 5766, __PRETTY_FUNCTION__).warning("QGraphicsScene::sendEvent: cannot send event to a null item");-
4140 return
never executed: return false;
false;
never executed: return false;
0
4141 }-
4142 if (item->scene() != this
item->scene() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4143 QMessageLogger(__FILE__, 5770, __PRETTY_FUNCTION__).warning("QGraphicsScene::sendEvent: item %p's scene (%p)"-
4144 " is different from this scene (%p)",-
4145 item, item->scene(), this);-
4146 return
never executed: return false;
false;
never executed: return false;
0
4147 }-
4148 return
never executed: return d->sendEvent(item, event);
d->sendEvent(item, event);
never executed: return d->sendEvent(item, event);
0
4149}-
4150qreal QGraphicsScene::minimumRenderSize() const-
4151{-
4152 const QGraphicsScenePrivate * const d = d_func();-
4153 return
never executed: return d->minimumRenderSize;
d->minimumRenderSize;
never executed: return d->minimumRenderSize;
0
4154}-
4155void QGraphicsScene::setMinimumRenderSize(qreal minSize)-
4156{-
4157 QGraphicsScenePrivate * const d = d_func();-
4158 d->minimumRenderSize = minSize;-
4159 update();-
4160}
never executed: end of block
0
4161-
4162void QGraphicsScenePrivate::addView(QGraphicsView *view)-
4163{-
4164 views << view;-
4165-
4166 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(grabbedGestures.keys())>::type> _container_((grabbedGestures.keys())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (Qt::GestureType gesture = *_container_.i; _container_.control; _container_.control = 0)-
4167 view->viewport()->grabGesture(gesture);
never executed: view->viewport()->grabGesture(gesture);
0
4168-
4169}
never executed: end of block
0
4170-
4171void QGraphicsScenePrivate::removeView(QGraphicsView *view)-
4172{-
4173 views.removeAll(view);-
4174}
never executed: end of block
0
4175-
4176void QGraphicsScenePrivate::updateTouchPointsForItem(QGraphicsItem *item, QTouchEvent *touchEvent)-
4177{-
4178 QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();-
4179 for (int i = 0; i < touchPoints.count()
i < touchPoints.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4180 QTouchEvent::TouchPoint &touchPoint = touchPoints[i];-
4181 touchPoint.setRect(item->mapFromScene(touchPoint.sceneRect()).boundingRect());-
4182 touchPoint.setStartPos(item->d_ptr->genericMapFromScene(touchPoint.startScenePos(), static_cast<QWidget *>(touchEvent->target())));-
4183 touchPoint.setLastPos(item->d_ptr->genericMapFromScene(touchPoint.lastScenePos(), static_cast<QWidget *>(touchEvent->target())));-
4184 }
never executed: end of block
0
4185 touchEvent->setTouchPoints(touchPoints);-
4186}
never executed: end of block
0
4187-
4188int QGraphicsScenePrivate::findClosestTouchPointId(const QPointF &scenePos)-
4189{-
4190 int closestTouchPointId = -1;-
4191 qreal closestDistance = qreal(0.);-
4192 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(sceneCurrentTouchPoints)>::type> _container_((sceneCurrentTouchPoints)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QTouchEvent::TouchPoint &touchPoint = *_container_.i; _container_.control; _container_.control = 0) {-
4193 qreal distance = QLineF(scenePos, touchPoint.scenePos()).length();-
4194 if (closestTouchPointId == -1
closestTouchPointId == -1Description
TRUEnever evaluated
FALSEnever evaluated
|| distance < closestDistance
distance < closestDistanceDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4195 closestTouchPointId = touchPoint.id();-
4196 closestDistance = distance;-
4197 }
never executed: end of block
0
4198 }
never executed: end of block
0
4199 return
never executed: return closestTouchPointId;
closestTouchPointId;
never executed: return closestTouchPointId;
0
4200}-
4201-
4202void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent)-
4203{-
4204 typedef QPair<Qt::TouchPointStates, QList<QTouchEvent::TouchPoint> > StatesAndTouchPoints;-
4205 QHash<QGraphicsItem *, StatesAndTouchPoints> itemsNeedingEvents;-
4206-
4207 for (int i = 0; i < sceneTouchEvent->touchPoints().count()
i < sceneTouch...ints().count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4208 const QTouchEvent::TouchPoint &touchPoint = sceneTouchEvent->touchPoints().at(i);-
4209-
4210-
4211 QGraphicsItem *item = 0;-
4212 if (touchPoint.state() == Qt::TouchPointPressed
touchPoint.sta...chPointPressedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4213 if (sceneTouchEvent->device()->type() == QTouchDevice::TouchPad
sceneTouchEven...vice::TouchPadDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4214-
4215 item = itemForTouchPointId.isEmpty()
itemForTouchPointId.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
0
4216 ? 0-
4217 : itemForTouchPointId.constBegin().value();-
4218 }
never executed: end of block
0
4219-
4220 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4221-
4222 cachedItemsUnderMouse = itemsAtPosition(touchPoint.screenPos().toPoint(),-
4223 touchPoint.scenePos(),-
4224 static_cast<QWidget *>(sceneTouchEvent->target()));-
4225 item = cachedItemsUnderMouse.isEmpty()
cachedItemsUnd...ouse.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : cachedItemsUnderMouse.first();
0
4226 }
never executed: end of block
0
4227-
4228 if (sceneTouchEvent->device()->type() == QTouchDevice::TouchScreen
sceneTouchEven...e::TouchScreenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4229-
4230 int closestTouchPointId = findClosestTouchPointId(touchPoint.scenePos());-
4231 QGraphicsItem *closestItem = itemForTouchPointId.value(closestTouchPointId);-
4232 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
|| (closestItem
closestItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& cachedItemsUnderMouse.contains(closestItem)
cachedItemsUnd...s(closestItem)Description
TRUEnever evaluated
FALSEnever evaluated
))
0
4233 item = closestItem;
never executed: item = closestItem;
0
4234 }
never executed: end of block
0
4235 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4236 continue;
never executed: continue;
0
4237-
4238 itemForTouchPointId.insert(touchPoint.id(), item);-
4239 sceneCurrentTouchPoints.insert(touchPoint.id(), touchPoint);-
4240 }
never executed: end of block
else if (touchPoint.state() == Qt::TouchPointReleased
touchPoint.sta...hPointReleasedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4241 item = itemForTouchPointId.take(touchPoint.id());-
4242 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4243 continue;
never executed: continue;
0
4244-
4245 sceneCurrentTouchPoints.remove(touchPoint.id());-
4246 }
never executed: end of block
else {
0
4247 item = itemForTouchPointId.value(touchPoint.id());-
4248 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4249 continue;
never executed: continue;
0
4250 ((!(sceneCurrentTouchPoints.contains(touchPoint.id()))) ? qt_assert("sceneCurrentTouchPoints.contains(touchPoint.id())",__FILE__,5909) : qt_noop());-
4251 sceneCurrentTouchPoints[touchPoint.id()] = touchPoint;-
4252 }
never executed: end of block
0
4253-
4254 StatesAndTouchPoints &statesAndTouchPoints = itemsNeedingEvents[item];-
4255 statesAndTouchPoints.first |= touchPoint.state();-
4256 statesAndTouchPoints.second.append(touchPoint);-
4257 }
never executed: end of block
0
4258-
4259 if (itemsNeedingEvents.isEmpty()
itemsNeedingEvents.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4260 sceneTouchEvent->ignore();-
4261 return;
never executed: return;
0
4262 }-
4263-
4264 bool ignoreSceneTouchEvent = true;-
4265 QHash<QGraphicsItem *, StatesAndTouchPoints>::ConstIterator it = itemsNeedingEvents.constBegin();-
4266 const QHash<QGraphicsItem *, StatesAndTouchPoints>::ConstIterator end = itemsNeedingEvents.constEnd();-
4267 for (; it != end
it != endDescription
TRUEnever evaluated
FALSEnever evaluated
; ++it) {
0
4268 QGraphicsItem *item = it.key();-
4269-
4270 (void) item->isBlockedByModalPanel(&item);-
4271-
4272-
4273 QEvent::Type eventType;-
4274 switch (it.value().first) {-
4275 case
never executed: case Qt::TouchPointPressed:
Qt::TouchPointPressed:
never executed: case Qt::TouchPointPressed:
0
4276-
4277 eventType = QEvent::TouchBegin;-
4278 break;
never executed: break;
0
4279 case
never executed: case Qt::TouchPointReleased:
Qt::TouchPointReleased:
never executed: case Qt::TouchPointReleased:
0
4280-
4281 eventType = QEvent::TouchEnd;-
4282 break;
never executed: break;
0
4283 case
never executed: case Qt::TouchPointStationary:
Qt::TouchPointStationary:
never executed: case Qt::TouchPointStationary:
0
4284-
4285 continue;
never executed: continue;
0
4286 default
never executed: default:
:
never executed: default:
0
4287-
4288 eventType = QEvent::TouchUpdate;-
4289 break;
never executed: break;
0
4290 }-
4291-
4292 QTouchEvent touchEvent(eventType);-
4293 touchEvent.setWindow(sceneTouchEvent->window());-
4294 touchEvent.setTarget(sceneTouchEvent->target());-
4295 touchEvent.setDevice(sceneTouchEvent->device());-
4296 touchEvent.setModifiers(sceneTouchEvent->modifiers());-
4297 touchEvent.setTouchPointStates(it.value().first);-
4298 touchEvent.setTouchPoints(it.value().second);-
4299 touchEvent.setTimestamp(sceneTouchEvent->timestamp());-
4300-
4301 switch (touchEvent.type()) {-
4302 case
never executed: case QEvent::TouchBegin:
QEvent::TouchBegin:
never executed: case QEvent::TouchBegin:
0
4303 {-
4304-
4305-
4306 item->d_ptr->acceptedTouchBeginEvent = true;-
4307 bool res = sendTouchBeginEvent(item, &touchEvent)
sendTouchBegin..., &touchEvent)Description
TRUEnever evaluated
FALSEnever evaluated
0
4308 && touchEvent.isAccepted()
touchEvent.isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
;
0
4309 if (!res
!resDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4310-
4311 for (int i = 0; i < touchEvent.touchPoints().count()
i < touchEvent...ints().count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4312 const QTouchEvent::TouchPoint &touchPoint = touchEvent.touchPoints().at(i);-
4313 itemForTouchPointId.remove(touchPoint.id());-
4314 sceneCurrentTouchPoints.remove(touchPoint.id());-
4315 }
never executed: end of block
0
4316 ignoreSceneTouchEvent = false;-
4317 }
never executed: end of block
0
4318 break;
never executed: break;
0
4319 }-
4320 default
never executed: default:
:
never executed: default:
0
4321 if (item->d_ptr->acceptedTouchBeginEvent
item->d_ptr->a...ouchBeginEventDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4322 updateTouchPointsForItem(item, &touchEvent);-
4323 (void) sendEvent(item, &touchEvent);-
4324 ignoreSceneTouchEvent = false;-
4325 }
never executed: end of block
0
4326 break;
never executed: break;
0
4327 }-
4328 }-
4329 sceneTouchEvent->setAccepted(ignoreSceneTouchEvent);-
4330}
never executed: end of block
0
4331-
4332bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEvent *touchEvent)-
4333{-
4334 QGraphicsScene * const q = q_func();-
4335-
4336 if (cachedItemsUnderMouse.isEmpty()
cachedItemsUnd...ouse.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
|| cachedItemsUnderMouse.first() != origin
cachedItemsUnd...st() != originDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4337 const QTouchEvent::TouchPoint &firstTouchPoint = touchEvent->touchPoints().first();-
4338 cachedItemsUnderMouse = itemsAtPosition(firstTouchPoint.screenPos().toPoint(),-
4339 firstTouchPoint.scenePos(),-
4340 static_cast<QWidget *>(touchEvent->target()));-
4341 }
never executed: end of block
0
4342-
4343-
4344 bool setFocus = false;-
4345-
4346 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(cachedItemsUnderMouse)>::type> _container_((cachedItemsUnderMouse)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
4347 if (item->isEnabled()
item->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
(item->flags()...emIsFocusable)Description
TRUEnever evaluated
FALSEnever evaluated
item->flags() & QGraphicsItem::ItemIsFocusable)
(item->flags()...emIsFocusable)Description
TRUEnever evaluated
FALSEnever evaluated
&& item->d_ptr->mouseSetsFocus
item->d_ptr->mouseSetsFocusDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
4348 if (!item->isWidget()
!item->isWidget()Description
TRUEnever evaluated
FALSEnever evaluated
|| ((
((QGraphicsWid...Qt::ClickFocusDescription
TRUEnever evaluated
FALSEnever evaluated
QGraphicsWidget *)item)->focusPolicy() & Qt::ClickFocus
((QGraphicsWid...Qt::ClickFocusDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4349 setFocus = true;-
4350 if (item != q->focusItem()
item != q->focusItem()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4351 q->setFocusItem(item, Qt::MouseFocusReason);
never executed: q->setFocusItem(item, Qt::MouseFocusReason);
0
4352 break;
never executed: break;
0
4353 }-
4354 }
never executed: end of block
0
4355 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4356 break;
never executed: break;
0
4357 if (item->d_ptr->flags & QGraphicsItem::ItemStopsClickFocusPropagation
item->d_ptr->f...cusPropagationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4358 break;
never executed: break;
0
4359 if (item->d_ptr->flags & QGraphicsItem::ItemStopsFocusHandling
item->d_ptr->f...sFocusHandlingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4360-
4361 setFocus = true;-
4362 break;
never executed: break;
0
4363 }-
4364 }
never executed: end of block
0
4365-
4366-
4367 if (!stickyFocus
!stickyFocusDescription
TRUEnever evaluated
FALSEnever evaluated
&& !setFocus
!setFocusDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4368 q->setFocusItem(0, Qt::MouseFocusReason);
never executed: q->setFocusItem(0, Qt::MouseFocusReason);
0
4369-
4370 bool res = false;-
4371 bool eventAccepted = touchEvent->isAccepted();-
4372 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(cachedItemsUnderMouse)>::type> _container_((cachedItemsUnderMouse)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *item = *_container_.i; _container_.control; _container_.control = 0) {-
4373-
4374 updateTouchPointsForItem(item, touchEvent);-
4375 bool acceptTouchEvents = item->acceptTouchEvents();-
4376 touchEvent->setAccepted(acceptTouchEvents);-
4377 res = acceptTouchEvents
acceptTouchEventsDescription
TRUEnever evaluated
FALSEnever evaluated
&& sendEvent(item, touchEvent)
sendEvent(item, touchEvent)Description
TRUEnever evaluated
FALSEnever evaluated
;
0
4378 eventAccepted = touchEvent->isAccepted();-
4379 if (itemForTouchPointId.value(touchEvent->touchPoints().first().id()) == 0
itemForTouchPo...t().id()) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4380-
4381 item = 0;-
4382 }
never executed: end of block
else {
0
4383 item->d_ptr->acceptedTouchBeginEvent = (res
resDescription
TRUEnever evaluated
FALSEnever evaluated
&& eventAccepted
eventAcceptedDescription
TRUEnever evaluated
FALSEnever evaluated
);
0
4384 }
never executed: end of block
0
4385 touchEvent->spont = false;-
4386 if (res
resDescription
TRUEnever evaluated
FALSEnever evaluated
&& eventAccepted
eventAcceptedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4387-
4388 for (int i = 0; i < touchEvent->touchPoints().count()
i < touchEvent...ints().count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4389 const QTouchEvent::TouchPoint &touchPoint = touchEvent->touchPoints().at(i);-
4390 itemForTouchPointId[touchPoint.id()] = item;-
4391 }
never executed: end of block
0
4392 break;
never executed: break;
0
4393 }-
4394 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4395 break;
never executed: break;
0
4396 }
never executed: end of block
0
4397-
4398 touchEvent->setAccepted(eventAccepted);-
4399 return
never executed: return res;
res;
never executed: return res;
0
4400}-
4401-
4402void QGraphicsScenePrivate::enableTouchEventsOnViews()-
4403{-
4404 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views)>::type> _container_((views)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
4405 view->viewport()->setAttribute(Qt::WA_AcceptTouchEvents, true);
never executed: view->viewport()->setAttribute(Qt::WA_AcceptTouchEvents, true);
0
4406}
never executed: end of block
0
4407-
4408void QGraphicsScenePrivate::updateInputMethodSensitivityInViews()-
4409{-
4410 for (int i = 0; i < views.size()
i < views.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
4411 views.at(i)->d_func()->updateInputMethodSensitivity();
never executed: views.at(i)->d_func()->updateInputMethodSensitivity();
0
4412}
never executed: end of block
0
4413-
4414void QGraphicsScenePrivate::enterModal(QGraphicsItem *panel, QGraphicsItem::PanelModality previousModality)-
4415{-
4416 QGraphicsScene * const q = q_func();-
4417 ((!(panel && panel->isPanel())) ? qt_assert("panel && panel->isPanel()",__FILE__,6076) : qt_noop());-
4418-
4419 QGraphicsItem::PanelModality panelModality = panel->d_ptr->panelModality;-
4420 if (previousModality != QGraphicsItem::NonModal
previousModali...Item::NonModalDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4421-
4422-
4423 panel->d_ptr->panelModality = previousModality;-
4424 }
never executed: end of block
0
4425-
4426 QSet<QGraphicsItem *> blockedPanels;-
4427 QList<QGraphicsItem *> items = q->items();-
4428 for (int i = 0; i < items.count()
i < items.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4429 QGraphicsItem *item = items.at(i);-
4430 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4431 blockedPanels.insert(item);
never executed: blockedPanels.insert(item);
0
4432 }
never executed: end of block
0
4433-
4434-
4435 if (previousModality != QGraphicsItem::NonModal
previousModali...Item::NonModalDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4436-
4437 panel->d_ptr->panelModality = panelModality;-
4438-
4439 modalPanels.removeAll(panel);-
4440 }
never executed: end of block
0
4441-
4442 modalPanels.prepend(panel);-
4443-
4444 if (!hoverItems.isEmpty()
!hoverItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4445-
4446 QGraphicsSceneHoverEvent hoverEvent;-
4447 hoverEvent.setScenePos(lastSceneMousePos);-
4448 dispatchHoverEvent(&hoverEvent);-
4449 }
never executed: end of block
0
4450-
4451 if (!mouseGrabberItems.isEmpty()
!mouseGrabberItems.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& lastMouseGrabberItemHasImplicitMouseGrab
lastMouseGrabb...licitMouseGrabDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4452 QGraphicsItem *item = mouseGrabberItems.last();-
4453 if (item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4454 ungrabMouse(item, false);
never executed: ungrabMouse(item, false);
0
4455 }
never executed: end of block
0
4456-
4457 QEvent windowBlockedEvent(QEvent::WindowBlocked);-
4458 QEvent windowUnblockedEvent(QEvent::WindowUnblocked);-
4459 for (int i = 0; i < items.count()
i < items.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4460 QGraphicsItem *item = items.at(i);-
4461 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4462 if (!blockedPanels.contains(item)
!blockedPanels.contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4463-
4464 sendEvent(item, &windowBlockedEvent);-
4465 }
never executed: end of block
else if (blockedPanels.contains(item)
blockedPanels.contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isBlockedByModalPanel()
!item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4466-
4467-
4468 sendEvent(item, &windowUnblockedEvent);-
4469 }
never executed: end of block
0
4470 }
never executed: end of block
0
4471 }
never executed: end of block
0
4472}
never executed: end of block
0
4473-
4474void QGraphicsScenePrivate::leaveModal(QGraphicsItem *panel)-
4475{-
4476 QGraphicsScene * const q = q_func();-
4477 ((!(panel && panel->isPanel())) ? qt_assert("panel && panel->isPanel()",__FILE__,6136) : qt_noop());-
4478-
4479 QSet<QGraphicsItem *> blockedPanels;-
4480 QList<QGraphicsItem *> items = q->items();-
4481 for (int i = 0; i < items.count()
i < items.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4482 QGraphicsItem *item = items.at(i);-
4483 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& item->isBlockedByModalPanel()
item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4484 blockedPanels.insert(item);
never executed: blockedPanels.insert(item);
0
4485 }
never executed: end of block
0
4486-
4487 modalPanels.removeAll(panel);-
4488-
4489 QEvent e(QEvent::WindowUnblocked);-
4490 for (int i = 0; i < items.count()
i < items.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4491 QGraphicsItem *item = items.at(i);-
4492 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
&& blockedPanels.contains(item)
blockedPanels.contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
&& !item->isBlockedByModalPanel()
!item->isBlockedByModalPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4493 sendEvent(item, &e);
never executed: sendEvent(item, &e);
0
4494 }
never executed: end of block
0
4495-
4496-
4497 QGraphicsSceneHoverEvent hoverEvent;-
4498 hoverEvent.setScenePos(lastSceneMousePos);-
4499 dispatchHoverEvent(&hoverEvent);-
4500}
never executed: end of block
0
4501-
4502-
4503void QGraphicsScenePrivate::gestureTargetsAtHotSpots(const QSet<QGesture *> &gestures,-
4504 Qt::GestureFlag flag,-
4505 QHash<QGraphicsObject *, QSet<QGesture *> > *targets,-
4506 QSet<QGraphicsObject *> *itemsSet,-
4507 QSet<QGesture *> *normal,-
4508 QSet<QGesture *> *conflicts)-
4509{-
4510 QSet<QGesture *> normalGestures;-
4511 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(gestures)>::type> _container_((gestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *gesture = *_container_.i; _container_.control; _container_.control = 0) {-
4512 if (!gesture->hasHotSpot()
!gesture->hasHotSpot()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4513 continue;
never executed: continue;
0
4514 const Qt::GestureType gestureType = gesture->gestureType();-
4515 QList<QGraphicsItem *> items = itemsAtPosition(QPoint(), gesture->d_func()->sceneHotSpot, 0);-
4516 for (int j = 0; j < items.size()
j < items.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++j) {
0
4517 QGraphicsItem *item = items.at(j);-
4518-
4519-
4520-
4521 (void) item->isBlockedByModalPanel(&item);-
4522-
4523 if (QGraphicsObject *itemobj = item->toGraphicsObject()
QGraphicsObjec...aphicsObject()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4524 QGraphicsItemPrivate *d = item->QGraphicsItem::d_func();-
4525 QMap<Qt::GestureType, Qt::GestureFlags>::const_iterator it =-
4526 d->gestureContext.constFind(gestureType);-
4527 if (it != d->gestureContext.constEnd()
it != d->gestu...ext.constEnd()Description
TRUEnever evaluated
FALSEnever evaluated
&& (!flag
!flagDescription
TRUEnever evaluated
FALSEnever evaluated
|| (
(it.value() & flag)Description
TRUEnever evaluated
FALSEnever evaluated
it.value() & flag)
(it.value() & flag)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
4528 if (normalGestures.contains(gesture)
normalGestures...tains(gesture)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4529 normalGestures.remove(gesture);-
4530 if (conflicts
conflictsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4531 conflicts->insert(gesture);
never executed: conflicts->insert(gesture);
0
4532 }
never executed: end of block
else {
0
4533 normalGestures.insert(gesture);-
4534 }
never executed: end of block
0
4535 if (targets
targetsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4536 (*
never executed: (*targets)[itemobj].insert(gesture);
targets)[itemobj].insert(gesture);
never executed: (*targets)[itemobj].insert(gesture);
0
4537 if (itemsSet
itemsSetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4538 (*
never executed: (*itemsSet).insert(itemobj);
itemsSet).insert(itemobj);
never executed: (*itemsSet).insert(itemobj);
0
4539 }
never executed: end of block
0
4540 }
never executed: end of block
0
4541-
4542 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4543 break;
never executed: break;
0
4544 }
never executed: end of block
0
4545 }
never executed: end of block
0
4546 if (normal
normalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4547 *
never executed: *normal = normalGestures;
normal = normalGestures;
never executed: *normal = normalGestures;
0
4548}
never executed: end of block
0
4549-
4550void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)-
4551{-
4552 QWidget *viewport = event->widget();-
4553 if (!viewport
!viewportDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4554 return;
never executed: return;
0
4555 QGraphicsView *graphicsView = qobject_cast<QGraphicsView *>(viewport->parent());-
4556 if (!graphicsView
!graphicsViewDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4557 return;
never executed: return;
0
4558-
4559 QList<QGesture *> allGestures = event->gestures();-
4560 if (0) QMessageLogger(__FILE__, 6219, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6219, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "Gestures:" << allGestures;
-
4561 << "Gestures:" << allGestures;
dead code: QMessageLogger(__FILE__, 6219, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "Gestures:" << allGestures;
-
4562-
4563 QSet<QGesture *> startedGestures;-
4564 QPoint delta = viewport->mapFromGlobal(QPoint());-
4565 QTransform toScene = QTransform::fromTranslate(delta.x(), delta.y())-
4566 * graphicsView->viewportTransform().inverted();-
4567 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(allGestures)>::type> _container_((allGestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *gesture = *_container_.i; _container_.control; _container_.control = 0) {-
4568-
4569 if (gesture->hasHotSpot()
gesture->hasHotSpot()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4570 gesture->d_func()->sceneHotSpot = toScene.map(gesture->hotSpot());-
4571 }
never executed: end of block
else {
0
4572 gesture->d_func()->sceneHotSpot = QPointF();-
4573 }
never executed: end of block
0
4574-
4575 QGraphicsObject *target = gestureTargets.value(gesture, 0);-
4576 if (!target
!targetDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4577-
4578-
4579 if (gesture->state() == Qt::GestureStarted
gesture->state...GestureStartedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4580 startedGestures.insert(gesture);
never executed: startedGestures.insert(gesture);
0
4581 }
never executed: end of block
0
4582 }
never executed: end of block
0
4583-
4584 if (!startedGestures.isEmpty()
!startedGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4585 QSet<QGesture *> normalGestures;-
4586 QSet<QGesture *> conflictedGestures;-
4587 gestureTargetsAtHotSpots(startedGestures, Qt::GestureFlag(0), &cachedItemGestures, 0,-
4588 &normalGestures, &conflictedGestures);-
4589 cachedTargetItems = cachedItemGestures.keys();-
4590 std::sort(cachedTargetItems.begin(), cachedTargetItems.end(), qt_closestItemFirst);-
4591 if (0) QMessageLogger(__FILE__, 6250, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6250, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "Normal gestures:" << normalGestures << "Conflicting gestures:" << conflictedGestures;
-
4592 << "Normal gestures:" << normalGestures
dead code: QMessageLogger(__FILE__, 6250, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "Normal gestures:" << normalGestures << "Conflicting gestures:" << conflictedGestures;
-
4593 << "Conflicting gestures:" << conflictedGestures;
dead code: QMessageLogger(__FILE__, 6250, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "Normal gestures:" << normalGestures << "Conflicting gestures:" << conflictedGestures;
-
4594-
4595-
4596-
4597 if (!conflictedGestures.isEmpty()
!conflictedGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4598 for (int i = 0; i < cachedTargetItems.size()
i < cachedTargetItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4599 QPointer<QGraphicsObject> item = cachedTargetItems.at(i);-
4600-
4601-
4602 QSet<QGesture *> gestures = conflictedGestures & cachedItemGestures.value(item.data());-
4603 if (gestures.isEmpty()
gestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4604 continue;
never executed: continue;
0
4605-
4606 if (0) QMessageLogger(__FILE__, 6265, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6265, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering override to" << item.data() << gestures;
-
4607 << "delivering override to"
dead code: QMessageLogger(__FILE__, 6265, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering override to" << item.data() << gestures;
-
4608 << item.data() << gestures;
dead code: QMessageLogger(__FILE__, 6265, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering override to" << item.data() << gestures;
-
4609-
4610 QGestureEvent ev(gestures.toList());-
4611 ev.t = QEvent::GestureOverride;-
4612 ev.setWidget(event->widget());-
4613-
4614 ev.ignore();-
4615 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(gestures)>::type> _container_((gestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0)-
4616 ev.setAccepted(g, false);
never executed: ev.setAccepted(g, false);
0
4617 sendEvent(item.data(), &ev);-
4618-
4619 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(gestures)>::type> _container_((gestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4620 if (ev.isAccepted()
ev.isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
|| ev.isAccepted(g)
ev.isAccepted(g)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4621 conflictedGestures.remove(g);-
4622-
4623 if (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4624 gestureTargets.insert(g, item.data());-
4625 QHash<QGraphicsObject *, QSet<QGesture *> >::iterator it, e;-
4626 it = cachedItemGestures.begin();-
4627 e = cachedItemGestures.end();-
4628 for(; it != e
it != eDescription
TRUEnever evaluated
FALSEnever evaluated
; ++it)
0
4629 it.value().remove(g);
never executed: it.value().remove(g);
0
4630 cachedItemGestures[item.data()].insert(g);-
4631 }
never executed: end of block
0
4632 if (0) QMessageLogger(__FILE__, 6291, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6291, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "override was accepted:" << g << item.data();
-
4633 << "override was accepted:"
dead code: QMessageLogger(__FILE__, 6291, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "override was accepted:" << g << item.data();
-
4634 << g << item.data();
dead code: QMessageLogger(__FILE__, 6291, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "override was accepted:" << g << item.data();
-
4635 }
never executed: end of block
0
4636-
4637-
4638-
4639 if (!gestureTargets.contains(g)
!gestureTargets.contains(g)Description
TRUEnever evaluated
FALSEnever evaluated
&& item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4640 gestureTargets.insert(g, item.data());
never executed: gestureTargets.insert(g, item.data());
0
4641-
4642 }
never executed: end of block
0
4643 if (conflictedGestures.isEmpty()
conflictedGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4644 break;
never executed: break;
0
4645 }
never executed: end of block
0
4646 }
never executed: end of block
0
4647-
4648-
4649 if (!normalGestures.isEmpty()
!normalGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4650 for (int i = 0; i < cachedTargetItems.size()
i < cachedTargetItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
&& !normalGestures.isEmpty()
!normalGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4651 QGraphicsObject *item = cachedTargetItems.at(i);-
4652-
4653-
4654 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(cachedItemGestures.value(item))>::type> _container_((cachedItemGestures.value(item))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4655 if (!gestureTargets.contains(g)
!gestureTargets.contains(g)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4656 gestureTargets.insert(g, item);-
4657 normalGestures.remove(g);-
4658 }
never executed: end of block
0
4659 }
never executed: end of block
0
4660 }
never executed: end of block
0
4661 }
never executed: end of block
0
4662 }
never executed: end of block
0
4663-
4664-
4665-
4666 QSet<QGesture *> undeliveredGestures;-
4667 QSet<QGesture *> parentPropagatedGestures;-
4668 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(allGestures)>::type> _container_((allGestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *gesture = *_container_.i; _container_.control; _container_.control = 0) {-
4669 if (QGraphicsObject *target = gestureTargets.value(gesture, 0)
QGraphicsObjec...ue(gesture, 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4670 cachedItemGestures[target].insert(gesture);-
4671 cachedTargetItems.append(target);-
4672 undeliveredGestures.insert(gesture);-
4673 QGraphicsItemPrivate *d = target->QGraphicsItem::d_func();-
4674 const Qt::GestureFlags flags = d->gestureContext.value(gesture->gestureType());-
4675 if (flags & Qt::IgnoredGesturesPropagateToParent
flags & Qt::Ig...pagateToParentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4676 parentPropagatedGestures.insert(gesture);
never executed: parentPropagatedGestures.insert(gesture);
0
4677 }
never executed: end of block
else {
0
4678 if (0) QMessageLogger(__FILE__, 6337, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6337, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "no target for" << gesture << "at" << gesture->hotSpot() << gesture->d_func()->sceneHotSpot;
-
4679 << "no target for" << gesture << "at"
dead code: QMessageLogger(__FILE__, 6337, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "no target for" << gesture << "at" << gesture->hotSpot() << gesture->d_func()->sceneHotSpot;
-
4680 << gesture->hotSpot() << gesture->d_func()->sceneHotSpot;
dead code: QMessageLogger(__FILE__, 6337, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "no target for" << gesture << "at" << gesture->hotSpot() << gesture->d_func()->sceneHotSpot;
-
4681 }
never executed: end of block
0
4682 }-
4683 std::sort(cachedTargetItems.begin(), cachedTargetItems.end(), qt_closestItemFirst);-
4684 for (int i = 0; i < cachedTargetItems.size()
i < cachedTargetItems.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
4685 QPointer<QGraphicsObject> receiver = cachedTargetItems.at(i);-
4686 QSet<QGesture *> gestures =-
4687 undeliveredGestures & cachedItemGestures.value(receiver.data());-
4688 gestures -= cachedAlreadyDeliveredGestures.value(receiver.data());-
4689-
4690 if (gestures.isEmpty()
gestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4691 continue;
never executed: continue;
0
4692-
4693 cachedAlreadyDeliveredGestures[receiver.data()] += gestures;-
4694 const bool isPanel = receiver.data()->isPanel();-
4695-
4696 if (0) QMessageLogger(__FILE__, 6355, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6355, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering to" << receiver.data() << gestures;
-
4697 << "delivering to"
dead code: QMessageLogger(__FILE__, 6355, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering to" << receiver.data() << gestures;
-
4698 << receiver.data() << gestures;
dead code: QMessageLogger(__FILE__, 6355, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "delivering to" << receiver.data() << gestures;
-
4699 QGestureEvent ev(gestures.toList());-
4700 ev.setWidget(event->widget());-
4701 sendEvent(receiver.data(), &ev);-
4702 QSet<QGesture *> ignoredGestures;-
4703 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(gestures)>::type> _container_((gestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4704 if (!ev.isAccepted()
!ev.isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
&& !ev.isAccepted(g)
!ev.isAccepted(g)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4705-
4706-
4707-
4708-
4709-
4710 if (receiver
receiverDescription
TRUEnever evaluated
FALSEnever evaluated
&& receiver.data() == gestureTargets.value(g, 0)
receiver.data(...ts.value(g, 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4711 ignoredGestures.insert(g);
never executed: ignoredGestures.insert(g);
0
4712 }
never executed: end of block
else {
0
4713 if (receiver
receiverDescription
TRUEnever evaluated
FALSEnever evaluated
&& g->state() == Qt::GestureStarted
g->state() == ...GestureStartedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4714-
4715-
4716 gestureTargets[g] = receiver.data();-
4717 }
never executed: end of block
0
4718 undeliveredGestures.remove(g);-
4719 }
never executed: end of block
0
4720 }-
4721 if (undeliveredGestures.isEmpty()
undeliveredGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4722 break;
never executed: break;
0
4723-
4724-
4725-
4726 if (!ignoredGestures.isEmpty()
!ignoredGestures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& !isPanel
!isPanelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4727-
4728-
4729-
4730 QSet<QGraphicsObject *> targetsSet = cachedTargetItems.toSet();-
4731-
4732 if (receiver
receiverDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4733-
4734 for (QSet<QGesture *>::iterator it = ignoredGestures.begin();-
4735 it != ignoredGestures.end()
it != ignoredGestures.end()Description
TRUEnever evaluated
FALSEnever evaluated
;) {
0
4736 if (parentPropagatedGestures.contains(*it)
parentPropagat....contains(*it)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4737 QGesture *gesture = *it;-
4738 const Qt::GestureType gestureType = gesture->gestureType();-
4739 QGraphicsItem *item = receiver.data();-
4740 while (item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4741 if (QGraphicsObject *obj = item->toGraphicsObject()
QGraphicsObjec...aphicsObject()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4742 if (item->d_func()->gestureContext.contains(gestureType)
item->d_func()...s(gestureType)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4743 targetsSet.insert(obj);-
4744 cachedItemGestures[obj].insert(gesture);-
4745 }
never executed: end of block
0
4746 }
never executed: end of block
0
4747 if (item->isPanel()
item->isPanel()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4748 break;
never executed: break;
0
4749 item = item->parentItem();-
4750 }
never executed: end of block
0
4751-
4752 it = ignoredGestures.erase(it);-
4753 continue;
never executed: continue;
0
4754 }-
4755 ++it;-
4756 }
never executed: end of block
0
4757 }
never executed: end of block
0
4758-
4759 gestureTargetsAtHotSpots(ignoredGestures, Qt::ReceivePartialGestures,-
4760 &cachedItemGestures, &targetsSet, 0, 0);-
4761-
4762 cachedTargetItems = targetsSet.toList();-
4763 std::sort(cachedTargetItems.begin(), cachedTargetItems.end(), qt_closestItemFirst);-
4764 if (0) QMessageLogger(__FILE__, 6423, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:"
dead code: QMessageLogger(__FILE__, 6423, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "new targets:" << cachedTargetItems;
-
4765 << "new targets:" << cachedTargetItems;
dead code: QMessageLogger(__FILE__, 6423, __PRETTY_FUNCTION__).debug() << "QGraphicsScenePrivate::gestureEventHandler:" << "new targets:" << cachedTargetItems;
-
4766 i = -1;-
4767 continue;
never executed: continue;
0
4768 }-
4769 }
never executed: end of block
0
4770-
4771 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(startedGestures)>::type> _container_((startedGestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4772 if (g->gestureCancelPolicy() == QGesture::CancelAllInContext
g->gestureCanc...elAllInContextDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4773 if (0) QMessageLogger(__FILE__, 6432, __PRETTY_FUNCTION__).debug() << "lets try to cancel some";
dead code: QMessageLogger(__FILE__, 6432, __PRETTY_FUNCTION__).debug() << "lets try to cancel some";
-
4774-
4775 cancelGesturesForChildren(g);-
4776 }
never executed: end of block
0
4777 }
never executed: end of block
0
4778-
4779-
4780 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(allGestures)>::type> _container_((allGestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4781 switch (g->state()) {-
4782 case
never executed: case Qt::GestureFinished:
Qt::GestureFinished:
never executed: case Qt::GestureFinished:
0
4783 case
never executed: case Qt::GestureCanceled:
Qt::GestureCanceled:
never executed: case Qt::GestureCanceled:
0
4784 gestureTargets.remove(g);-
4785 break;
never executed: break;
0
4786 default
never executed: default:
:
never executed: default:
0
4787 break;
never executed: break;
0
4788 }-
4789 }-
4790-
4791 cachedTargetItems.clear();-
4792 cachedItemGestures.clear();-
4793 cachedAlreadyDeliveredGestures.clear();-
4794}
never executed: end of block
0
4795-
4796void QGraphicsScenePrivate::cancelGesturesForChildren(QGesture *original)-
4797{-
4798 ((!(original)) ? qt_assert("original",__FILE__,6457) : qt_noop());-
4799 QGraphicsItem *originalItem = gestureTargets.value(original);-
4800 if (originalItem == 0
originalItem == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4801 return;
never executed: return;
0
4802-
4803-
4804-
4805-
4806 QSet<QGesture *> canceledGestures;-
4807 QHash<QGesture *, QGraphicsObject *>::Iterator iter = gestureTargets.begin();-
4808 while (iter != gestureTargets.end()
iter != gestureTargets.end()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4809 QGraphicsObject *item = iter.value();-
4810-
4811 if (item != originalItem
item != originalItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& originalItem->isAncestorOf(item)
originalItem->...cestorOf(item)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4812 if (0) QMessageLogger(__FILE__, 6471, __PRETTY_FUNCTION__).debug() << " found a gesture to cancel" << iter.key();
dead code: QMessageLogger(__FILE__, 6471, __PRETTY_FUNCTION__).debug() << " found a gesture to cancel" << iter.key();
-
4813 iter.key()->d_func()->state = Qt::GestureCanceled;-
4814 canceledGestures << iter.key();-
4815 }
never executed: end of block
0
4816 ++iter;-
4817 }
never executed: end of block
0
4818-
4819-
4820 QSet<QGesture *> almostCanceledGestures = canceledGestures;-
4821 QSet<QGesture *>::Iterator setIter;-
4822 while (!almostCanceledGestures.isEmpty()
!almostCancele...ures.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4823 QGraphicsObject *target = 0;-
4824 QSet<QGesture*> gestures;-
4825 setIter = almostCanceledGestures.begin();-
4826-
4827 while (setIter != almostCanceledGestures.end()
setIter != alm...Gestures.end()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4828 QGraphicsObject *item = gestureTargets.value(*setIter);-
4829 if (target == 0
target == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4830 target = item;
never executed: target = item;
0
4831 if (target == item
target == itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
4832 gestures << *setIter;-
4833 setIter = almostCanceledGestures.erase(setIter);-
4834 }
never executed: end of block
else {
0
4835 ++setIter;-
4836 }
never executed: end of block
0
4837 }-
4838 ((!(target)) ? qt_assert("target",__FILE__,6497) : qt_noop());-
4839-
4840 QList<QGesture *> list = gestures.toList();-
4841 QGestureEvent ev(list);-
4842 sendEvent(target, &ev);-
4843-
4844 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(list)>::type> _container_((list)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4845 if (ev.isAccepted()
ev.isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
|| ev.isAccepted(g)
ev.isAccepted(g)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4846 gestures.remove(g);
never executed: gestures.remove(g);
0
4847 }
never executed: end of block
0
4848-
4849 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(gestures)>::type> _container_((gestures)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGesture *g = *_container_.i; _container_.control; _container_.control = 0) {-
4850 if (!g->hasHotSpot()
!g->hasHotSpot()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4851 continue;
never executed: continue;
0
4852-
4853 QList<QGraphicsItem *> items = itemsAtPosition(QPoint(), g->d_func()->sceneHotSpot, 0);-
4854 for (int j = 0; j < items.size()
j < items.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++j) {
0
4855 QGraphicsObject *item = items.at(j)->toGraphicsObject();-
4856 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
4857 continue;
never executed: continue;
0
4858 QGraphicsItemPrivate *d = item->QGraphicsItem::d_func();-
4859 if (d->gestureContext.contains(g->gestureType())
d->gestureCont...gestureType())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4860 QList<QGesture *> list;-
4861 list << g;-
4862 QGestureEvent ev(list);-
4863 sendEvent(item, &ev);-
4864 if (ev.isAccepted()
ev.isAccepted()Description
TRUEnever evaluated
FALSEnever evaluated
|| ev.isAccepted(g)
ev.isAccepted(g)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
4865 break;
never executed: break;
0
4866 }
never executed: end of block
0
4867 }
never executed: end of block
0
4868 }
never executed: end of block
0
4869 }
never executed: end of block
0
4870-
4871 QGestureManager *gestureManager = QApplicationPrivate::instance()->gestureManager;-
4872 ((!(gestureManager)) ? qt_assert("gestureManager",__FILE__,6531) : qt_noop());-
4873 for (setIter = canceledGestures.begin(); setIter != canceledGestures.end()
setIter != can...Gestures.end()Description
TRUEnever evaluated
FALSEnever evaluated
; ++setIter) {
0
4874 gestureManager->recycle(*setIter);-
4875 gestureTargets.remove(*setIter);-
4876 }
never executed: end of block
0
4877}
never executed: end of block
0
4878-
4879void QGraphicsScenePrivate::grabGesture(QGraphicsItem *, Qt::GestureType gesture)-
4880{-
4881 (void)QGestureManager::instance();-
4882 if (!grabbedGestures[gesture]++
!grabbedGestures[gesture]++Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4883 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views)>::type> _container_((views)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
4884 view->viewport()->grabGesture(gesture);
never executed: view->viewport()->grabGesture(gesture);
0
4885 }
never executed: end of block
0
4886}
never executed: end of block
0
4887-
4888void QGraphicsScenePrivate::ungrabGesture(QGraphicsItem *item, Qt::GestureType gesture)-
4889{-
4890-
4891 ((!(item->d_ptr->isObject)) ? qt_assert("item->d_ptr->isObject",__FILE__,6550) : qt_noop());-
4892 QGraphicsObject *obj = static_cast<QGraphicsObject *>(item);-
4893 QGestureManager::instance()->cleanupCachedGestures(obj, gesture);-
4894 if (!--grabbedGestures[gesture]
!--grabbedGestures[gesture]Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
4895 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(views)>::type> _container_((views)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsView *view = *_container_.i; _container_.control; _container_.control = 0)-
4896 view->viewport()->ungrabGesture(gesture);
never executed: view->viewport()->ungrabGesture(gesture);
0
4897 }
never executed: end of block
0
4898}
never executed: end of block
0
4899-
4900-
4901-
4902-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9