qmainwindowlayout.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/widgets/qmainwindowlayout.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16-
17-
18extern QMainWindowLayout *qt_mainwindow_layout(const QMainWindow *window);-
19-
20-
21-
22-
23-
24-
25-
26static void dumpLayout(QTextStream &qout, const QDockAreaLayoutInfo &layout, QString indent);-
27-
28static void dumpLayout(QTextStream &qout, const QDockAreaLayoutItem &item, QString indent)-
29{-
30 qout << indent << "QDockAreaLayoutItem: "-
31 << "pos: " << item.pos << " size:" << item.size-
32 << " gap:" << (item.flags & QDockAreaLayoutItem::GapItem)-
33 << " keepSize:" << (item.flags & QDockAreaLayoutItem::KeepSize) << '\n';-
34 indent += QLatin1String(" ");-
35 if (item.widgetItem != 0
item.widgetItem != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
36 qout << indent << "widget: "-
37 << item.widgetItem->widget()->metaObject()->className()-
38 << " \"" << item.widgetItem->widget()->windowTitle() << "\"\n";-
39 }
never executed: end of block
else if (item.subinfo != 0
item.subinfo != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
40 qout << indent << "subinfo:\n";-
41 dumpLayout(qout, *item.subinfo, indent + QLatin1String(" "));-
42 }
never executed: end of block
else if (item.placeHolderItem != 0
item.placeHolderItem != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
43 QRect r = item.placeHolderItem->topLevelRect;-
44 qout << indent << "placeHolder: "-
45 << "pos: " << item.pos << " size:" << item.size-
46 << " gap:" << (item.flags & QDockAreaLayoutItem::GapItem)-
47 << " keepSize:" << (item.flags & QDockAreaLayoutItem::KeepSize)-
48 << " objectName:" << item.placeHolderItem->objectName-
49 << " hidden:" << item.placeHolderItem->hidden-
50 << " window:" << item.placeHolderItem->window-
51 << " rect:" << r.x() << ',' << r.y() << ' '-
52 << r.width() << 'x' << r.height() << '\n';-
53 }
never executed: end of block
0
54}
never executed: end of block
0
55-
56static void dumpLayout(QTextStream &qout, const QDockAreaLayoutInfo &layout, QString indent)-
57{-
58 const QSize minSize = layout.minimumSize();-
59 qout << indent << "QDockAreaLayoutInfo: "-
60 << layout.rect.left() << ','-
61 << layout.rect.top() << ' '-
62 << layout.rect.width() << 'x'-
63 << layout.rect.height()-
64 << " min size: " << minSize.width() << ',' << minSize.height()-
65 << " orient:" << layout.o-
66 << " tabbed:" << layout.tabbed-
67 << " tbshape:" << layout.tabBarShape << '\n';-
68-
69 indent += QLatin1String(" ");-
70-
71 for (int i = 0; i < layout.item_list.count()
i < layout.item_list.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
72 qout << indent << "Item: " << i << '\n';-
73 dumpLayout(qout, layout.item_list.at(i), indent + QLatin1String(" "));-
74 }
never executed: end of block
0
75}
never executed: end of block
0
76-
77static void dumpLayout(QTextStream &qout, const QDockAreaLayout &layout)-
78{-
79 qout << "QDockAreaLayout: "-
80 << layout.rect.left() << ','-
81 << layout.rect.top() << ' '-
82 << layout.rect.width() << 'x'-
83 << layout.rect.height() << '\n';-
84-
85 qout << "TopDockArea:\n";-
86 dumpLayout(qout, layout.docks[QInternal::TopDock], QLatin1String(" "));-
87 qout << "LeftDockArea:\n";-
88 dumpLayout(qout, layout.docks[QInternal::LeftDock], QLatin1String(" "));-
89 qout << "RightDockArea:\n";-
90 dumpLayout(qout, layout.docks[QInternal::RightDock], QLatin1String(" "));-
91 qout << "BottomDockArea:\n";-
92 dumpLayout(qout, layout.docks[QInternal::BottomDock], QLatin1String(" "));-
93}
never executed: end of block
0
94-
95QDebug operator<<(QDebug debug, const QDockAreaLayout &layout)-
96{-
97 QString s;-
98 QTextStream str(&s);-
99 dumpLayout(str, layout);-
100 debug << s;-
101 return
never executed: return debug;
debug;
never executed: return debug;
0
102}-
103-
104QDebug operator<<(QDebug debug, const QMainWindowLayout *layout)-
105{-
106 debug << layout->layoutState.dockAreaLayout;-
107 return
never executed: return debug;
debug;
never executed: return debug;
0
108}-
109class QDockWidgetGroupLayout : public QLayout {-
110 QDockAreaLayoutInfo info;-
111 QWidgetResizeHandler *resizer;-
112public:-
113 QDockWidgetGroupLayout(QWidget* parent) : QLayout(parent) {-
114 setSizeConstraint(QLayout::SetMinAndMaxSize);-
115 resizer = new QWidgetResizeHandler(parent);-
116 resizer->setMovingEnabled(false);-
117 }
never executed: end of block
0
118 ~QDockWidgetGroupLayout() {-
119 info.deleteAllLayoutItems();-
120 }
never executed: end of block
0
121-
122 void addItem(QLayoutItem*) override { do { ((!(false)) ? qt_assert_x("Q_UNREACHABLE()", "Q_UNREACHABLE was reached",__FILE__,189) : qt_noop()); __builtin_unreachable(); } while (0); }
never executed: end of block
0
123 int count() const override { return
never executed: return 0;
0;
never executed: return 0;
}
0
124 QLayoutItem* itemAt(int index) const override-
125 {-
126 int x = 0;-
127 return
never executed: return info.itemAt(&x, index);
info.itemAt(&x, index);
never executed: return info.itemAt(&x, index);
0
128 }-
129 QLayoutItem* takeAt(int index) override-
130 {-
131 int x = 0;-
132 return
never executed: return info.takeAt(&x, index);
info.takeAt(&x, index);
never executed: return info.takeAt(&x, index);
0
133 }-
134 QSize sizeHint() const override-
135 {-
136 int fw = frameWidth();-
137 return
never executed: return info.sizeHint() + QSize(fw, fw);
info.sizeHint() + QSize(fw, fw);
never executed: return info.sizeHint() + QSize(fw, fw);
0
138 }-
139 QSize minimumSize() const override-
140 {-
141 int fw = frameWidth();-
142 return
never executed: return info.minimumSize() + QSize(fw, fw);
info.minimumSize() + QSize(fw, fw);
never executed: return info.minimumSize() + QSize(fw, fw);
0
143 }-
144 QSize maximumSize() const override-
145 {-
146 int fw = frameWidth();-
147 return
never executed: return info.maximumSize() + QSize(fw, fw);
info.maximumSize() + QSize(fw, fw);
never executed: return info.maximumSize() + QSize(fw, fw);
0
148 }-
149 void setGeometry(const QRect&r) override-
150 {-
151 static_cast<QDockWidgetGroupWindow *>(parent())->destroyOrHideIfEmpty();-
152 QDockAreaLayoutInfo *li = layoutInfo();-
153 if (li->isEmpty()
li->isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
154 return;
never executed: return;
0
155 int fw = frameWidth();-
156 li->reparentWidgets(parentWidget());-
157 li->rect = r.adjusted(fw, fw, -fw, -fw);-
158 li->fitItems();-
159 li->apply(false);-
160 resizer->setActive(QWidgetResizeHandler::Resize, !nativeWindowDeco());-
161 }
never executed: end of block
0
162-
163 QDockAreaLayoutInfo *layoutInfo() {-
164 return
never executed: return &info;
&info;
never executed: return &info;
0
165 }-
166-
167 bool nativeWindowDeco() const-
168 {-
169 return
never executed: return QDockWidgetLayout::wmSupportsNativeWindowDeco();
QDockWidgetLayout::wmSupportsNativeWindowDeco();
never executed: return QDockWidgetLayout::wmSupportsNativeWindowDeco();
0
170 }-
171-
172 int frameWidth() const-
173 {-
174 return
never executed: return nativeWindowDeco() ? 0 : parentWidget()->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, parentWidget());
nativeWindowDeco()
nativeWindowDeco()Description
TRUEnever evaluated
FALSEnever evaluated
? 0 :
never executed: return nativeWindowDeco() ? 0 : parentWidget()->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, parentWidget());
0
175 parentWidget()->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, parentWidget());
never executed: return nativeWindowDeco() ? 0 : parentWidget()->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, parentWidget());
0
176 }-
177};-
178-
179bool QDockWidgetGroupWindow::event(QEvent *e)-
180{-
181 switch (e->type()) {-
182 case
never executed: case QEvent::Close:
QEvent::Close:
never executed: case QEvent::Close:
0
183-
184 if (QDockWidget *dw = topDockWidget()
QDockWidget *d...opDockWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
185 e->ignore();-
186 dw->close();-
187 adjustFlags();-
188 }
never executed: end of block
0
189 return
never executed: return true;
true;
never executed: return true;
0
190 case
never executed: case QEvent::Move:
QEvent::Move:
never executed: case QEvent::Move:
0
191-
192 if (QDockWidget *dw = topDockWidget()
QDockWidget *d...opDockWidget()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
193 static_cast<
never executed: static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(dw))->moveEvent(static_cast<QMoveEvent*>(e));
QDockWidgetPrivate *>(QObjectPrivate::get(dw))->moveEvent(static_cast<QMoveEvent*>(e));
never executed: static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(dw))->moveEvent(static_cast<QMoveEvent*>(e));
0
194 return
never executed: return true;
true;
never executed: return true;
0
195 case
never executed: case QEvent::NonClientAreaMouseMove:
QEvent::NonClientAreaMouseMove:
never executed: case QEvent::NonClientAreaMouseMove:
0
196 case
never executed: case QEvent::NonClientAreaMouseButtonPress:
QEvent::NonClientAreaMouseButtonPress:
never executed: case QEvent::NonClientAreaMouseButtonPress:
0
197 case
never executed: case QEvent::NonClientAreaMouseButtonRelease:
QEvent::NonClientAreaMouseButtonRelease:
never executed: case QEvent::NonClientAreaMouseButtonRelease:
0
198 case
never executed: case QEvent::NonClientAreaMouseButtonDblClick:
QEvent::NonClientAreaMouseButtonDblClick:
never executed: case QEvent::NonClientAreaMouseButtonDblClick:
0
199-
200 if (QDockWidget *dw = topDockWidget()
QDockWidget *d...opDockWidget()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
201 static_cast<
never executed: static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(dw))->nonClientAreaMouseEvent(static_cast<QMouseEvent*>(e));
QDockWidgetPrivate *>(QObjectPrivate::get(dw))->nonClientAreaMouseEvent(static_cast<QMouseEvent*>(e));
never executed: static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(dw))->nonClientAreaMouseEvent(static_cast<QMouseEvent*>(e));
0
202 return
never executed: return true;
true;
never executed: return true;
0
203 case
never executed: case QEvent::ChildAdded:
QEvent::ChildAdded:
never executed: case QEvent::ChildAdded:
0
204 if (qobject_cast<QDockWidget *>(static_cast<QChildEvent*>(e)->child())
qobject_cast<Q...>(e)->child())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
205 adjustFlags();
never executed: adjustFlags();
0
206 break;
never executed: break;
0
207 case
never executed: case QEvent::LayoutRequest:
QEvent::LayoutRequest:
never executed: case QEvent::LayoutRequest:
0
208-
209 destroyOrHideIfEmpty();-
210 break;
never executed: break;
0
211 default
never executed: default:
:
never executed: default:
0
212 break;
never executed: break;
0
213 }-
214 return
never executed: return QWidget::event(e);
QWidget::event(e);
never executed: return QWidget::event(e);
0
215}-
216-
217void QDockWidgetGroupWindow::paintEvent(QPaintEvent *)-
218{-
219 QDockWidgetGroupLayout *lay = static_cast<QDockWidgetGroupLayout *>(layout());-
220 bool nativeDeco = lay->nativeWindowDeco();-
221-
222 if (!nativeDeco
!nativeDecoDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
223 QStyleOptionFrame framOpt;-
224 framOpt.init(this);-
225 QStylePainter p(this);-
226 p.drawPrimitive(QStyle::PE_FrameDockWidget, framOpt);-
227 }
never executed: end of block
0
228}
never executed: end of block
0
229-
230QDockAreaLayoutInfo *QDockWidgetGroupWindow::layoutInfo() const-
231{-
232 return
never executed: return static_cast<QDockWidgetGroupLayout*>(layout())->layoutInfo();
static_cast<QDockWidgetGroupLayout*>(layout())->layoutInfo();
never executed: return static_cast<QDockWidgetGroupLayout*>(layout())->layoutInfo();
0
233}-
234-
235-
236-
237-
238QDockWidget *QDockWidgetGroupWindow::topDockWidget() const-
239{-
240 QDockAreaLayoutInfo *info = layoutInfo();-
241 QDockWidget *dw = 0;-
242 if (info->tabBar
info->tabBarDescription
TRUEnever evaluated
FALSEnever evaluated
&& info->tabBar->currentIndex() >= 0
info->tabBar->...ntIndex() >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
243 int i = info->tabIndexToListIndex(info->tabBar->currentIndex());-
244 if (i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
245 const QDockAreaLayoutItem &item = info->item_list.at(i);-
246 if (item.widgetItem
item.widgetItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
247 dw = qobject_cast<QDockWidget *>(item.widgetItem->widget());
never executed: dw = qobject_cast<QDockWidget *>(item.widgetItem->widget());
0
248 }
never executed: end of block
0
249 }
never executed: end of block
0
250 if (!dw
!dwDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
251 for (int i = 0; !dw
!dwDescription
TRUEnever evaluated
FALSEnever evaluated
&& i < info->item_list.count()
i < info->item_list.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
252 const QDockAreaLayoutItem &item = info->item_list.at(i);-
253 if (item.skip()
item.skip()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
254 continue;
never executed: continue;
0
255 if (!item.widgetItem
!item.widgetItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
256 continue;
never executed: continue;
0
257 dw = qobject_cast<QDockWidget *>(item.widgetItem->widget());-
258 }
never executed: end of block
0
259 }
never executed: end of block
0
260 return
never executed: return dw;
dw;
never executed: return dw;
0
261}-
262-
263-
264-
265-
266-
267void QDockWidgetGroupWindow::destroyOrHideIfEmpty()-
268{-
269 if (!layoutInfo()->isEmpty()
!layoutInfo()->isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
270 show();-
271 return;
never executed: return;
0
272 }-
273-
274 if (!layoutInfo()->item_list.isEmpty()
!layoutInfo()-...list.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
275 hide();-
276 return;
never executed: return;
0
277 }-
278-
279-
280 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildren<QDockWidget *>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((findChildren<QDockWidget *>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidget *dw = *_container_.i; _container_.control; _container_.control = 0) {-
281 bool wasFloating = dw->isFloating();-
282 bool wasHidden = dw->isHidden();-
283 dw->setParent(parentWidget());-
284 if (wasFloating
wasFloatingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
285 dw->setFloating(true);-
286 }
never executed: end of block
else {
0
287-
288 QMainWindowLayout *ml =-
289 qt_mainwindow_layout(static_cast<QMainWindow *>(parentWidget()));-
290 Qt::DockWidgetArea area = ml->dockWidgetArea(this);-
291 if (area == Qt::NoDockWidgetArea
area == Qt::NoDockWidgetAreaDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
292 area = Qt::LeftDockWidgetArea;
never executed: area = Qt::LeftDockWidgetArea;
0
293 static_cast<QMainWindow *>(parentWidget())->addDockWidget(area, dw);-
294 }
never executed: end of block
0
295 if (!wasHidden
!wasHiddenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
296 dw->show();
never executed: dw->show();
0
297 }
never executed: end of block
0
298 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildren<QTabBar *>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((findChildren<QTabBar *>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *tb = *_container_.i; _container_.control; _container_.control = 0)-
299 tb->setParent(parentWidget());
never executed: tb->setParent(parentWidget());
0
300 deleteLater();-
301}
never executed: end of block
0
302-
303-
304-
305-
306void QDockWidgetGroupWindow::adjustFlags()-
307{-
308 QDockWidget *top = topDockWidget();-
309 if (!top
!topDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
310 return;
never executed: return;
0
311 const bool nativeDeco = static_cast<QDockWidgetGroupLayout *>(layout())->nativeWindowDeco();-
312-
313 Qt::WindowFlags oldFlags = windowFlags();-
314 Qt::WindowFlags flags = oldFlags;-
315 if (nativeDeco
nativeDecoDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
316 flags |= Qt::CustomizeWindowHint | Qt::WindowTitleHint;-
317 if (top->features() & QDockWidget::DockWidgetClosable
top->features(...WidgetClosableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
318 flags |= Qt::WindowCloseButtonHint;
never executed: flags |= Qt::WindowCloseButtonHint;
0
319 else-
320 flags &= ~Qt::WindowCloseButtonHint;
never executed: flags &= ~Qt::WindowCloseButtonHint;
0
321 flags &= ~Qt::FramelessWindowHint;-
322 }
never executed: end of block
else {
0
323 flags |= Qt::FramelessWindowHint;-
324 }
never executed: end of block
0
325 if (oldFlags != flags
oldFlags != flagsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
326 setWindowFlags(flags);-
327 show();-
328 }
never executed: end of block
0
329-
330 setWindowTitle(top->windowTitle());-
331 setWindowIcon(top->windowIcon());-
332}
never executed: end of block
0
333QMainWindowLayoutState::QMainWindowLayoutState(QMainWindow *win)-
334 :-
335-
336 toolBarAreaLayout(win),-
337-
338-
339 dockAreaLayout(win)-
340-
341-
342-
343-
344{-
345 mainWindow = win;-
346}
never executed: end of block
0
347-
348QSize QMainWindowLayoutState::sizeHint() const-
349{-
350-
351 QSize result(0, 0);-
352-
353-
354 result = dockAreaLayout.sizeHint();-
355-
356-
357-
358-
359-
360-
361 result = toolBarAreaLayout.sizeHint(result);-
362-
363-
364 return
never executed: return result;
result;
never executed: return result;
0
365}-
366-
367QSize QMainWindowLayoutState::minimumSize() const-
368{-
369 QSize result(0, 0);-
370-
371-
372 result = dockAreaLayout.minimumSize();-
373-
374-
375-
376-
377-
378-
379 result = toolBarAreaLayout.minimumSize(result);-
380-
381-
382 return
never executed: return result;
result;
never executed: return result;
0
383}-
384-
385void QMainWindowLayoutState::apply(bool animated)-
386{-
387-
388 toolBarAreaLayout.apply(animated);-
389-
390-
391-
392-
393 dockAreaLayout.apply(animated);-
394-
395-
396-
397-
398-
399-
400-
401}
never executed: end of block
0
402-
403void QMainWindowLayoutState::fitLayout()-
404{-
405 QRect r;-
406-
407-
408-
409 toolBarAreaLayout.rect = rect;-
410 r = toolBarAreaLayout.fitLayout();-
411-
412-
413-
414 dockAreaLayout.rect = r;-
415 dockAreaLayout.fitLayout();-
416-
417-
418-
419}
never executed: end of block
0
420-
421void QMainWindowLayoutState::deleteAllLayoutItems()-
422{-
423-
424 toolBarAreaLayout.deleteAllLayoutItems();-
425-
426-
427-
428 dockAreaLayout.deleteAllLayoutItems();-
429-
430}
never executed: end of block
0
431-
432void QMainWindowLayoutState::deleteCentralWidgetItem()-
433{-
434-
435 delete dockAreaLayout.centralWidgetItem;-
436 dockAreaLayout.centralWidgetItem = 0;-
437-
438-
439-
440-
441}
never executed: end of block
0
442-
443QLayoutItem *QMainWindowLayoutState::itemAt(int index, int *x) const-
444{-
445-
446 if (QLayoutItem *ret = toolBarAreaLayout.itemAt(x, index)
QLayoutItem *r...emAt(x, index)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
447 return
never executed: return ret;
ret;
never executed: return ret;
0
448-
449-
450-
451 if (QLayoutItem *ret = dockAreaLayout.itemAt(x, index)
QLayoutItem *r...emAt(x, index)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
452 return
never executed: return ret;
ret;
never executed: return ret;
0
453-
454-
455-
456-
457-
458 return
never executed: return 0;
0;
never executed: return 0;
0
459}-
460-
461QLayoutItem *QMainWindowLayoutState::takeAt(int index, int *x)-
462{-
463-
464 if (QLayoutItem *ret = toolBarAreaLayout.takeAt(x, index)
QLayoutItem *r...keAt(x, index)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
465 return
never executed: return ret;
ret;
never executed: return ret;
0
466-
467-
468-
469 if (QLayoutItem *ret = dockAreaLayout.takeAt(x, index)
QLayoutItem *r...keAt(x, index)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
470 return
never executed: return ret;
ret;
never executed: return ret;
0
471 return
never executed: return 0;
0;
never executed: return 0;
0
472}-
473-
474QList<int> QMainWindowLayoutState::indexOf(QWidget *widget) const-
475{-
476 QList<int> result;-
477-
478-
479-
480 if (QToolBar *toolBar = qobject_cast<QToolBar*>(widget)
QToolBar *tool...lBar*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
481 result = toolBarAreaLayout.indexOf(toolBar);-
482 if (!result.isEmpty()
!result.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
483 result.prepend(0);
never executed: result.prepend(0);
0
484 return
never executed: return result;
result;
never executed: return result;
0
485 }-
486-
487-
488-
489-
490 if (qobject_cast<QDockWidget *>(widget)
qobject_cast<Q...get *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
|| qobject_cast<QDockWidgetGroupWindow *>(widget)
qobject_cast<Q...dow *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
491 result = dockAreaLayout.indexOf(widget);-
492 if (!result.isEmpty()
!result.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
493 result.prepend(1);
never executed: result.prepend(1);
0
494 return
never executed: return result;
result;
never executed: return result;
0
495 }-
496-
497-
498 return
never executed: return result;
result;
never executed: return result;
0
499}-
500-
501bool QMainWindowLayoutState::contains(QWidget *widget) const-
502{-
503-
504 if (dockAreaLayout.centralWidgetItem != 0
dockAreaLayout...idgetItem != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& dockAreaLayout.centralWidgetItem->widget() == widget
dockAreaLayout...et() == widgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
505 return
never executed: return true;
true;
never executed: return true;
0
506 if (!dockAreaLayout.indexOf(widget).isEmpty()
!dockAreaLayou...get).isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
507 return
never executed: return true;
true;
never executed: return true;
0
508-
509-
510-
511-
512-
513-
514 if (!toolBarAreaLayout.indexOf(widget).isEmpty()
!toolBarAreaLa...get).isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
515 return
never executed: return true;
true;
never executed: return true;
0
516-
517 return
never executed: return false;
false;
never executed: return false;
0
518}-
519-
520void QMainWindowLayoutState::setCentralWidget(QWidget *widget)-
521{-
522 QLayoutItem *item = 0;-
523-
524 deleteCentralWidgetItem();-
525-
526 if (widget != 0
widget != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
527 item = new QWidgetItemV2(widget);
never executed: item = new QWidgetItemV2(widget);
0
528-
529-
530 dockAreaLayout.centralWidgetItem = item;-
531-
532-
533-
534}
never executed: end of block
0
535-
536QWidget *QMainWindowLayoutState::centralWidget() const-
537{-
538 QLayoutItem *item = 0;-
539-
540-
541 item = dockAreaLayout.centralWidgetItem;-
542-
543-
544-
545-
546 if (item != 0
item != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
547 return
never executed: return item->widget();
item->widget();
never executed: return item->widget();
0
548 return
never executed: return 0;
0;
never executed: return 0;
0
549}-
550-
551QList<int> QMainWindowLayoutState::gapIndex(QWidget *widget,-
552 const QPoint &pos) const-
553{-
554 QList<int> result;-
555-
556-
557-
558 if (qobject_cast<QToolBar*>(widget) != 0
qobject_cast<Q...>(widget) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
559 result = toolBarAreaLayout.gapIndex(pos);-
560 if (!result.isEmpty()
!result.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
561 result.prepend(0);
never executed: result.prepend(0);
0
562 return
never executed: return result;
result;
never executed: return result;
0
563 }-
564-
565-
566-
567-
568 if (qobject_cast<QDockWidget *>(widget) != 0
qobject_cast<Q...>(widget) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
569 || qobject_cast<QDockWidgetGroupWindow *>(widget)
qobject_cast<Q...dow *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
570 result = dockAreaLayout.gapIndex(pos);-
571 if (!result.isEmpty()
!result.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
572 result.prepend(1);
never executed: result.prepend(1);
0
573 return
never executed: return result;
result;
never executed: return result;
0
574 }-
575-
576-
577 return
never executed: return result;
result;
never executed: return result;
0
578}-
579-
580bool QMainWindowLayoutState::insertGap(const QList<int> &path, QLayoutItem *item)-
581{-
582 if (path.isEmpty()
path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
583 return
never executed: return false;
false;
never executed: return false;
0
584-
585 int i = path.first();-
586-
587-
588 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
589 ((!(qobject_cast<QToolBar*>(item->widget()) != 0)) ? qt_assert("qobject_cast<QToolBar*>(item->widget()) != 0",__FILE__,672) : qt_noop());-
590 return
never executed: return toolBarAreaLayout.insertGap(path.mid(1), item);
toolBarAreaLayout.insertGap(path.mid(1), item);
never executed: return toolBarAreaLayout.insertGap(path.mid(1), item);
0
591 }-
592-
593-
594-
595 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
596 ((!(qobject_cast<QDockWidget*>(item->widget()) || qobject_cast<QDockWidgetGroupWindow*>(item->widget()))) ? qt_assert("qobject_cast<QDockWidget*>(item->widget()) || qobject_cast<QDockWidgetGroupWindow*>(item->widget())",__FILE__,679) : qt_noop());-
597 return
never executed: return dockAreaLayout.insertGap(path.mid(1), item);
dockAreaLayout.insertGap(path.mid(1), item);
never executed: return dockAreaLayout.insertGap(path.mid(1), item);
0
598 }-
599-
600-
601 return
never executed: return false;
false;
never executed: return false;
0
602}-
603-
604void QMainWindowLayoutState::remove(const QList<int> &path)-
605{-
606 int i = path.first();-
607-
608-
609 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
610 toolBarAreaLayout.remove(path.mid(1));
never executed: toolBarAreaLayout.remove(path.mid(1));
0
611-
612-
613-
614 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
615 dockAreaLayout.remove(path.mid(1));
never executed: dockAreaLayout.remove(path.mid(1));
0
616-
617}
never executed: end of block
0
618-
619void QMainWindowLayoutState::remove(QLayoutItem *item)-
620{-
621-
622 toolBarAreaLayout.remove(item);-
623-
624-
625-
626-
627 if (QDockWidget *dockWidget = qobject_cast<QDockWidget *>(item->widget())
QDockWidget *d...tem->widget())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
628 QList<int> path = dockAreaLayout.indexOf(dockWidget);-
629 if (!path.isEmpty()
!path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
630 dockAreaLayout.remove(path);
never executed: dockAreaLayout.remove(path);
0
631 }
never executed: end of block
0
632-
633}
never executed: end of block
0
634-
635void QMainWindowLayoutState::clear()-
636{-
637-
638 toolBarAreaLayout.clear();-
639-
640-
641-
642 dockAreaLayout.clear();-
643-
644-
645-
646-
647 rect = QRect();-
648}
never executed: end of block
0
649-
650bool QMainWindowLayoutState::isValid() const-
651{-
652 return
never executed: return rect.isValid();
rect.isValid();
never executed: return rect.isValid();
0
653}-
654-
655QLayoutItem *QMainWindowLayoutState::item(const QList<int> &path)-
656{-
657 int i = path.first();-
658-
659-
660 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
661 const QToolBarAreaLayoutItem *tbItem = toolBarAreaLayout.item(path.mid(1));-
662 ((!(tbItem)) ? qt_assert("tbItem",__FILE__,745) : qt_noop());-
663 return
never executed: return tbItem->widgetItem;
tbItem->widgetItem;
never executed: return tbItem->widgetItem;
0
664 }-
665-
666-
667-
668 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
669 return
never executed: return dockAreaLayout.item(path.mid(1)).widgetItem;
dockAreaLayout.item(path.mid(1)).widgetItem;
never executed: return dockAreaLayout.item(path.mid(1)).widgetItem;
0
670-
671-
672 return
never executed: return 0;
0;
never executed: return 0;
0
673}-
674-
675QRect QMainWindowLayoutState::itemRect(const QList<int> &path) const-
676{-
677 int i = path.first();-
678-
679-
680 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
681 return
never executed: return toolBarAreaLayout.itemRect(path.mid(1));
toolBarAreaLayout.itemRect(path.mid(1));
never executed: return toolBarAreaLayout.itemRect(path.mid(1));
0
682-
683-
684-
685 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
686 return
never executed: return dockAreaLayout.itemRect(path.mid(1));
dockAreaLayout.itemRect(path.mid(1));
never executed: return dockAreaLayout.itemRect(path.mid(1));
0
687-
688-
689 return
never executed: return QRect();
QRect();
never executed: return QRect();
0
690}-
691-
692QRect QMainWindowLayoutState::gapRect(const QList<int> &path) const-
693{-
694 int i = path.first();-
695-
696-
697 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
698 return
never executed: return toolBarAreaLayout.itemRect(path.mid(1));
toolBarAreaLayout.itemRect(path.mid(1));
never executed: return toolBarAreaLayout.itemRect(path.mid(1));
0
699-
700-
701-
702 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
703 return
never executed: return dockAreaLayout.gapRect(path.mid(1));
dockAreaLayout.gapRect(path.mid(1));
never executed: return dockAreaLayout.gapRect(path.mid(1));
0
704-
705-
706 return
never executed: return QRect();
QRect();
never executed: return QRect();
0
707}-
708-
709QLayoutItem *QMainWindowLayoutState::plug(const QList<int> &path)-
710{-
711 int i = path.first();-
712-
713-
714 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
715 return
never executed: return toolBarAreaLayout.plug(path.mid(1));
toolBarAreaLayout.plug(path.mid(1));
never executed: return toolBarAreaLayout.plug(path.mid(1));
0
716-
717-
718-
719 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
720 return
never executed: return dockAreaLayout.plug(path.mid(1));
dockAreaLayout.plug(path.mid(1));
never executed: return dockAreaLayout.plug(path.mid(1));
0
721-
722-
723 return
never executed: return 0;
0;
never executed: return 0;
0
724}-
725-
726QLayoutItem *QMainWindowLayoutState::unplug(const QList<int> &path, QMainWindowLayoutState *other)-
727{-
728 int i = path.first();-
729-
730-
731-
732-
733 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
734 return
never executed: return toolBarAreaLayout.unplug(path.mid(1), other ? &other->toolBarAreaLayout : 0);
toolBarAreaLayout.unplug(path.mid(1), other ? &other->toolBarAreaLayout : 0);
never executed: return toolBarAreaLayout.unplug(path.mid(1), other ? &other->toolBarAreaLayout : 0);
0
735-
736-
737-
738 if (i == 1
i == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
739 return
never executed: return dockAreaLayout.unplug(path.mid(1));
dockAreaLayout.unplug(path.mid(1));
never executed: return dockAreaLayout.unplug(path.mid(1));
0
740-
741-
742 return
never executed: return 0;
0;
never executed: return 0;
0
743}-
744-
745void QMainWindowLayoutState::saveState(QDataStream &stream) const-
746{-
747-
748 dockAreaLayout.saveState(stream);-
749-
750 QList<QDockWidgetGroupWindow *> floatingTabs =-
751 mainWindow->findChildren<QDockWidgetGroupWindow *>(QString(), Qt::FindDirectChildrenOnly);-
752-
753 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(floatingTabs)>::type> _container_((floatingTabs)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *floating = *_container_.i; _container_.control; _container_.control = 0) {-
754 if (floating->layoutInfo()->isEmpty()
floating->layo...o()->isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
755 continue;
never executed: continue;
0
756 stream << uchar(QDockAreaLayout::FloatingDockWidgetTabMarker) << floating->geometry();-
757 floating->layoutInfo()->saveState(stream);-
758 }
never executed: end of block
0
759-
760-
761-
762 toolBarAreaLayout.saveState(stream);-
763-
764}
never executed: end of block
0
765-
766template <typename T>-
767static QList<T> findChildrenHelper(const QObject *o)-
768{-
769 const QObjectList &list = o->children();-
770 QList<T> result;-
771-
772 for (int i=0; i < list.size()
i < list.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
773 if (T t = qobject_cast<T>(list[i])
T t = qobject_cast<T>(list[i])Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
774 result.append(t);-
775 }
never executed: end of block
0
776 }
never executed: end of block
0
777-
778 return
never executed: return result;
result;
never executed: return result;
0
779}-
780-
781-
782bool QMainWindowLayoutState::checkFormat(QDataStream &stream)-
783{-
784 while (!stream.atEnd()
!stream.atEnd()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
785 uchar marker;-
786 stream >> marker;-
787 switch(marker)-
788 {-
789-
790 case
never executed: case QToolBarAreaLayout::ToolBarStateMarker:
QToolBarAreaLayout::ToolBarStateMarker:
never executed: case QToolBarAreaLayout::ToolBarStateMarker:
0
791 case
never executed: case QToolBarAreaLayout::ToolBarStateMarkerEx:
QToolBarAreaLayout::ToolBarStateMarkerEx:
never executed: case QToolBarAreaLayout::ToolBarStateMarkerEx:
0
792 {-
793 QList<QToolBar *> toolBars = findChildrenHelper<QToolBar*>(mainWindow);-
794 if (!toolBarAreaLayout.restoreState(stream, toolBars, marker, true )
!toolBarAreaLa...marker, true )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
795 return
never executed: return false;
false;
never executed: return false;
0
796 }-
797 }-
798 break;
never executed: break;
0
799-
800-
801-
802 case
never executed: case QDockAreaLayout::DockWidgetStateMarker:
QDockAreaLayout::DockWidgetStateMarker:
never executed: case QDockAreaLayout::DockWidgetStateMarker:
0
803 {-
804 QList<QDockWidget *> dockWidgets = findChildrenHelper<QDockWidget*>(mainWindow);-
805 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))>::type> _container_((findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *floating = *_container_.i; _container_.control; _container_.control = 0)-
806 dockWidgets += findChildrenHelper<QDockWidget*>(floating);
never executed: dockWidgets += findChildrenHelper<QDockWidget*>(floating);
0
807 if (!dockAreaLayout.restoreState(stream, dockWidgets, true )
!dockAreaLayou...idgets, true )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
808 return
never executed: return false;
false;
never executed: return false;
0
809 }-
810 }-
811 break;
never executed: break;
0
812-
813 case
never executed: case QDockAreaLayout::FloatingDockWidgetTabMarker:
QDockAreaLayout::FloatingDockWidgetTabMarker:
never executed: case QDockAreaLayout::FloatingDockWidgetTabMarker:
0
814 {-
815 QRect geom;-
816 stream >> geom;-
817 QDockAreaLayoutInfo info;-
818 QList<QDockWidget *> dockWidgets = findChildrenHelper<QDockWidget*>(mainWindow);-
819 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))>::type> _container_((findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *floating = *_container_.i; _container_.control; _container_.control = 0)-
820 dockWidgets += findChildrenHelper<QDockWidget*>(floating);
never executed: dockWidgets += findChildrenHelper<QDockWidget*>(floating);
0
821 if (!info.restoreState(stream, dockWidgets, true )
!info.restoreS...idgets, true )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
822 return
never executed: return false;
false;
never executed: return false;
0
823 }-
824 break;
never executed: break;
0
825-
826-
827 default
never executed: default:
:
never executed: default:
0
828-
829 return
never executed: return false;
false;
never executed: return false;
0
830 }-
831 }-
832-
833-
834 return
never executed: return true;
true;
never executed: return true;
0
835}-
836-
837bool QMainWindowLayoutState::restoreState(QDataStream &_stream,-
838 const QMainWindowLayoutState &oldState)-
839{-
840-
841 QByteArray copy;-
842 while(!_stream.atEnd()
!_stream.atEnd()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
843 int length = 1024;-
844 QByteArray ba(length, '\0');-
845 length = _stream.readRawData(ba.data(), ba.size());-
846 ba.resize(length);-
847 copy += ba;-
848 }
never executed: end of block
0
849-
850 QDataStream ds(copy);-
851 if (!checkFormat(ds)
!checkFormat(ds)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
852 return
never executed: return false;
false;
never executed: return false;
0
853-
854 QDataStream stream(copy);-
855-
856 while (!stream.atEnd()
!stream.atEnd()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
857 uchar marker;-
858 stream >> marker;-
859 switch(marker)-
860 {-
861-
862 case
never executed: case QDockAreaLayout::DockWidgetStateMarker:
QDockAreaLayout::DockWidgetStateMarker:
never executed: case QDockAreaLayout::DockWidgetStateMarker:
0
863 {-
864 QList<QDockWidget *> dockWidgets = findChildrenHelper<QDockWidget*>(mainWindow);-
865 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))>::type> _container_((findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *floating = *_container_.i; _container_.control; _container_.control = 0)-
866 dockWidgets += findChildrenHelper<QDockWidget*>(floating);
never executed: dockWidgets += findChildrenHelper<QDockWidget*>(floating);
0
867 if (!dockAreaLayout.restoreState(stream, dockWidgets)
!dockAreaLayou..., dockWidgets)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
868 return
never executed: return false;
false;
never executed: return false;
0
869-
870 for (int i = 0; i < dockWidgets.size()
i < dockWidgets.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
871 QDockWidget *w = dockWidgets.at(i);-
872 QList<int> path = dockAreaLayout.indexOf(w);-
873 if (path.isEmpty()
path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
874 QList<int> oldPath = oldState.dockAreaLayout.indexOf(w);-
875 if (oldPath.isEmpty()
oldPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
876 continue;
never executed: continue;
0
877 }-
878 QDockAreaLayoutInfo *info = dockAreaLayout.info(oldPath);-
879 if (info == 0
info == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
880 continue;
never executed: continue;
0
881 }-
882 info->item_list.append(QDockAreaLayoutItem(new QDockWidgetItem(w)));-
883 }
never executed: end of block
0
884 }
never executed: end of block
0
885 }-
886 break;
never executed: break;
0
887-
888 case
never executed: case QDockAreaLayout::FloatingDockWidgetTabMarker:
QDockAreaLayout::FloatingDockWidgetTabMarker:
never executed: case QDockAreaLayout::FloatingDockWidgetTabMarker:
0
889 {-
890 QList<QDockWidget *> dockWidgets = findChildrenHelper<QDockWidget*>(mainWindow);-
891 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))>::type> _container_((findChildrenHelper<QDockWidgetGroupWindow*>(mainWindow))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *floating = *_container_.i; _container_.control; _container_.control = 0)-
892 dockWidgets += findChildrenHelper<QDockWidget*>(floating);
never executed: dockWidgets += findChildrenHelper<QDockWidget*>(floating);
0
893 QDockWidgetGroupWindow* floatingTab = qt_mainwindow_layout(mainWindow)->createTabbedDockWindow();-
894 *floatingTab->layoutInfo() = QDockAreaLayoutInfo(&dockAreaLayout.sep, QInternal::LeftDock,-
895 Qt::Horizontal, QTabBar::RoundedSouth, mainWindow);-
896 QRect geometry;-
897 stream >> geometry;-
898 if (!floatingTab->layoutInfo()->restoreState(stream, dockWidgets, false)
!floatingTab->...idgets, false)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
899 return
never executed: return false;
false;
never executed: return false;
0
900 geometry = QDockAreaLayout::constrainedRect(geometry, floatingTab);-
901 floatingTab->move(geometry.topLeft());-
902 floatingTab->resize(geometry.size());-
903 floatingTab->show();-
904 }-
905 break;
never executed: break;
0
906-
907-
908-
909-
910 case
never executed: case QToolBarAreaLayout::ToolBarStateMarker:
QToolBarAreaLayout::ToolBarStateMarker:
never executed: case QToolBarAreaLayout::ToolBarStateMarker:
0
911 case
never executed: case QToolBarAreaLayout::ToolBarStateMarkerEx:
QToolBarAreaLayout::ToolBarStateMarkerEx:
never executed: case QToolBarAreaLayout::ToolBarStateMarkerEx:
0
912 {-
913 QList<QToolBar *> toolBars = findChildrenHelper<QToolBar*>(mainWindow);-
914 if (!toolBarAreaLayout.restoreState(stream, toolBars, marker)
!toolBarAreaLa...lBars, marker)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
915 return
never executed: return false;
false;
never executed: return false;
0
916-
917 for (int i = 0; i < toolBars.size()
i < toolBars.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
918 QToolBar *w = toolBars.at(i);-
919 QList<int> path = toolBarAreaLayout.indexOf(w);-
920 if (path.isEmpty()
path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
921 QList<int> oldPath = oldState.toolBarAreaLayout.indexOf(w);-
922 if (oldPath.isEmpty()
oldPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
923 continue;
never executed: continue;
0
924 }-
925 toolBarAreaLayout.docks[oldPath.at(0)].insertToolBar(0, w);-
926 }
never executed: end of block
0
927 }
never executed: end of block
0
928 }-
929 break;
never executed: break;
0
930-
931 default
never executed: default:
:
never executed: default:
0
932 return
never executed: return false;
false;
never executed: return false;
0
933 }-
934 }-
935-
936-
937 return
never executed: return true;
true;
never executed: return true;
0
938}-
939-
940-
941-
942-
943-
944-
945-
946static inline void validateToolBarArea(Qt::ToolBarArea &area)-
947{-
948 switch (area) {-
949 case
never executed: case Qt::LeftToolBarArea:
Qt::LeftToolBarArea:
never executed: case Qt::LeftToolBarArea:
0
950 case
never executed: case Qt::RightToolBarArea:
Qt::RightToolBarArea:
never executed: case Qt::RightToolBarArea:
0
951 case
never executed: case Qt::TopToolBarArea:
Qt::TopToolBarArea:
never executed: case Qt::TopToolBarArea:
0
952 case
never executed: case Qt::BottomToolBarArea:
Qt::BottomToolBarArea:
never executed: case Qt::BottomToolBarArea:
0
953 break;
never executed: break;
0
954 default
never executed: default:
:
never executed: default:
0
955 area = Qt::TopToolBarArea;-
956 }
never executed: end of block
0
957}-
958-
959static QInternal::DockPosition toDockPos(Qt::ToolBarArea area)-
960{-
961 switch (area) {-
962 case
never executed: case Qt::LeftToolBarArea:
Qt::LeftToolBarArea:
never executed: case Qt::LeftToolBarArea:
return
never executed: return QInternal::LeftDock;
QInternal::LeftDock;
never executed: return QInternal::LeftDock;
0
963 case
never executed: case Qt::RightToolBarArea:
Qt::RightToolBarArea:
never executed: case Qt::RightToolBarArea:
return
never executed: return QInternal::RightDock;
QInternal::RightDock;
never executed: return QInternal::RightDock;
0
964 case
never executed: case Qt::TopToolBarArea:
Qt::TopToolBarArea:
never executed: case Qt::TopToolBarArea:
return
never executed: return QInternal::TopDock;
QInternal::TopDock;
never executed: return QInternal::TopDock;
0
965 case
never executed: case Qt::BottomToolBarArea:
Qt::BottomToolBarArea:
never executed: case Qt::BottomToolBarArea:
return
never executed: return QInternal::BottomDock;
QInternal::BottomDock;
never executed: return QInternal::BottomDock;
0
966 default
never executed: default:
:
never executed: default:
0
967 break;
never executed: break;
0
968 }-
969-
970 return
never executed: return QInternal::DockCount;
QInternal::DockCount;
never executed: return QInternal::DockCount;
0
971}-
972-
973static Qt::ToolBarArea toToolBarArea(QInternal::DockPosition pos)-
974{-
975 switch (pos) {-
976 case
never executed: case QInternal::LeftDock:
QInternal::LeftDock:
never executed: case QInternal::LeftDock:
return
never executed: return Qt::LeftToolBarArea;
Qt::LeftToolBarArea;
never executed: return Qt::LeftToolBarArea;
0
977 case
never executed: case QInternal::RightDock:
QInternal::RightDock:
never executed: case QInternal::RightDock:
return
never executed: return Qt::RightToolBarArea;
Qt::RightToolBarArea;
never executed: return Qt::RightToolBarArea;
0
978 case
never executed: case QInternal::TopDock:
QInternal::TopDock:
never executed: case QInternal::TopDock:
return
never executed: return Qt::TopToolBarArea;
Qt::TopToolBarArea;
never executed: return Qt::TopToolBarArea;
0
979 case
never executed: case QInternal::BottomDock:
QInternal::BottomDock:
never executed: case QInternal::BottomDock:
return
never executed: return Qt::BottomToolBarArea;
Qt::BottomToolBarArea;
never executed: return Qt::BottomToolBarArea;
0
980 default
never executed: default:
:
never executed: default:
break;
never executed: break;
0
981 }-
982 return
never executed: return Qt::NoToolBarArea;
Qt::NoToolBarArea;
never executed: return Qt::NoToolBarArea;
0
983}-
984-
985static inline Qt::ToolBarArea toToolBarArea(int pos)-
986{-
987 return
never executed: return toToolBarArea(static_cast<QInternal::DockPosition>(pos));
toToolBarArea(static_cast<QInternal::DockPosition>(pos));
never executed: return toToolBarArea(static_cast<QInternal::DockPosition>(pos));
0
988}-
989-
990void QMainWindowLayout::addToolBarBreak(Qt::ToolBarArea area)-
991{-
992 validateToolBarArea(area);-
993-
994 layoutState.toolBarAreaLayout.addToolBarBreak(toDockPos(area));-
995 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
996 savedState.toolBarAreaLayout.addToolBarBreak(toDockPos(area));
never executed: savedState.toolBarAreaLayout.addToolBarBreak(toDockPos(area));
0
997-
998 invalidate();-
999}
never executed: end of block
0
1000-
1001void QMainWindowLayout::insertToolBarBreak(QToolBar *before)-
1002{-
1003 layoutState.toolBarAreaLayout.insertToolBarBreak(before);-
1004 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1005 savedState.toolBarAreaLayout.insertToolBarBreak(before);
never executed: savedState.toolBarAreaLayout.insertToolBarBreak(before);
0
1006 invalidate();-
1007}
never executed: end of block
0
1008-
1009void QMainWindowLayout::removeToolBarBreak(QToolBar *before)-
1010{-
1011 layoutState.toolBarAreaLayout.removeToolBarBreak(before);-
1012 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1013 savedState.toolBarAreaLayout.removeToolBarBreak(before);
never executed: savedState.toolBarAreaLayout.removeToolBarBreak(before);
0
1014 invalidate();-
1015}
never executed: end of block
0
1016-
1017void QMainWindowLayout::moveToolBar(QToolBar *toolbar, int pos)-
1018{-
1019 layoutState.toolBarAreaLayout.moveToolBar(toolbar, pos);-
1020 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1021 savedState.toolBarAreaLayout.moveToolBar(toolbar, pos);
never executed: savedState.toolBarAreaLayout.moveToolBar(toolbar, pos);
0
1022 invalidate();-
1023}
never executed: end of block
0
1024-
1025-
1026-
1027void QMainWindowLayout::removeToolBar(QToolBar *toolbar)-
1028{-
1029 if (toolbar
toolbarDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1030 QObject::disconnect(parentWidget(), qFlagLocation("2""iconSizeChanged(QSize)" "\0" __FILE__ ":" "1113"),-
1031 toolbar, qFlagLocation("1""_q_updateIconSize(QSize)" "\0" __FILE__ ":" "1114"));-
1032 QObject::disconnect(parentWidget(), qFlagLocation("2""toolButtonStyleChanged(Qt::ToolButtonStyle)" "\0" __FILE__ ":" "1115"),-
1033 toolbar, qFlagLocation("1""_q_updateToolButtonStyle(Qt::ToolButtonStyle)" "\0" __FILE__ ":" "1116"));-
1034-
1035-
1036-
1037-
1038-
1039-
1040 {-
1041 removeWidget(toolbar);-
1042 }-
1043 }
never executed: end of block
0
1044}
never executed: end of block
0
1045-
1046-
1047-
1048-
1049void QMainWindowLayout::addToolBar(Qt::ToolBarArea area,-
1050 QToolBar *toolbar,-
1051 bool)-
1052{-
1053 validateToolBarArea(area);-
1054-
1055-
1056-
1057-
1058-
1059-
1060 {-
1061-
1062 addChildWidget(toolbar);-
1063 QLayoutItem * item = layoutState.toolBarAreaLayout.addToolBar(toDockPos(area), toolbar);-
1064 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
&& item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1065-
1066 savedState.toolBarAreaLayout.insertItem(toDockPos(area), item);-
1067 }
never executed: end of block
0
1068 invalidate();-
1069-
1070-
1071 toolbar->d_func()->updateWindowFlags(false );-
1072 }-
1073}
never executed: end of block
0
1074-
1075-
1076-
1077-
1078void QMainWindowLayout::insertToolBar(QToolBar *before, QToolBar *toolbar)-
1079{-
1080-
1081-
1082-
1083-
1084-
1085 {-
1086 addChildWidget(toolbar);-
1087 QLayoutItem * item = layoutState.toolBarAreaLayout.insertToolBar(before, toolbar);-
1088 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
&& item
itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1089-
1090 savedState.toolBarAreaLayout.insertItem(before, item);-
1091 }
never executed: end of block
0
1092 if (!currentGapPos.isEmpty()
!currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& currentGapPos.first() == 0
currentGapPos.first() == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1093 currentGapPos = layoutState.toolBarAreaLayout.currentGapIndex();-
1094 if (!currentGapPos.isEmpty()
!currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1095 currentGapPos.prepend(0);-
1096 currentGapRect = layoutState.itemRect(currentGapPos);-
1097 }
never executed: end of block
0
1098 }
never executed: end of block
0
1099 invalidate();-
1100 }-
1101}
never executed: end of block
0
1102-
1103Qt::ToolBarArea QMainWindowLayout::toolBarArea(QToolBar *toolbar) const-
1104{-
1105 QInternal::DockPosition pos = layoutState.toolBarAreaLayout.findToolBar(toolbar);-
1106 switch (pos) {-
1107 case
never executed: case QInternal::LeftDock:
QInternal::LeftDock:
never executed: case QInternal::LeftDock:
return
never executed: return Qt::LeftToolBarArea;
Qt::LeftToolBarArea;
never executed: return Qt::LeftToolBarArea;
0
1108 case
never executed: case QInternal::RightDock:
QInternal::RightDock:
never executed: case QInternal::RightDock:
return
never executed: return Qt::RightToolBarArea;
Qt::RightToolBarArea;
never executed: return Qt::RightToolBarArea;
0
1109 case
never executed: case QInternal::TopDock:
QInternal::TopDock:
never executed: case QInternal::TopDock:
return
never executed: return Qt::TopToolBarArea;
Qt::TopToolBarArea;
never executed: return Qt::TopToolBarArea;
0
1110 case
never executed: case QInternal::BottomDock:
QInternal::BottomDock:
never executed: case QInternal::BottomDock:
return
never executed: return Qt::BottomToolBarArea;
Qt::BottomToolBarArea;
never executed: return Qt::BottomToolBarArea;
0
1111 default
never executed: default:
:
never executed: default:
break;
never executed: break;
0
1112 }-
1113-
1114-
1115-
1116-
1117-
1118-
1119 return
never executed: return Qt::NoToolBarArea;
Qt::NoToolBarArea;
never executed: return Qt::NoToolBarArea;
0
1120}-
1121-
1122bool QMainWindowLayout::toolBarBreak(QToolBar *toolBar) const-
1123{-
1124 return
never executed: return layoutState.toolBarAreaLayout.toolBarBreak(toolBar);
layoutState.toolBarAreaLayout.toolBarBreak(toolBar);
never executed: return layoutState.toolBarAreaLayout.toolBarBreak(toolBar);
0
1125}-
1126-
1127void QMainWindowLayout::getStyleOptionInfo(QStyleOptionToolBar *option, QToolBar *toolBar) const-
1128{-
1129 option->toolBarArea = toolBarArea(toolBar);-
1130 layoutState.toolBarAreaLayout.getStyleOptionInfo(option, toolBar);-
1131}
never executed: end of block
0
1132-
1133void QMainWindowLayout::toggleToolBarsVisible()-
1134{-
1135 bool updateNonUnifiedParts = true;-
1136 if (updateNonUnifiedParts
updateNonUnifiedPartsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1137 layoutState.toolBarAreaLayout.visible = !layoutState.toolBarAreaLayout.visible;-
1138 if (!layoutState.mainWindow->isMaximized()
!layoutState.m...>isMaximized()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1139 QPoint topLeft = parentWidget()->geometry().topLeft();-
1140 QRect r = parentWidget()->geometry();-
1141 r = layoutState.toolBarAreaLayout.rectHint(r);-
1142 r.moveTo(topLeft);-
1143 parentWidget()->setGeometry(r);-
1144 }
never executed: end of block
else {
0
1145 update();-
1146 }
never executed: end of block
0
1147 }-
1148}
never executed: end of block
0
1149static QInternal::DockPosition toDockPos(Qt::DockWidgetArea area)-
1150{-
1151 switch (area) {-
1152 case
never executed: case Qt::LeftDockWidgetArea:
Qt::LeftDockWidgetArea:
never executed: case Qt::LeftDockWidgetArea:
return
never executed: return QInternal::LeftDock;
QInternal::LeftDock;
never executed: return QInternal::LeftDock;
0
1153 case
never executed: case Qt::RightDockWidgetArea:
Qt::RightDockWidgetArea:
never executed: case Qt::RightDockWidgetArea:
return
never executed: return QInternal::RightDock;
QInternal::RightDock;
never executed: return QInternal::RightDock;
0
1154 case
never executed: case Qt::TopDockWidgetArea:
Qt::TopDockWidgetArea:
never executed: case Qt::TopDockWidgetArea:
return
never executed: return QInternal::TopDock;
QInternal::TopDock;
never executed: return QInternal::TopDock;
0
1155 case
never executed: case Qt::BottomDockWidgetArea:
Qt::BottomDockWidgetArea:
never executed: case Qt::BottomDockWidgetArea:
return
never executed: return QInternal::BottomDock;
QInternal::BottomDock;
never executed: return QInternal::BottomDock;
0
1156 default
never executed: default:
:
never executed: default:
0
1157 break;
never executed: break;
0
1158 }-
1159-
1160 return
never executed: return QInternal::DockCount;
QInternal::DockCount;
never executed: return QInternal::DockCount;
0
1161}-
1162-
1163static Qt::DockWidgetArea toDockWidgetArea(QInternal::DockPosition pos)-
1164{-
1165 switch (pos) {-
1166 case
never executed: case QInternal::LeftDock :
QInternal::LeftDock :
never executed: case QInternal::LeftDock :
return
never executed: return Qt::LeftDockWidgetArea;
Qt::LeftDockWidgetArea;
never executed: return Qt::LeftDockWidgetArea;
0
1167 case
never executed: case QInternal::RightDock :
QInternal::RightDock :
never executed: case QInternal::RightDock :
return
never executed: return Qt::RightDockWidgetArea;
Qt::RightDockWidgetArea;
never executed: return Qt::RightDockWidgetArea;
0
1168 case
never executed: case QInternal::TopDock :
QInternal::TopDock :
never executed: case QInternal::TopDock :
return
never executed: return Qt::TopDockWidgetArea;
Qt::TopDockWidgetArea;
never executed: return Qt::TopDockWidgetArea;
0
1169 case
never executed: case QInternal::BottomDock :
QInternal::BottomDock :
never executed: case QInternal::BottomDock :
return
never executed: return Qt::BottomDockWidgetArea;
Qt::BottomDockWidgetArea;
never executed: return Qt::BottomDockWidgetArea;
0
1170 default
never executed: default:
:
never executed: default:
0
1171 break;
never executed: break;
0
1172 }-
1173-
1174 return
never executed: return Qt::NoDockWidgetArea;
Qt::NoDockWidgetArea;
never executed: return Qt::NoDockWidgetArea;
0
1175}-
1176-
1177inline static Qt::DockWidgetArea toDockWidgetArea(int pos)-
1178{-
1179 return
never executed: return toDockWidgetArea(static_cast<QInternal::DockPosition>(pos));
toDockWidgetArea(static_cast<QInternal::DockPosition>(pos));
never executed: return toDockWidgetArea(static_cast<QInternal::DockPosition>(pos));
0
1180}-
1181-
1182void QMainWindowLayout::setCorner(Qt::Corner corner, Qt::DockWidgetArea area)-
1183{-
1184 if (layoutState.dockAreaLayout.corners[corner] == area
layoutState.do...orner] == areaDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1185 return;
never executed: return;
0
1186 layoutState.dockAreaLayout.corners[corner] = area;-
1187 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1188 savedState.dockAreaLayout.corners[corner] = area;
never executed: savedState.dockAreaLayout.corners[corner] = area;
0
1189 invalidate();-
1190}
never executed: end of block
0
1191-
1192Qt::DockWidgetArea QMainWindowLayout::corner(Qt::Corner corner) const-
1193{-
1194 return
never executed: return layoutState.dockAreaLayout.corners[corner];
layoutState.dockAreaLayout.corners[corner];
never executed: return layoutState.dockAreaLayout.corners[corner];
0
1195}-
1196-
1197void QMainWindowLayout::addDockWidget(Qt::DockWidgetArea area,-
1198 QDockWidget *dockwidget,-
1199 Qt::Orientation orientation)-
1200{-
1201 addChildWidget(dockwidget);-
1202-
1203-
1204-
1205 if (!movingSeparator.isEmpty()
!movingSeparator.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1206 endSeparatorMove(movingSeparatorPos);
never executed: endSeparatorMove(movingSeparatorPos);
0
1207-
1208 layoutState.dockAreaLayout.addDockWidget(toDockPos(area), dockwidget, orientation);-
1209 dockwidget->dockLocationChanged(area);-
1210 invalidate();-
1211}
never executed: end of block
0
1212-
1213void QMainWindowLayout::tabifyDockWidget(QDockWidget *first, QDockWidget *second)-
1214{-
1215 addChildWidget(second);-
1216 layoutState.dockAreaLayout.tabifyDockWidget(first, second);-
1217 second->dockLocationChanged(dockWidgetArea(first));-
1218 invalidate();-
1219}
never executed: end of block
0
1220-
1221bool QMainWindowLayout::restoreDockWidget(QDockWidget *dockwidget)-
1222{-
1223 addChildWidget(dockwidget);-
1224 if (!layoutState.dockAreaLayout.restoreDockWidget(dockwidget)
!layoutState.d...et(dockwidget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1225 return
never executed: return false;
false;
never executed: return false;
0
1226 dockwidget->dockLocationChanged(dockWidgetArea(dockwidget));-
1227 invalidate();-
1228 return
never executed: return true;
true;
never executed: return true;
0
1229}-
1230-
1231-
1232bool QMainWindowLayout::documentMode() const-
1233{-
1234 return
never executed: return _documentMode;
_documentMode;
never executed: return _documentMode;
0
1235}-
1236-
1237void QMainWindowLayout::setDocumentMode(bool enabled)-
1238{-
1239 if (_documentMode == enabled
_documentMode == enabledDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1240 return;
never executed: return;
0
1241-
1242 _documentMode = enabled;-
1243-
1244-
1245 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(usedTabBars)>::type> _container_((usedTabBars)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *bar = *_container_.i; _container_.control; _container_.control = 0)-
1246 bar->setDocumentMode(_documentMode);
never executed: bar->setDocumentMode(_documentMode);
0
1247 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(unusedTabBars)>::type> _container_((unusedTabBars)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *bar = *_container_.i; _container_.control; _container_.control = 0)-
1248 bar->setDocumentMode(_documentMode);
never executed: bar->setDocumentMode(_documentMode);
0
1249}
never executed: end of block
0
1250-
1251-
1252void QMainWindowLayout::setVerticalTabsEnabled(bool enabled)-
1253{-
1254-
1255-
1256-
1257 if (verticalTabsEnabled == enabled
verticalTabsEnabled == enabledDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1258 return;
never executed: return;
0
1259-
1260 verticalTabsEnabled = enabled;-
1261-
1262 updateTabBarShapes();-
1263-
1264}
never executed: end of block
0
1265-
1266-
1267QTabWidget::TabShape QMainWindowLayout::tabShape() const-
1268{-
1269 return
never executed: return _tabShape;
_tabShape;
never executed: return _tabShape;
0
1270}-
1271-
1272void QMainWindowLayout::setTabShape(QTabWidget::TabShape tabShape)-
1273{-
1274 if (_tabShape == tabShape
_tabShape == tabShapeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1275 return;
never executed: return;
0
1276-
1277 _tabShape = tabShape;-
1278-
1279 updateTabBarShapes();-
1280}
never executed: end of block
0
1281-
1282QTabWidget::TabPosition QMainWindowLayout::tabPosition(Qt::DockWidgetArea area) const-
1283{-
1284 return
never executed: return tabPositions[toDockPos(area)];
tabPositions[toDockPos(area)];
never executed: return tabPositions[toDockPos(area)];
0
1285}-
1286-
1287void QMainWindowLayout::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)-
1288{-
1289 const Qt::DockWidgetArea dockWidgetAreas[] = {-
1290 Qt::TopDockWidgetArea,-
1291 Qt::LeftDockWidgetArea,-
1292 Qt::BottomDockWidgetArea,-
1293 Qt::RightDockWidgetArea-
1294 };-
1295 const QInternal::DockPosition dockPositions[] = {-
1296 QInternal::TopDock,-
1297 QInternal::LeftDock,-
1298 QInternal::BottomDock,-
1299 QInternal::RightDock-
1300 };-
1301-
1302 for (int i = 0; i < QInternal::DockCount
i < QInternal::DockCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1303 if (areas & dockWidgetAreas[i]
areas & dockWidgetAreas[i]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1304 tabPositions[dockPositions[i]] = tabPosition;
never executed: tabPositions[dockPositions[i]] = tabPosition;
0
1305-
1306 updateTabBarShapes();-
1307}
never executed: end of block
0
1308-
1309static inline QTabBar::Shape tabBarShapeFrom(QTabWidget::TabShape shape, QTabWidget::TabPosition position)-
1310{-
1311 const bool rounded = (shape == QTabWidget::Rounded);-
1312 if (position == QTabWidget::North
position == QTabWidget::NorthDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1313 return
never executed: return rounded ? QTabBar::RoundedNorth : QTabBar::TriangularNorth;
rounded
roundedDescription
TRUEnever evaluated
FALSEnever evaluated
? QTabBar::RoundedNorth : QTabBar::TriangularNorth;
never executed: return rounded ? QTabBar::RoundedNorth : QTabBar::TriangularNorth;
0
1314 if (position == QTabWidget::South
position == QTabWidget::SouthDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1315 return
never executed: return rounded ? QTabBar::RoundedSouth : QTabBar::TriangularSouth;
rounded
roundedDescription
TRUEnever evaluated
FALSEnever evaluated
? QTabBar::RoundedSouth : QTabBar::TriangularSouth;
never executed: return rounded ? QTabBar::RoundedSouth : QTabBar::TriangularSouth;
0
1316 if (position == QTabWidget::East
position == QTabWidget::EastDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1317 return
never executed: return rounded ? QTabBar::RoundedEast : QTabBar::TriangularEast;
rounded
roundedDescription
TRUEnever evaluated
FALSEnever evaluated
? QTabBar::RoundedEast : QTabBar::TriangularEast;
never executed: return rounded ? QTabBar::RoundedEast : QTabBar::TriangularEast;
0
1318 if (position == QTabWidget::West
position == QTabWidget::WestDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1319 return
never executed: return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest;
rounded
roundedDescription
TRUEnever evaluated
FALSEnever evaluated
? QTabBar::RoundedWest : QTabBar::TriangularWest;
never executed: return rounded ? QTabBar::RoundedWest : QTabBar::TriangularWest;
0
1320 return
never executed: return QTabBar::RoundedNorth;
QTabBar::RoundedNorth;
never executed: return QTabBar::RoundedNorth;
0
1321}-
1322-
1323-
1324-
1325void QMainWindowLayout::updateTabBarShapes()-
1326{-
1327-
1328 const QTabWidget::TabPosition vertical[] = {-
1329 QTabWidget::West,-
1330 QTabWidget::East,-
1331 QTabWidget::North,-
1332 QTabWidget::South-
1333 };-
1334 QDockAreaLayout &layout = layoutState.dockAreaLayout;-
1335-
1336 for (int i = 0; i < QInternal::DockCount
i < QInternal::DockCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1337-
1338 QTabWidget::TabPosition pos = verticalTabsEnabled
verticalTabsEnabledDescription
TRUEnever evaluated
FALSEnever evaluated
? vertical[i] : tabPositions[i];
0
1339 QTabBar::Shape shape = tabBarShapeFrom(_tabShape, pos);-
1340-
1341-
1342-
1343 layout.docks[i].setTabBarShape(shape);-
1344 }
never executed: end of block
0
1345}
never executed: end of block
0
1346-
1347-
1348void QMainWindowLayout::splitDockWidget(QDockWidget *after,-
1349 QDockWidget *dockwidget,-
1350 Qt::Orientation orientation)-
1351{-
1352 addChildWidget(dockwidget);-
1353 layoutState.dockAreaLayout.splitDockWidget(after, dockwidget, orientation);-
1354 dockwidget->dockLocationChanged(dockWidgetArea(after));-
1355 invalidate();-
1356}
never executed: end of block
0
1357-
1358Qt::DockWidgetArea QMainWindowLayout::dockWidgetArea(QWidget *widget) const-
1359{-
1360 QList<int> pathToWidget = layoutState.dockAreaLayout.indexOf(widget);-
1361 if (pathToWidget.isEmpty()
pathToWidget.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1362 return
never executed: return Qt::NoDockWidgetArea;
Qt::NoDockWidgetArea;
never executed: return Qt::NoDockWidgetArea;
0
1363 return
never executed: return toDockWidgetArea(pathToWidget.first());
toDockWidgetArea(pathToWidget.first());
never executed: return toDockWidgetArea(pathToWidget.first());
0
1364}-
1365-
1366void QMainWindowLayout::keepSize(QDockWidget *w)-
1367{-
1368 layoutState.dockAreaLayout.keepSize(w);-
1369}
never executed: end of block
0
1370-
1371-
1372-
1373-
1374class QMainWindowTabBar : public QTabBar-
1375{-
1376 QMainWindow *mainWindow;-
1377 QDockWidget *draggingDock;-
1378public:-
1379 QMainWindowTabBar(QMainWindow *parent);-
1380protected:-
1381 bool event(QEvent *e) override;-
1382 void mouseReleaseEvent(QMouseEvent*) override;-
1383 void mouseMoveEvent(QMouseEvent*) override;-
1384-
1385};-
1386-
1387QMainWindowTabBar::QMainWindowTabBar(QMainWindow *parent)-
1388 : QTabBar(parent), mainWindow(parent), draggingDock(0)-
1389{-
1390 setExpanding(false);-
1391}
never executed: end of block
0
1392-
1393void QMainWindowTabBar::mouseMoveEvent(QMouseEvent *e)-
1394{-
1395-
1396-
1397-
1398-
1399-
1400 QTabBarPrivate *d = static_cast<QTabBarPrivate*>(d_ptr.data());-
1401 if (!draggingDock
!draggingDockDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(mainWindow->d...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
mainWindow->dockOptions() & QMainWindow::GroupedDragging)
(mainWindow->d...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1402 int offset = QApplication::startDragDistance() + 1;-
1403 offset *= 3;-
1404 QRect r = rect().adjusted(-offset, -offset, offset, offset);-
1405 if (d->dragInProgress
d->dragInProgressDescription
TRUEnever evaluated
FALSEnever evaluated
&& !r.contains(e->pos())
!r.contains(e->pos())Description
TRUEnever evaluated
FALSEnever evaluated
&& d->validIndex(d->pressedIndex)
d->validIndex(d->pressedIndex)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1406 QMainWindowLayout* mlayout = qt_mainwindow_layout(mainWindow);-
1407 QDockAreaLayoutInfo *info = mlayout->dockInfo(this);-
1408 ((!(info)) ? qt_assert("info",__FILE__,1561) : qt_noop());-
1409 int idx = info->tabIndexToListIndex(d->pressedIndex);-
1410 const QDockAreaLayoutItem &item = info->item_list.at(idx);-
1411 if (item.widgetItem
item.widgetItemDescription
TRUEnever evaluated
FALSEnever evaluated
0
1412 && (
(draggingDock ...em->widget()))Description
TRUEnever evaluated
FALSEnever evaluated
draggingDock = qobject_cast<QDockWidget *>(item.widgetItem->widget()))
(draggingDock ...em->widget()))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1413-
1414-
1415 d->moveTabFinished(d->pressedIndex);-
1416 d->pressedIndex = -1;-
1417 if (d->movingTab
d->movingTabDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1418 d->movingTab->setVisible(false);
never executed: d->movingTab->setVisible(false);
0
1419 d->dragStartPosition = QPoint();-
1420-
1421-
1422 QDockWidgetPrivate *dockPriv = static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(draggingDock));-
1423 QDockWidgetLayout *dwlayout = static_cast<QDockWidgetLayout *>(draggingDock->layout());-
1424 dockPriv->initDrag(dwlayout->titleArea().center(), true);-
1425 dockPriv->startDrag(false);-
1426 if (dockPriv->state
dockPriv->stateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1427 dockPriv->state->ctrlDrag = e->modifiers() & Qt::ControlModifier;
never executed: dockPriv->state->ctrlDrag = e->modifiers() & Qt::ControlModifier;
0
1428 }
never executed: end of block
0
1429 }
never executed: end of block
0
1430 }
never executed: end of block
0
1431-
1432 if (draggingDock
draggingDockDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1433 QDockWidgetPrivate *dockPriv = static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(draggingDock));-
1434 if (dockPriv->state
dockPriv->stateDescription
TRUEnever evaluated
FALSEnever evaluated
&& dockPriv->state->dragging
dockPriv->state->draggingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1435 QPoint pos = e->globalPos() - dockPriv->state->pressPos;-
1436 draggingDock->move(pos);-
1437-
1438 }
never executed: end of block
0
1439 }
never executed: end of block
0
1440 QTabBar::mouseMoveEvent(e);-
1441}
never executed: end of block
0
1442-
1443void QMainWindowTabBar::mouseReleaseEvent(QMouseEvent *e)-
1444{-
1445 if (draggingDock
draggingDockDescription
TRUEnever evaluated
FALSEnever evaluated
&& e->button() == Qt::LeftButton
e->button() == Qt::LeftButtonDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1446 QDockWidgetPrivate *dockPriv = static_cast<QDockWidgetPrivate *>(QObjectPrivate::get(draggingDock));-
1447 if (dockPriv->state
dockPriv->stateDescription
TRUEnever evaluated
FALSEnever evaluated
&& dockPriv->state->dragging
dockPriv->state->draggingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1448 dockPriv->endDrag();-
1449 }
never executed: end of block
0
1450 draggingDock = 0;-
1451 }
never executed: end of block
0
1452 QTabBar::mouseReleaseEvent(e);-
1453}
never executed: end of block
0
1454-
1455bool QMainWindowTabBar::event(QEvent *e)-
1456{-
1457-
1458-
1459 if (e->type() != QEvent::ToolTip
e->type() != QEvent::ToolTipDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1460 return
never executed: return QTabBar::event(e);
QTabBar::event(e);
never executed: return QTabBar::event(e);
0
1461 QSize size = this->size();-
1462 QSize hint = sizeHint();-
1463 if (shape() == QTabBar::RoundedWest
shape() == QTa...r::RoundedWestDescription
TRUEnever evaluated
FALSEnever evaluated
|| shape() == QTabBar::RoundedEast
shape() == QTa...r::RoundedEastDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1464 size = size.transposed();-
1465 hint = hint.transposed();-
1466 }
never executed: end of block
0
1467 if (size.width() < hint.width()
size.width() < hint.width()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1468 return
never executed: return QTabBar::event(e);
QTabBar::event(e);
never executed: return QTabBar::event(e);
0
1469 e->accept();-
1470 return
never executed: return true;
true;
never executed: return true;
0
1471}-
1472-
1473QTabBar *QMainWindowLayout::getTabBar()-
1474{-
1475 QTabBar *result = 0;-
1476 if (!unusedTabBars.isEmpty()
!unusedTabBars.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1477 result = unusedTabBars.takeLast();-
1478 }
never executed: end of block
else {
0
1479 result = new QMainWindowTabBar(static_cast<QMainWindow *>(parentWidget()));-
1480 result->setDrawBase(true);-
1481 result->setElideMode(Qt::ElideRight);-
1482 result->setDocumentMode(_documentMode);-
1483 result->setMovable(true);-
1484 connect(result, qFlagLocation("2""currentChanged(int)" "\0" __FILE__ ":" "1637"), this, qFlagLocation("1""tabChanged()" "\0" __FILE__ ":" "1637"));-
1485 connect(result, &QTabBar::tabMoved, this, &QMainWindowLayout::tabMoved);-
1486 }
never executed: end of block
0
1487-
1488 usedTabBars.insert(result);-
1489 return
never executed: return result;
result;
never executed: return result;
0
1490}-
1491-
1492-
1493QWidget *QMainWindowLayout::getSeparatorWidget()-
1494{-
1495 QWidget *result = 0;-
1496 if (!unusedSeparatorWidgets.isEmpty()
!unusedSeparat...gets.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1497 result = unusedSeparatorWidgets.takeLast();-
1498 }
never executed: end of block
else {
0
1499 result = new QWidget(parentWidget());-
1500 result->setAttribute(Qt::WA_MouseNoMask, true);-
1501 result->setAutoFillBackground(false);-
1502 result->setObjectName(QLatin1String("qt_qmainwindow_extended_splitter"));-
1503 }
never executed: end of block
0
1504 usedSeparatorWidgets.insert(result);-
1505 return
never executed: return result;
result;
never executed: return result;
0
1506}-
1507-
1508-
1509-
1510-
1511-
1512QDockAreaLayoutInfo *QMainWindowLayout::dockInfo(QWidget *widget)-
1513{-
1514 QDockAreaLayoutInfo *info = layoutState.dockAreaLayout.info(widget);-
1515 if (info
infoDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1516 return
never executed: return info;
info;
never executed: return info;
0
1517 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *dwgw = *_container_.i; _container_.control; _container_.control = 0)-
1518 {-
1519 info = dwgw->layoutInfo()->info(widget);-
1520 if (info
infoDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1521 return
never executed: return info;
info;
never executed: return info;
0
1522 }
never executed: end of block
0
1523 return
never executed: return 0;
0;
never executed: return 0;
0
1524}-
1525-
1526void QMainWindowLayout::tabChanged()-
1527{-
1528 QTabBar *tb = qobject_cast<QTabBar*>(sender());-
1529 if (tb == 0
tb == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1530 return;
never executed: return;
0
1531 QDockAreaLayoutInfo *info = dockInfo(tb);-
1532 if (info == 0
info == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1533 return;
never executed: return;
0
1534 info->apply(false);-
1535-
1536 if (QWidget *w = centralWidget()
QWidget *w = centralWidget()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1537 w->raise();
never executed: w->raise();
0
1538}
never executed: end of block
0
1539-
1540void QMainWindowLayout::tabMoved(int from, int to)-
1541{-
1542 QTabBar *tb = qobject_cast<QTabBar*>(sender());-
1543 ((!(tb)) ? qt_assert("tb",__FILE__,1696) : qt_noop());-
1544 QDockAreaLayoutInfo *info = dockInfo(tb);-
1545 ((!(info)) ? qt_assert("info",__FILE__,1698) : qt_noop());-
1546-
1547 info->moveTab(from, to);-
1548}
never executed: end of block
0
1549-
1550-
1551bool QMainWindowLayout::startSeparatorMove(const QPoint &pos)-
1552{-
1553 movingSeparator = layoutState.dockAreaLayout.findSeparator(pos);-
1554-
1555 if (movingSeparator.isEmpty()
movingSeparator.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1556 return
never executed: return false;
false;
never executed: return false;
0
1557-
1558 layoutState.dockAreaLayout.fallbackToSizeHints = false;-
1559-
1560 savedState = layoutState;-
1561 movingSeparatorPos = movingSeparatorOrigin = pos;-
1562-
1563 return
never executed: return true;
true;
never executed: return true;
0
1564}-
1565-
1566bool QMainWindowLayout::separatorMove(const QPoint &pos)-
1567{-
1568 if (movingSeparator.isEmpty()
movingSeparator.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1569 return
never executed: return false;
false;
never executed: return false;
0
1570 movingSeparatorPos = pos;-
1571 separatorMoveTimer.start(0, this);-
1572 return
never executed: return true;
true;
never executed: return true;
0
1573}-
1574-
1575bool QMainWindowLayout::endSeparatorMove(const QPoint&)-
1576{-
1577 if (movingSeparator.isEmpty()
movingSeparator.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1578 return
never executed: return false;
false;
never executed: return false;
0
1579 movingSeparator.clear();-
1580 savedState.clear();-
1581 return
never executed: return true;
true;
never executed: return true;
0
1582}-
1583-
1584void QMainWindowLayout::raise(QDockWidget *widget)-
1585{-
1586 QDockAreaLayoutInfo *info = dockInfo(widget);-
1587 if (info == 0
info == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1588 return;
never executed: return;
0
1589-
1590 if (!info->tabbed
!info->tabbedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1591 return;
never executed: return;
0
1592 info->setCurrentTab(widget);-
1593-
1594}
never executed: end of block
0
1595int QMainWindowLayout::count() const-
1596{-
1597 QMessageLogger(__FILE__, 1758, __PRETTY_FUNCTION__).warning("QMainWindowLayout::count: ?");-
1598 return
never executed: return 0;
0;
never executed: return 0;
0
1599}-
1600-
1601QLayoutItem *QMainWindowLayout::itemAt(int index) const-
1602{-
1603 int x = 0;-
1604-
1605 if (QLayoutItem *ret = layoutState.itemAt(index, &x)
QLayoutItem *r...mAt(index, &x)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1606 return
never executed: return ret;
ret;
never executed: return ret;
0
1607-
1608 if (statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
&& x++ == index
x++ == indexDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1609 return
never executed: return statusbar;
statusbar;
never executed: return statusbar;
0
1610-
1611 return
never executed: return 0;
0;
never executed: return 0;
0
1612}-
1613-
1614QLayoutItem *QMainWindowLayout::takeAt(int index)-
1615{-
1616 int x = 0;-
1617-
1618 if (QLayoutItem *ret = layoutState.takeAt(index, &x)
QLayoutItem *r...eAt(index, &x)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1619-
1620 if (QWidget *w = ret->widget()
QWidget *w = ret->widget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1621 widgetAnimator.abort(w);-
1622 if (w == pluggingWidget
w == pluggingWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1623 pluggingWidget = 0;
never executed: pluggingWidget = 0;
0
1624 }
never executed: end of block
0
1625-
1626 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1627-
1628 savedState.remove(ret);-
1629-
1630 layoutState.remove(ret);-
1631 }
never executed: end of block
0
1632-
1633-
1634 if (!currentGapPos.isEmpty()
!currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& currentGapPos.first() == 0
currentGapPos.first() == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1635 currentGapPos = layoutState.toolBarAreaLayout.currentGapIndex();-
1636 if (!currentGapPos.isEmpty()
!currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1637 currentGapPos.prepend(0);-
1638 currentGapRect = layoutState.itemRect(currentGapPos);-
1639 }
never executed: end of block
0
1640 }
never executed: end of block
0
1641-
1642-
1643 return
never executed: return ret;
ret;
never executed: return ret;
0
1644 }-
1645-
1646 if (statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
&& x++ == index
x++ == indexDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1647 QLayoutItem *ret = statusbar;-
1648 statusbar = 0;-
1649 return
never executed: return ret;
ret;
never executed: return ret;
0
1650 }-
1651-
1652 return
never executed: return 0;
0;
never executed: return 0;
0
1653}-
1654-
1655void QMainWindowLayout::setGeometry(const QRect &_r)-
1656{-
1657 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1658 return;
never executed: return;
0
1659-
1660 QRect r = _r;-
1661-
1662 QLayout::setGeometry(r);-
1663-
1664 if (statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1665 QRect sbr(QPoint(r.left(), 0),-
1666 QSize(r.width(), statusbar->heightForWidth(r.width()))-
1667 .expandedTo(statusbar->minimumSize()));-
1668 sbr.moveBottom(r.bottom());-
1669 QRect vr = QStyle::visualRect(parentWidget()->layoutDirection(), _r, sbr);-
1670 statusbar->setGeometry(vr);-
1671 r.setBottom(sbr.top() - 1);-
1672 }
never executed: end of block
0
1673-
1674 layoutState.rect = r;-
1675 layoutState.fitLayout();-
1676 applyState(layoutState, false);-
1677}
never executed: end of block
0
1678-
1679void QMainWindowLayout::addItem(QLayoutItem *)-
1680{ QMessageLogger(__FILE__, 1841, __PRETTY_FUNCTION__).warning("QMainWindowLayout::addItem: Please use the public QMainWindow API instead"); }
never executed: end of block
0
1681-
1682QSize QMainWindowLayout::sizeHint() const-
1683{-
1684 if (!szHint.isValid()
!szHint.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1685 szHint = layoutState.sizeHint();-
1686 const QSize sbHint = statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
? statusbar->sizeHint() : QSize(0, 0);
0
1687 szHint = QSize(qMax(sbHint.width(), szHint.width()),-
1688 sbHint.height() + szHint.height());-
1689 }
never executed: end of block
0
1690 return
never executed: return szHint;
szHint;
never executed: return szHint;
0
1691}-
1692-
1693QSize QMainWindowLayout::minimumSize() const-
1694{-
1695 if (!minSize.isValid()
!minSize.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1696 minSize = layoutState.minimumSize();-
1697 const QSize sbMin = statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
? statusbar->minimumSize() : QSize(0, 0);
0
1698 minSize = QSize(qMax(sbMin.width(), minSize.width()),-
1699 sbMin.height() + minSize.height());-
1700 }
never executed: end of block
0
1701 return
never executed: return minSize;
minSize;
never executed: return minSize;
0
1702}-
1703-
1704void QMainWindowLayout::invalidate()-
1705{-
1706 QLayout::invalidate();-
1707 minSize = szHint = QSize();-
1708}
never executed: end of block
0
1709-
1710-
1711void QMainWindowLayout::setCurrentHoveredFloat(QWidget *w)-
1712{-
1713 if (currentHoveredFloat != w
currentHoveredFloat != wDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1714 if (currentHoveredFloat
currentHoveredFloatDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1715 disconnect(currentHoveredFloat.data(), &QObject::destroyed,-
1716 this, &QMainWindowLayout::updateGapIndicator);-
1717 }
never executed: end of block
0
1718-
1719 currentHoveredFloat = w;-
1720-
1721 if (w
wDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1722 connect(w, &QObject::destroyed,-
1723 this, &QMainWindowLayout::updateGapIndicator, Qt::UniqueConnection);-
1724 }
never executed: end of block
0
1725-
1726 updateGapIndicator();-
1727 }
never executed: end of block
0
1728}
never executed: end of block
0
1729-
1730-
1731-
1732-
1733-
1734-
1735static void fixToolBarOrientation(QLayoutItem *item, int dockPos)-
1736{-
1737-
1738 QToolBar *toolBar = qobject_cast<QToolBar*>(item->widget());-
1739 if (toolBar == 0
toolBar == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1740 return;
never executed: return;
0
1741-
1742 QRect oldGeo = toolBar->geometry();-
1743-
1744 QInternal::DockPosition pos-
1745 = static_cast<QInternal::DockPosition>(dockPos);-
1746 Qt::Orientation o = pos == QInternal::TopDock
pos == QInternal::TopDockDescription
TRUEnever evaluated
FALSEnever evaluated
|| pos == QInternal::BottomDock
pos == QInternal::BottomDockDescription
TRUEnever evaluated
FALSEnever evaluated
0
1747 ? Qt::Horizontal : Qt::Vertical;-
1748 if (o != toolBar->orientation()
o != toolBar->orientation()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1749 toolBar->setOrientation(o);
never executed: toolBar->setOrientation(o);
0
1750-
1751 QSize hint = toolBar->sizeHint().boundedTo(toolBar->maximumSize())-
1752 .expandedTo(toolBar->minimumSize());-
1753-
1754 if (toolBar->size() != hint
toolBar->size() != hintDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1755 QRect newGeo(oldGeo.topLeft(), hint);-
1756 if (toolBar->layoutDirection() == Qt::RightToLeft
toolBar->layou...t::RightToLeftDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1757 newGeo.moveRight(oldGeo.right());
never executed: newGeo.moveRight(oldGeo.right());
0
1758 toolBar->setGeometry(newGeo);-
1759 }
never executed: end of block
0
1760-
1761-
1762-
1763-
1764-
1765}
never executed: end of block
0
1766-
1767void QMainWindowLayout::revert(QLayoutItem *widgetItem)-
1768{-
1769 if (!savedState.isValid()
!savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1770 return;
never executed: return;
0
1771-
1772 QWidget *widget = widgetItem->widget();-
1773 layoutState = savedState;-
1774 currentGapPos = layoutState.indexOf(widget);-
1775 if (currentGapPos.isEmpty()
currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1776 return;
never executed: return;
0
1777 fixToolBarOrientation(widgetItem, currentGapPos.at(1));-
1778 layoutState.unplug(currentGapPos);-
1779 layoutState.fitLayout();-
1780 currentGapRect = layoutState.itemRect(currentGapPos);-
1781-
1782 plug(widgetItem);-
1783}
never executed: end of block
0
1784-
1785bool QMainWindowLayout::plug(QLayoutItem *widgetItem)-
1786{-
1787-
1788 if (currentHoveredFloat
currentHoveredFloatDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1789 QWidget *widget = widgetItem->widget();-
1790 QList<int> previousPath = layoutState.indexOf(widget);-
1791 if (!previousPath.isEmpty()
!previousPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1792 layoutState.remove(previousPath);
never executed: layoutState.remove(previousPath);
0
1793-
1794 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *dwgw = *_container_.i; _container_.control; _container_.control = 0)-
1795 {-
1796 QList<int> path = dwgw->layoutInfo()->indexOf(widget);-
1797 if (!path.isEmpty()
!path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1798 dwgw->layoutInfo()->remove(path);
never executed: dwgw->layoutInfo()->remove(path);
0
1799 }
never executed: end of block
0
1800 currentGapRect = QRect();-
1801-
1802 if (QDockWidget *dropTo = qobject_cast<QDockWidget*>(currentHoveredFloat)
QDockWidget *d...tHoveredFloat)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1803-
1804 QDockWidgetGroupWindow *floatingTabs = createTabbedDockWindow();-
1805 floatingTabs->setGeometry(dropTo->geometry());-
1806 QDockAreaLayoutInfo *info = floatingTabs->layoutInfo();-
1807 *info = QDockAreaLayoutInfo(&layoutState.dockAreaLayout.sep, QInternal::LeftDock,-
1808 Qt::Horizontal, QTabBar::RoundedSouth,-
1809 static_cast<QMainWindow*>(parentWidget()));-
1810 info->tabbed = true;-
1811 QLayout *parentLayout = currentHoveredFloat->parentWidget()->layout();-
1812 info->item_list.append(parentLayout->takeAt(parentLayout->indexOf(currentHoveredFloat)));-
1813-
1814 dropTo->setParent(floatingTabs);-
1815 dropTo->show();-
1816 dropTo->d_func()->plug(QRect());-
1817 setCurrentHoveredFloat(floatingTabs);-
1818 }
never executed: end of block
0
1819-
1820 QDockWidgetGroupWindow *dwgw = qobject_cast<QDockWidgetGroupWindow *>(currentHoveredFloat);-
1821 ((!(dwgw)) ? qt_assert("dwgw",__FILE__,1990) : qt_noop());-
1822 ((!(dwgw->layoutInfo()->tabbed)) ? qt_assert("dwgw->layoutInfo()->tabbed",__FILE__,1991) : qt_noop());-
1823 previousPath = dwgw->layoutInfo()->indexOf(widget);-
1824 if (!previousPath.isEmpty()
!previousPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1825 dwgw->layoutInfo()->remove(previousPath);
never executed: dwgw->layoutInfo()->remove(previousPath);
0
1826 dwgw->layoutInfo()->tab(0, widgetItem);-
1827 QRect globalRect = dwgw->layoutInfo()->tabContentRect();-
1828 globalRect.moveTopLeft(dwgw->mapToGlobal(globalRect.topLeft()));-
1829 pluggingWidget = widget;-
1830 widgetAnimator.animate(widget, globalRect, dockOptions & QMainWindow::AnimatedDocks);-
1831 return
never executed: return true;
true;
never executed: return true;
0
1832 }-
1833-
1834-
1835 if (!parentWidget()->isVisible()
!parentWidget()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
|| parentWidget()->isMinimized()
parentWidget()->isMinimized()Description
TRUEnever evaluated
FALSEnever evaluated
|| currentGapPos.isEmpty()
currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1836 return
never executed: return false;
false;
never executed: return false;
0
1837-
1838 fixToolBarOrientation(widgetItem, currentGapPos.at(1));-
1839-
1840 QWidget *widget = widgetItem->widget();-
1841-
1842-
1843-
1844 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *dwgw = *_container_.i; _container_.control; _container_.control = 0)-
1845 {-
1846 QList<int> path = dwgw->layoutInfo()->indexOf(widget);-
1847 if (!path.isEmpty()
!path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1848 dwgw->layoutInfo()->remove(path);
never executed: dwgw->layoutInfo()->remove(path);
0
1849 }
never executed: end of block
0
1850-
1851-
1852 QList<int> previousPath = layoutState.indexOf(widget);-
1853-
1854 const QLayoutItem *it = layoutState.plug(currentGapPos);-
1855 if (!it
!itDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1856 return
never executed: return false;
false;
never executed: return false;
0
1857 ((!(it == widgetItem)) ? qt_assert("it == widgetItem",__FILE__,2026) : qt_noop());-
1858 if (!previousPath.isEmpty()
!previousPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1859 layoutState.remove(previousPath);
never executed: layoutState.remove(previousPath);
0
1860-
1861 pluggingWidget = widget;-
1862 QRect globalRect = currentGapRect;-
1863 globalRect.moveTopLeft(parentWidget()->mapToGlobal(globalRect.topLeft()));-
1864-
1865 if (qobject_cast<QDockWidget*>(widget) != 0
qobject_cast<Q...>(widget) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1866 QDockWidgetLayout *layout = qobject_cast<QDockWidgetLayout*>(widget->layout());-
1867 if (layout->nativeWindowDeco()
layout->nativeWindowDeco()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1868 globalRect.adjust(0, layout->titleHeight(), 0, 0);-
1869 }
never executed: end of block
else {
0
1870 int fw = widget->style()->pixelMetric(QStyle::PM_DockWidgetFrameWidth, 0, widget);-
1871 globalRect.adjust(-fw, -fw, fw, fw);-
1872 }
never executed: end of block
0
1873 }-
1874-
1875 widgetAnimator.animate(widget, globalRect, dockOptions & QMainWindow::AnimatedDocks);-
1876-
1877 return
never executed: return true;
true;
never executed: return true;
0
1878}-
1879-
1880void QMainWindowLayout::animationFinished(QWidget *widget)-
1881{-
1882-
1883-
1884-
1885 if (QToolBar *tb = qobject_cast<QToolBar*>(widget)
QToolBar *tb =...lBar*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1886 QToolBarLayout *tbl = qobject_cast<QToolBarLayout*>(tb->layout());-
1887 if (tbl->animating
tbl->animatingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1888 tbl->animating = false;-
1889 if (tbl->expanded
tbl->expandedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1890 tbl->layoutActions(tb->size());
never executed: tbl->layoutActions(tb->size());
0
1891 tb->update();-
1892 }
never executed: end of block
0
1893 }
never executed: end of block
0
1894-
1895-
1896 if (widget == pluggingWidget
widget == pluggingWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1897-
1898-
1899 if (QDockWidgetGroupWindow *dwgw = qobject_cast<QDockWidgetGroupWindow *>(widget)
QDockWidgetGro...dow *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1900-
1901-
1902 savedState.clear();-
1903 QDockAreaLayoutInfo* info = dwgw->layoutInfo();-
1904 QDockAreaLayoutInfo* parentInfo;-
1905 QList<int> path;-
1906-
1907 if (QDockWidgetGroupWindow *dropTo = qobject_cast<QDockWidgetGroupWindow *>(currentHoveredFloat)
QDockWidgetGro...tHoveredFloat)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1908 parentInfo = dropTo->layoutInfo();-
1909 ((!(parentInfo->tabbed)) ? qt_assert("parentInfo->tabbed",__FILE__,2078) : qt_noop());-
1910 path = parentInfo->indexOf(widget);-
1911 ((!(path.size() == 1)) ? qt_assert("path.size() == 1",__FILE__,2080) : qt_noop());-
1912 }
never executed: end of block
else {
0
1913 path = layoutState.dockAreaLayout.indexOf(widget);-
1914 ((!(path.size() >= 2)) ? qt_assert("path.size() >= 2",__FILE__,2083) : qt_noop());-
1915 parentInfo = layoutState.dockAreaLayout.info(path);-
1916 ((!(parentInfo)) ? qt_assert("parentInfo",__FILE__,2085) : qt_noop());-
1917 }
never executed: end of block
0
1918-
1919 if (parentInfo->tabbed
parentInfo->tabbedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1920-
1921 int idx = path.last();-
1922 ((!(parentInfo->item_list[idx].widgetItem->widget() == dwgw)) ? qt_assert("parentInfo->item_list[idx].widgetItem->widget() == dwgw",__FILE__,2091) : qt_noop());-
1923 delete parentInfo->item_list[idx].widgetItem;-
1924 parentInfo->item_list.removeAt(idx);-
1925 std::copy(info->item_list.cbegin(), info->item_list.cend(),-
1926 std::inserter(parentInfo->item_list, parentInfo->item_list.begin() + idx));-
1927 quintptr currentId = info->currentTabId();-
1928 *info = QDockAreaLayoutInfo();-
1929 parentInfo->reparentWidgets(currentHoveredFloat ? currentHoveredFloat.data() : parentWidget());-
1930 parentInfo->updateTabBar();-
1931 parentInfo->setCurrentTabId(currentId);-
1932 }
never executed: end of block
else {
0
1933 QDockAreaLayoutItem &item = layoutState.dockAreaLayout.item(path);-
1934 ((!(item.widgetItem->widget() == dwgw)) ? qt_assert("item.widgetItem->widget() == dwgw",__FILE__,2103) : qt_noop());-
1935 delete item.widgetItem;-
1936 item.widgetItem = 0;-
1937 item.subinfo = new QDockAreaLayoutInfo(std::move(*info));-
1938 *info = QDockAreaLayoutInfo();-
1939 item.subinfo->reparentWidgets(parentWidget());-
1940 item.subinfo->setTabBarShape(parentInfo->tabBarShape);-
1941 }
never executed: end of block
0
1942 dwgw->destroyOrHideIfEmpty();-
1943 }
never executed: end of block
0
1944-
1945 if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget)
QDockWidget *d...dget*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1946 dw->setParent(currentHoveredFloat ? currentHoveredFloat.data() : parentWidget());-
1947 dw->show();-
1948 dw->d_func()->plug(currentGapRect);-
1949 }
never executed: end of block
0
1950-
1951-
1952 if (QToolBar *tb = qobject_cast<QToolBar*>(widget)
QToolBar *tb =...lBar*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1953 tb->d_func()->plug(currentGapRect);
never executed: tb->d_func()->plug(currentGapRect);
0
1954-
1955-
1956 savedState.clear();-
1957 currentGapPos.clear();-
1958 pluggingWidget = 0;-
1959 setCurrentHoveredFloat(nullptr);-
1960-
1961-
1962 layoutState.apply(false);-
1963-
1964-
1965-
1966 if (qobject_cast<QDockWidget*>(widget) != 0
qobject_cast<Q...>(widget) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1967-
1968-
1969 if (QDockAreaLayoutInfo *info = dockInfo(widget)
QDockAreaLayou...ckInfo(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1970 info->setCurrentTab(widget);
never executed: info->setCurrentTab(widget);
0
1971 }
never executed: end of block
0
1972-
1973-
1974 }
never executed: end of block
0
1975-
1976 if (!widgetAnimator.animating()
!widgetAnimator.animating()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1977-
1978-
1979 parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());-
1980-
1981 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(usedTabBars)>::type> _container_((usedTabBars)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *tab_bar = *_container_.i; _container_.control; _container_.control = 0)-
1982 tab_bar->show();
never executed: tab_bar->show();
0
1983-
1984-
1985 }
never executed: end of block
0
1986-
1987 updateGapIndicator();-
1988}
never executed: end of block
0
1989-
1990void QMainWindowLayout::restore(bool keepSavedState)-
1991{-
1992 if (!savedState.isValid()
!savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1993 return;
never executed: return;
0
1994-
1995 layoutState = savedState;-
1996 applyState(layoutState);-
1997 if (!keepSavedState
!keepSavedStateDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1998 savedState.clear();
never executed: savedState.clear();
0
1999 currentGapPos.clear();-
2000 pluggingWidget = 0;-
2001 updateGapIndicator();-
2002}
never executed: end of block
0
2003-
2004QMainWindowLayout::QMainWindowLayout(QMainWindow *mainwindow, QLayout *parentLayout)-
2005 : QLayout(parentLayout ? static_cast<QWidget *>(0) : mainwindow)-
2006 , layoutState(mainwindow)-
2007 , savedState(mainwindow)-
2008 , dockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks)-
2009 , statusbar(0)-
2010-
2011-
2012 , _documentMode(false)-
2013 , verticalTabsEnabled(false)-
2014-
2015 , _tabShape(QTabWidget::Rounded)-
2016-
2017-
2018-
2019 , widgetAnimator(this)-
2020 , pluggingWidget(0)-
2021-
2022-
2023-
2024{-
2025 if (parentLayout
parentLayoutDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2026 setParent(parentLayout);
never executed: setParent(parentLayout);
0
2027-
2028-
2029-
2030 sep = mainwindow->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, mainwindow);-
2031-
2032-
2033-
2034 for (int i = 0; i < QInternal::DockCount
i < QInternal::DockCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
2035 tabPositions[i] = QTabWidget::South;
never executed: tabPositions[i] = QTabWidget::South;
0
2036-
2037-
2038 pluggingWidget = 0;-
2039-
2040 setObjectName(mainwindow->objectName() + QLatin1String("_layout"));-
2041}
never executed: end of block
0
2042-
2043QMainWindowLayout::~QMainWindowLayout()-
2044{-
2045 layoutState.deleteAllLayoutItems();-
2046 layoutState.deleteCentralWidgetItem();-
2047-
2048-
2049-
2050-
2051-
2052 delete statusbar;-
2053}
never executed: end of block
0
2054-
2055void QMainWindowLayout::setDockOptions(QMainWindow::DockOptions opts)-
2056{-
2057 if (opts == dockOptions
opts == dockOptionsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2058 return;
never executed: return;
0
2059-
2060 dockOptions = opts;-
2061-
2062-
2063 setVerticalTabsEnabled(opts & QMainWindow::VerticalTabs);-
2064-
2065-
2066 invalidate();-
2067}
never executed: end of block
0
2068-
2069-
2070QStatusBar *QMainWindowLayout::statusBar() const-
2071{ return
never executed: return statusbar ? qobject_cast<QStatusBar *>(statusbar->widget()) : 0;
statusbar
statusbarDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QStatusBar *>(statusbar->widget()) : 0;
never executed: return statusbar ? qobject_cast<QStatusBar *>(statusbar->widget()) : 0;
}
0
2072-
2073void QMainWindowLayout::setStatusBar(QStatusBar *sb)-
2074{-
2075 if (sb
sbDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2076 addChildWidget(sb);
never executed: addChildWidget(sb);
0
2077 delete statusbar;-
2078 statusbar = sb
sbDescription
TRUEnever evaluated
FALSEnever evaluated
? new QWidgetItemV2(sb) : 0;
0
2079 invalidate();-
2080}
never executed: end of block
0
2081-
2082-
2083QWidget *QMainWindowLayout::centralWidget() const-
2084{-
2085 return
never executed: return layoutState.centralWidget();
layoutState.centralWidget();
never executed: return layoutState.centralWidget();
0
2086}-
2087-
2088void QMainWindowLayout::setCentralWidget(QWidget *widget)-
2089{-
2090 if (widget != 0
widget != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2091 addChildWidget(widget);
never executed: addChildWidget(widget);
0
2092 layoutState.setCentralWidget(widget);-
2093 if (savedState.isValid()
savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2094-
2095 savedState.dockAreaLayout.centralWidgetItem = layoutState.dockAreaLayout.centralWidgetItem;-
2096 savedState.dockAreaLayout.fallbackToSizeHints = true;-
2097-
2098-
2099-
2100 }
never executed: end of block
0
2101 invalidate();-
2102}
never executed: end of block
0
2103QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group)-
2104{-
2105-
2106 if (!widget->isWindow()
!widget->isWindow()Description
TRUEnever evaluated
FALSEnever evaluated
&& qobject_cast<const QDockWidgetGroupWindow *>(widget->parentWidget())
qobject_cast<c...arentWidget())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2107 if (group
groupDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2108-
2109-
2110 QList<int> tabbedWindowPath = layoutState.indexOf(widget->parentWidget());-
2111 return
never executed: return tabbedWindowPath.isEmpty() ? 0 : layoutState.item(tabbedWindowPath);
tabbedWindowPath.isEmpty()
tabbedWindowPath.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : layoutState.item(tabbedWindowPath);
never executed: return tabbedWindowPath.isEmpty() ? 0 : layoutState.item(tabbedWindowPath);
0
2112 } else {-
2113-
2114 if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget)
QDockWidget *d...dget*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2115 dw->d_func()->unplug(widget->geometry());-
2116 int index = widget->parentWidget()->layout()->indexOf(widget);-
2117 return
never executed: return widget->parentWidget()->layout()->itemAt(index);
widget->parentWidget()->layout()->itemAt(index);
never executed: return widget->parentWidget()->layout()->itemAt(index);
0
2118 }-
2119 }
never executed: end of block
0
2120 }-
2121-
2122 QList<int> path = layoutState.indexOf(widget);-
2123 if (path.isEmpty()
path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2124 return
never executed: return 0;
0;
never executed: return 0;
0
2125-
2126 QLayoutItem *item = layoutState.item(path);-
2127 if (widget->isWindow()
widget->isWindow()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2128 return
never executed: return item;
item;
never executed: return item;
0
2129-
2130 QRect r = layoutState.itemRect(path);-
2131 savedState = layoutState;-
2132-
2133-
2134 if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget)
QDockWidget *d...dget*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2135 ((!(path.first() == 1)) ? qt_assert("path.first() == 1",__FILE__,2315) : qt_noop());-
2136 bool actualGroup = false;-
2137-
2138 if (group
groupDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(dockOptions &...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
dockOptions & QMainWindow::GroupedDragging)
(dockOptions &...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
&& path.size() > 3
path.size() > 3Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2139 QDockAreaLayoutItem &parentItem = layoutState.dockAreaLayout.item(path.mid(1, path.size() - 2));-
2140 if (parentItem.subinfo
parentItem.subinfoDescription
TRUEnever evaluated
FALSEnever evaluated
&& parentItem.subinfo->tabbed
parentItem.subinfo->tabbedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2141-
2142 actualGroup = true;-
2143 path.removeLast();-
2144-
2145 QDockWidgetGroupWindow* floatingTabs = createTabbedDockWindow();-
2146 QDockAreaLayoutInfo* info = floatingTabs->layoutInfo();-
2147 *info = std::move(*parentItem.subinfo);-
2148 delete parentItem.subinfo;-
2149 parentItem.subinfo = 0;-
2150 floatingTabs->setGeometry(info->rect.translated(parentWidget()->pos()));-
2151 floatingTabs->show();-
2152 floatingTabs->raise();-
2153 item = new QDockWidgetGroupWindowItem(floatingTabs);-
2154 parentItem.widgetItem = item;-
2155 savedState = layoutState;-
2156 }
never executed: end of block
0
2157 }
never executed: end of block
0
2158-
2159 if (!actualGroup
!actualGroupDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2160 dw->d_func()->unplug(r);-
2161 }
never executed: end of block
0
2162 }
never executed: end of block
0
2163-
2164-
2165 if (QToolBar *tb = qobject_cast<QToolBar*>(widget)
QToolBar *tb =...lBar*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2166 tb->d_func()->unplug(r);-
2167 }
never executed: end of block
0
2168-
2169-
2170-
2171 layoutState.unplug(path ,&savedState);-
2172 savedState.fitLayout();-
2173 currentGapPos = path;-
2174 currentGapRect = r;-
2175 updateGapIndicator();-
2176-
2177 fixToolBarOrientation(item, currentGapPos.at(1));-
2178-
2179 return
never executed: return item;
item;
never executed: return item;
0
2180}-
2181-
2182void QMainWindowLayout::updateGapIndicator()-
2183{-
2184-
2185 if ((!widgetAnimator.animating()
!widgetAnimator.animating()Description
TRUEnever evaluated
FALSEnever evaluated
&& !currentGapPos.isEmpty()
!currentGapPos.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) || currentHoveredFloat
currentHoveredFloatDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2186 QWidget *expectedParent = currentHoveredFloat
currentHoveredFloatDescription
TRUEnever evaluated
FALSEnever evaluated
? currentHoveredFloat.data() : parentWidget();
0
2187 if (!gapIndicator
!gapIndicatorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2188 gapIndicator = new QRubberBand(QRubberBand::Rectangle, expectedParent);-
2189-
2190 gapIndicator->setObjectName(QLatin1String("qt_rubberband"));-
2191 }
never executed: end of block
else if (gapIndicator->parent() != expectedParent
gapIndicator->...expectedParentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2192 gapIndicator->setParent(expectedParent);-
2193 }
never executed: end of block
0
2194 gapIndicator->setGeometry(currentHoveredFloat ? currentHoveredFloat->rect() : currentGapRect);-
2195 gapIndicator->show();-
2196 gapIndicator->raise();-
2197 }
never executed: end of block
else if (gapIndicator
gapIndicatorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2198 gapIndicator->hide();-
2199 }
never executed: end of block
0
2200-
2201}
never executed: end of block
0
2202-
2203void QMainWindowLayout::hover(QLayoutItem *widgetItem, const QPoint &mousePos)-
2204{-
2205 if (!parentWidget()->isVisible()
!parentWidget()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
|| parentWidget()->isMinimized()
parentWidget()->isMinimized()Description
TRUEnever evaluated
FALSEnever evaluated
0
2206 || pluggingWidget != 0
pluggingWidget != 0Description
TRUEnever evaluated
FALSEnever evaluated
|| widgetItem == 0
widgetItem == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2207 return;
never executed: return;
0
2208-
2209 QWidget *widget = widgetItem->widget();-
2210-
2211-
2212 if ((
(dockOptions &...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
dockOptions & QMainWindow::GroupedDragging)
(dockOptions &...oupedDragging)Description
TRUEnever evaluated
FALSEnever evaluated
&& (qobject_cast<QDockWidget*>(widget)
qobject_cast<Q...dget*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
0
2213 || qobject_cast<QDockWidgetGroupWindow *>(widget)
qobject_cast<Q...dow *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)) {
0
2214-
2215-
2216 QVarLengthArray<QWidget *, 10> candidates;-
2217 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parentWidget()->children())>::type> _container_((parentWidget()->children())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QObject *c = *_container_.i; _container_.control; _container_.control = 0) {-
2218 QWidget *w = qobject_cast<QWidget*>(c);-
2219 if (!w
!wDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2220 continue;
never executed: continue;
0
2221 if (!qobject_cast<QDockWidget*>(w)
!qobject_cast<QDockWidget*>(w)Description
TRUEnever evaluated
FALSEnever evaluated
&& !qobject_cast<QDockWidgetGroupWindow *>(w)
!qobject_cast<...upWindow *>(w)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2222 continue;
never executed: continue;
0
2223 if (w != widget
w != widgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& w->isTopLevel()
w->isTopLevel()Description
TRUEnever evaluated
FALSEnever evaluated
&& w->isVisible()
w->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !w->isMinimized()
!w->isMinimized()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2224 candidates << w;
never executed: candidates << w;
0
2225 if (QDockWidgetGroupWindow *group = qobject_cast<QDockWidgetGroupWindow *>(w)
QDockWidgetGro...upWindow *>(w)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2226-
2227 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(group->children())>::type> _container_((group->children())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QObject *c = *_container_.i; _container_.control; _container_.control = 0) {-
2228 if (QDockWidget *dw = qobject_cast<QDockWidget*>(c)
QDockWidget *d...ockWidget*>(c)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2229 if (dw != widget
dw != widgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& dw->isFloating()
dw->isFloating()Description
TRUEnever evaluated
FALSEnever evaluated
&& dw->isVisible()
dw->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& !dw->isMinimized()
!dw->isMinimized()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2230 candidates << dw;
never executed: candidates << dw;
0
2231 }
never executed: end of block
0
2232 }
never executed: end of block
0
2233 }
never executed: end of block
0
2234 }
never executed: end of block
0
2235 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(candidates)>::type> _container_((candidates)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QWidget *w = *_container_.i; _container_.control; _container_.control = 0) {-
2236 QWindow *handle1 = widget->windowHandle();-
2237 QWindow *handle2 = w->windowHandle();-
2238 if (handle1
handle1Description
TRUEnever evaluated
FALSEnever evaluated
&& handle2
handle2Description
TRUEnever evaluated
FALSEnever evaluated
&& handle1->screen() != handle2->screen()
handle1->scree...dle2->screen()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2239 continue;
never executed: continue;
0
2240 if (!w->geometry().contains(mousePos)
!w->geometry()...ains(mousePos)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2241 continue;
never executed: continue;
0
2242-
2243 setCurrentHoveredFloat(w);-
2244 restore(true);-
2245 return;
never executed: return;
0
2246 }-
2247 }
never executed: end of block
0
2248 setCurrentHoveredFloat(nullptr);-
2249-
2250-
2251 QPoint pos = parentWidget()->mapFromGlobal(mousePos);-
2252-
2253 if (!savedState.isValid()
!savedState.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2254 savedState = layoutState;
never executed: savedState = layoutState;
0
2255-
2256 QList<int> path = savedState.gapIndex(widget, pos);-
2257-
2258 if (!path.isEmpty()
!path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2259 bool allowed = false;-
2260-
2261-
2262 if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget)
QDockWidget *d...dget*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2263 allowed = dw->isAreaAllowed(toDockWidgetArea(path.at(1)));
never executed: allowed = dw->isAreaAllowed(toDockWidgetArea(path.at(1)));
0
2264-
2265 if (qobject_cast<QDockWidgetGroupWindow *>(widget)
qobject_cast<Q...dow *>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2266 allowed = true;
never executed: allowed = true;
0
2267-
2268-
2269 if (QToolBar *tb = qobject_cast<QToolBar*>(widget)
QToolBar *tb =...lBar*>(widget)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2270 allowed = tb->isAreaAllowed(toToolBarArea(path.at(1)));
never executed: allowed = tb->isAreaAllowed(toToolBarArea(path.at(1)));
0
2271-
2272-
2273 if (!allowed
!allowedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2274 path.clear();
never executed: path.clear();
0
2275 }
never executed: end of block
0
2276-
2277 if (path == currentGapPos
path == currentGapPosDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2278 return;
never executed: return;
0
2279-
2280 currentGapPos = path;-
2281 if (path.isEmpty()
path.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2282 fixToolBarOrientation(widgetItem, 2);-
2283 restore(true);-
2284 return;
never executed: return;
0
2285 }-
2286-
2287 fixToolBarOrientation(widgetItem, currentGapPos.at(1));-
2288-
2289 QMainWindowLayoutState newState = savedState;-
2290-
2291 if (!newState.insertGap(path, widgetItem)
!newState.inse...h, widgetItem)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2292 restore(true);-
2293 return;
never executed: return;
0
2294 }-
2295-
2296 QSize min = newState.minimumSize();-
2297 QSize size = newState.rect.size();-
2298-
2299 if (min.width() > size.width()
min.width() > size.width()Description
TRUEnever evaluated
FALSEnever evaluated
|| min.height() > size.height()
min.height() > size.height()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2300 restore(true);-
2301 return;
never executed: return;
0
2302 }-
2303-
2304 newState.fitLayout();-
2305-
2306 currentGapRect = newState.gapRect(currentGapPos);-
2307-
2308-
2309 parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());-
2310-
2311 layoutState = newState;-
2312 applyState(layoutState);-
2313-
2314 updateGapIndicator();-
2315}
never executed: end of block
0
2316-
2317QDockWidgetGroupWindow *QMainWindowLayout::createTabbedDockWindow()-
2318{-
2319 QDockWidgetGroupWindow* f = new QDockWidgetGroupWindow(parentWidget(), Qt::Tool);-
2320 new QDockWidgetGroupLayout(f);-
2321 return
never executed: return f;
f;
never executed: return f;
0
2322}-
2323-
2324void QMainWindowLayout::applyState(QMainWindowLayoutState &newState, bool animate)-
2325{-
2326-
2327-
2328 QSet<QTabBar*> used = newState.dockAreaLayout.usedTabBars();-
2329 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))>::type> _container_((parent()->findChildren<QDockWidgetGroupWindow*>(QString(), Qt::FindDirectChildrenOnly))); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QDockWidgetGroupWindow *dwgw = *_container_.i; _container_.control; _container_.control = 0)-
2330 {-
2331 used += dwgw->layoutInfo()->usedTabBars();-
2332 }
never executed: end of block
0
2333-
2334 QSet<QTabBar*> retired = usedTabBars - used;-
2335 usedTabBars = used;-
2336 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(retired)>::type> _container_((retired)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *tab_bar = *_container_.i; _container_.control; _container_.control = 0) {-
2337 tab_bar->hide();-
2338 while (tab_bar->count() > 0
tab_bar->count() > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2339 tab_bar->removeTab(0);
never executed: tab_bar->removeTab(0);
0
2340 unusedTabBars.append(tab_bar);-
2341 }
never executed: end of block
0
2342-
2343 if (sep == 1
sep == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2344 QSet<QWidget*> usedSeps = newState.dockAreaLayout.usedSeparatorWidgets();-
2345 QSet<QWidget*> retiredSeps = usedSeparatorWidgets - usedSeps;-
2346 usedSeparatorWidgets = usedSeps;-
2347 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(retiredSeps)>::type> _container_((retiredSeps)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QWidget *sepWidget = *_container_.i; _container_.control; _container_.control = 0) {-
2348 unusedSeparatorWidgets.append(sepWidget);-
2349 }
never executed: end of block
0
2350 }
never executed: end of block
0
2351-
2352 for (int i = 0; i < QInternal::DockCount
i < QInternal::DockCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
2353 newState.dockAreaLayout.docks[i].reparentWidgets(parentWidget());
never executed: newState.dockAreaLayout.docks[i].reparentWidgets(parentWidget());
0
2354-
2355-
2356-
2357 newState.apply(dockOptions & QMainWindow::AnimatedDocks && animate);-
2358}
never executed: end of block
0
2359-
2360void QMainWindowLayout::saveState(QDataStream &stream) const-
2361{-
2362 layoutState.saveState(stream);-
2363}
never executed: end of block
0
2364-
2365bool QMainWindowLayout::restoreState(QDataStream &stream)-
2366{-
2367 savedState = layoutState;-
2368 layoutState.clear();-
2369 layoutState.rect = savedState.rect;-
2370-
2371 if (!layoutState.restoreState(stream, savedState)
!layoutState.r...m, savedState)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2372 layoutState.deleteAllLayoutItems();-
2373 layoutState = savedState;-
2374 if (parentWidget()->isVisible()
parentWidget()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2375 applyState(layoutState, false);
never executed: applyState(layoutState, false);
0
2376 return
never executed: return false;
false;
never executed: return false;
0
2377 }-
2378-
2379 if (parentWidget()->isVisible()
parentWidget()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2380 layoutState.fitLayout();-
2381 applyState(layoutState, false);-
2382 }
never executed: end of block
0
2383-
2384 savedState.deleteAllLayoutItems();-
2385 savedState.clear();-
2386-
2387-
2388 if (parentWidget()->isVisible()
parentWidget()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2389-
2390 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(usedTabBars)>::type> _container_((usedTabBars)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QTabBar *tab_bar = *_container_.i; _container_.control; _container_.control = 0)-
2391 tab_bar->show();
never executed: tab_bar->show();
0
2392-
2393-
2394 }
never executed: end of block
0
2395-
2396-
2397 return
never executed: return true;
true;
never executed: return true;
0
2398}-
2399-
2400-
2401-
2402-
2403-
2404bool QMainWindowLayout::usesHIToolBar(QToolBar *toolbar) const-
2405{-
2406-
2407 (void)toolbar;;-
2408 return
never executed: return false;
false;
never executed: return false;
0
2409-
2410-
2411-
2412-
2413-
2414}-
2415-
2416void QMainWindowLayout::timerEvent(QTimerEvent *e)-
2417{-
2418-
2419 if (e->timerId() == separatorMoveTimer.timerId()
e->timerId() =...imer.timerId()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2420-
2421 separatorMoveTimer.stop();-
2422 if (movingSeparator.isEmpty()
movingSeparator.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2423 return;
never executed: return;
0
2424 if (movingSeparatorOrigin == movingSeparatorPos
movingSeparato...ngSeparatorPosDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2425 return;
never executed: return;
0
2426-
2427-
2428 parentWidget()->update(layoutState.dockAreaLayout.separatorRegion());-
2429-
2430 layoutState = savedState;-
2431 layoutState.dockAreaLayout.separatorMove(movingSeparator, movingSeparatorOrigin,-
2432 movingSeparatorPos);-
2433 movingSeparatorPos = movingSeparatorOrigin;-
2434 }
never executed: end of block
0
2435-
2436 QLayout::timerEvent(e);-
2437}
never executed: end of block
0
2438-
2439-
2440-
2441-
Switch to Source codePreprocessed file

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