qabstractscrollarea.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/widgets/qabstractscrollarea.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate()-
9 :hbar(0), vbar(0), vbarpolicy(Qt::ScrollBarAsNeeded), hbarpolicy(Qt::ScrollBarAsNeeded),-
10 shownOnce(false), inResize(false), sizeAdjustPolicy(QAbstractScrollArea::AdjustIgnored),-
11 viewport(0), cornerWidget(0), left(0), top(0), right(0), bottom(0),-
12 xoffset(0), yoffset(0), viewportFilter(0)-
13-
14-
15-
16{-
17}
never executed: end of block
0
18-
19QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate()-
20{-
21}-
22-
23QAbstractScrollAreaScrollBarContainer::QAbstractScrollAreaScrollBarContainer(Qt::Orientation orientation, QWidget *parent)-
24 :QWidget(parent), scrollBar(new QScrollBar(orientation, this)),-
25 layout(new QBoxLayout(orientation == Qt::Horizontal ? QBoxLayout::LeftToRight : QBoxLayout::TopToBottom)),-
26 orientation(orientation)-
27{-
28 setLayout(layout);-
29 layout->setMargin(0);-
30 layout->setSpacing(0);-
31 layout->addWidget(scrollBar);-
32 layout->setSizeConstraint(QLayout::SetMaximumSize);-
33}
never executed: end of block
0
34-
35-
36-
37-
38void QAbstractScrollAreaScrollBarContainer::addWidget(QWidget *widget, LogicalPosition position)-
39{-
40 QSizePolicy policy = widget->sizePolicy();-
41 if (orientation == Qt::Vertical
orientation == Qt::VerticalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
42 policy.setHorizontalPolicy(QSizePolicy::Ignored);
never executed: policy.setHorizontalPolicy(QSizePolicy::Ignored);
0
43 else-
44 policy.setVerticalPolicy(QSizePolicy::Ignored);
never executed: policy.setVerticalPolicy(QSizePolicy::Ignored);
0
45 widget->setSizePolicy(policy);-
46 widget->setParent(this);-
47-
48 const int insertIndex = (
(position & LogicalLeft)Description
TRUEnever evaluated
FALSEnever evaluated
position & LogicalLeft)
(position & LogicalLeft)Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : scrollBarLayoutIndex() + 1;
0
49 layout->insertWidget(insertIndex, widget);-
50}
never executed: end of block
0
51-
52-
53-
54-
55-
56QWidgetList QAbstractScrollAreaScrollBarContainer::widgets(LogicalPosition position)-
57{-
58 QWidgetList list;-
59 const int scrollBarIndex = scrollBarLayoutIndex();-
60 if (position == LogicalLeft
position == LogicalLeftDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
61 list.reserve(scrollBarIndex);-
62 for (int i = 0; i < scrollBarIndex
i < scrollBarIndexDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
63 list.append(layout->itemAt(i)->widget());
never executed: list.append(layout->itemAt(i)->widget());
0
64 }
never executed: end of block
else if (position == LogicalRight
position == LogicalRightDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
65 const int layoutItemCount = layout->count();-
66 list.reserve(layoutItemCount - (scrollBarIndex + 1));-
67 for (int i = scrollBarIndex + 1; i < layoutItemCount
i < layoutItemCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
68 list.append(layout->itemAt(i)->widget());
never executed: list.append(layout->itemAt(i)->widget());
0
69 }
never executed: end of block
0
70 return
never executed: return list;
list;
never executed: return list;
0
71}-
72-
73-
74-
75-
76-
77-
78-
79int QAbstractScrollAreaScrollBarContainer::scrollBarLayoutIndex() const-
80{-
81 const int layoutItemCount = layout->count();-
82 for (int i = 0; i < layoutItemCount
i < layoutItemCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
83 if (qobject_cast<QScrollBar *>(layout->itemAt(i)->widget())
qobject_cast<Q...(i)->widget())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
84 return
never executed: return i;
i;
never executed: return i;
0
85 }
never executed: end of block
0
86 return
never executed: return -1;
-1;
never executed: return -1;
0
87}-
88-
89-
90-
91void QAbstractScrollAreaPrivate::replaceScrollBar(QScrollBar *scrollBar,-
92 Qt::Orientation orientation)-
93{-
94 QAbstractScrollArea * const q = q_func();-
95-
96 QAbstractScrollAreaScrollBarContainer *container = scrollBarContainers[orientation];-
97 bool horizontal = (orientation == Qt::Horizontal);-
98 QScrollBar *oldBar = horizontal
horizontalDescription
TRUEnever evaluated
FALSEnever evaluated
? hbar : vbar;
0
99 if (horizontal
horizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
100 hbar = scrollBar;
never executed: hbar = scrollBar;
0
101 else-
102 vbar = scrollBar;
never executed: vbar = scrollBar;
0
103 scrollBar->setParent(container);-
104 container->scrollBar = scrollBar;-
105 container->layout->removeWidget(oldBar);-
106 container->layout->insertWidget(0, scrollBar);-
107 scrollBar->setVisible(oldBar->isVisibleTo(container));-
108 scrollBar->setInvertedAppearance(oldBar->invertedAppearance());-
109 scrollBar->setInvertedControls(oldBar->invertedControls());-
110 scrollBar->setRange(oldBar->minimum(), oldBar->maximum());-
111 scrollBar->setOrientation(oldBar->orientation());-
112 scrollBar->setPageStep(oldBar->pageStep());-
113 scrollBar->setSingleStep(oldBar->singleStep());-
114 scrollBar->setSliderDown(oldBar->isSliderDown());-
115 scrollBar->setSliderPosition(oldBar->sliderPosition());-
116 scrollBar->setTracking(oldBar->hasTracking());-
117 scrollBar->setValue(oldBar->value());-
118 scrollBar->installEventFilter(q);-
119 oldBar->removeEventFilter(q);-
120 delete oldBar;-
121-
122 QObject::connect(scrollBar, qFlagLocation("2""valueChanged(int)" "\0" __FILE__ ":" "274"),-
123 q, horizontal ? qFlagLocation("1""_q_hslide(int)" "\0" __FILE__ ":" "275") : qFlagLocation("1""_q_vslide(int)" "\0" __FILE__ ":" "275"));-
124 QObject::connect(scrollBar, qFlagLocation("2""rangeChanged(int,int)" "\0" __FILE__ ":" "276"),-
125 q, qFlagLocation("1""_q_showOrHideScrollBars()" "\0" __FILE__ ":" "277"), Qt::QueuedConnection);-
126}
never executed: end of block
0
127-
128void QAbstractScrollAreaPrivate::init()-
129{-
130 QAbstractScrollArea * const q = q_func();-
131 viewport = new QWidget(q);-
132 viewport->setObjectName(QLatin1String("qt_scrollarea_viewport"));-
133 viewport->setBackgroundRole(QPalette::Base);-
134 viewport->setAutoFillBackground(true);-
135 scrollBarContainers[Qt::Horizontal] = new QAbstractScrollAreaScrollBarContainer(Qt::Horizontal, q);-
136 scrollBarContainers[Qt::Horizontal]->setObjectName(QLatin1String("qt_scrollarea_hcontainer"));-
137 hbar = scrollBarContainers[Qt::Horizontal]->scrollBar;-
138 hbar->setRange(0,0);-
139 scrollBarContainers[Qt::Horizontal]->setVisible(false);-
140 hbar->installEventFilter(q);-
141 QObject::connect(hbar, qFlagLocation("2""valueChanged(int)" "\0" __FILE__ ":" "293"), q, qFlagLocation("1""_q_hslide(int)" "\0" __FILE__ ":" "293"));-
142 QObject::connect(hbar, qFlagLocation("2""rangeChanged(int,int)" "\0" __FILE__ ":" "294"), q, qFlagLocation("1""_q_showOrHideScrollBars()" "\0" __FILE__ ":" "294"), Qt::QueuedConnection);-
143 scrollBarContainers[Qt::Vertical] = new QAbstractScrollAreaScrollBarContainer(Qt::Vertical, q);-
144 scrollBarContainers[Qt::Vertical]->setObjectName(QLatin1String("qt_scrollarea_vcontainer"));-
145 vbar = scrollBarContainers[Qt::Vertical]->scrollBar;-
146 vbar->setRange(0,0);-
147 scrollBarContainers[Qt::Vertical]->setVisible(false);-
148 vbar->installEventFilter(q);-
149 QObject::connect(vbar, qFlagLocation("2""valueChanged(int)" "\0" __FILE__ ":" "301"), q, qFlagLocation("1""_q_vslide(int)" "\0" __FILE__ ":" "301"));-
150 QObject::connect(vbar, qFlagLocation("2""rangeChanged(int,int)" "\0" __FILE__ ":" "302"), q, qFlagLocation("1""_q_showOrHideScrollBars()" "\0" __FILE__ ":" "302"), Qt::QueuedConnection);-
151 viewportFilter.reset(new QAbstractScrollAreaFilter(this));-
152 viewport->installEventFilter(viewportFilter.data());-
153 viewport->setFocusProxy(q);-
154 q->setFocusPolicy(Qt::StrongFocus);-
155 q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);-
156 q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);-
157 layoutChildren();-
158-
159-
160 viewport->grabGesture(Qt::PanGesture);-
161-
162-
163}
never executed: end of block
0
164void QAbstractScrollAreaPrivate::layoutChildren()-
165{-
166 QAbstractScrollArea * const q = q_func();-
167 bool htransient = hbar->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, hbar);-
168 bool needh = (
(hbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
hbarpolicy != Qt::ScrollBarAlwaysOff)
(hbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((hbarpolicy == Qt::ScrollBarAlwaysOn
hbarpolicy == ...ollBarAlwaysOnDescription
TRUEnever evaluated
FALSEnever evaluated
&& !htransient
!htransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
169 || ((hbarpolicy == Qt::ScrollBarAsNeeded
hbarpolicy == ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
|| htransient
htransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
170 && hbar->minimum() < hbar->maximum()
hbar->minimum(...bar->maximum()Description
TRUEnever evaluated
FALSEnever evaluated
&& !hbar->sizeHint().isEmpty()
!hbar->sizeHint().isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
));
0
171-
172 bool vtransient = vbar->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, vbar);-
173 bool needv = (
(vbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
vbarpolicy != Qt::ScrollBarAlwaysOff)
(vbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((vbarpolicy == Qt::ScrollBarAlwaysOn
vbarpolicy == ...ollBarAlwaysOnDescription
TRUEnever evaluated
FALSEnever evaluated
&& !vtransient
!vtransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
174 || ((vbarpolicy == Qt::ScrollBarAsNeeded
vbarpolicy == ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
|| vtransient
vtransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
175 && vbar->minimum() < vbar->maximum()
vbar->minimum(...bar->maximum()Description
TRUEnever evaluated
FALSEnever evaluated
&& !vbar->sizeHint().isEmpty()
!vbar->sizeHint().isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
));
0
176-
177 QStyleOption opt(0);-
178 opt.init(q);-
179-
180 const int hscrollOverlap = hbar->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarOverlap, &opt, hbar);-
181 const int vscrollOverlap = vbar->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarOverlap, &opt, vbar);-
182 const int hsbExt = hbar->sizeHint().height();-
183 const int vsbExt = vbar->sizeHint().width();-
184 const QPoint extPoint(vsbExt, hsbExt);-
185 const QSize extSize(vsbExt, hsbExt);-
186-
187 const QRect widgetRect = q->rect();-
188-
189 const bool hasCornerWidget = (cornerWidget != 0);-
190 QPoint cornerOffset((needv && vscrollOverlap == 0) ? vsbExt : 0, (needh && hscrollOverlap == 0) ? hsbExt : 0);-
191 QRect controlsRect;-
192 QRect viewportRect;-
193-
194-
195-
196 if ((
(frameStyle !=...rame::NoFrame)Description
TRUEnever evaluated
FALSEnever evaluated
frameStyle != QFrame::NoFrame)
(frameStyle !=...rame::NoFrame)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
197 q->style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents, &opt, q)
q->style()->st...ents, &opt, q)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
198 controlsRect = widgetRect;-
199 const int spacing = q->style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing, &opt, q);-
200 const QPoint cornerExtra(needv ? spacing + vscrollOverlap : 0, needh ? spacing + hscrollOverlap : 0);-
201 QRect frameRect = widgetRect;-
202 frameRect.adjust(0, 0, -cornerOffset.x() - cornerExtra.x(), -cornerOffset.y() - cornerExtra.y());-
203 q->setFrameRect(QStyle::visualRect(opt.direction, opt.rect, frameRect));-
204-
205-
206-
207 viewportRect = QStyle::visualRect(opt.direction, opt.rect, q->contentsRect());-
208 }
never executed: end of block
else {
0
209 q->setFrameRect(QStyle::visualRect(opt.direction, opt.rect, widgetRect));-
210 controlsRect = q->contentsRect();-
211 viewportRect = QRect(controlsRect.topLeft(), controlsRect.bottomRight() - cornerOffset);-
212 }
never executed: end of block
0
213-
214 cornerOffset = QPoint(needv ? vsbExt : 0, needh ? hsbExt : 0);-
215-
216-
217-
218 if (hasCornerWidget
hasCornerWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& ((needv
needvDescription
TRUEnever evaluated
FALSEnever evaluated
&& vscrollOverlap == 0
vscrollOverlap == 0Description
TRUEnever evaluated
FALSEnever evaluated
) || (needh
needhDescription
TRUEnever evaluated
FALSEnever evaluated
&& hscrollOverlap == 0
hscrollOverlap == 0Description
TRUEnever evaluated
FALSEnever evaluated
)))
0
219 cornerOffset = extPoint;
never executed: cornerOffset = extPoint;
0
220 const QPoint cornerPoint(controlsRect.bottomRight() + QPoint(1, 1) - cornerOffset);-
221-
222-
223-
224 if (needv
needvDescription
TRUEnever evaluated
FALSEnever evaluated
&& needh
needhDescription
TRUEnever evaluated
FALSEnever evaluated
&& !hasCornerWidget
!hasCornerWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& hscrollOverlap == 0
hscrollOverlap == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& vscrollOverlap == 0
vscrollOverlap == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
225 cornerPaintingRect = QStyle::visualRect(opt.direction, opt.rect, QRect(cornerPoint, extSize));
never executed: cornerPaintingRect = QStyle::visualRect(opt.direction, opt.rect, QRect(cornerPoint, extSize));
0
226 else-
227 cornerPaintingRect = QRect();
never executed: cornerPaintingRect = QRect();
0
228 int vHeaderRight = 0;-
229 int hHeaderBottom = 0;-
230 if ((vscrollOverlap > 0
vscrollOverlap > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& needv
needvDescription
TRUEnever evaluated
FALSEnever evaluated
) || (hscrollOverlap > 0
hscrollOverlap > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& needh
needhDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
231 const QList<QHeaderView *> headers = q->findChildren<QHeaderView*>();-
232 if (headers.count() <= 2
headers.count() <= 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
233 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(headers)>::type> _container_((headers)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QHeaderView *header = *_container_.i; _container_.control; _container_.control = 0) {-
234 const QRect geo = header->geometry();-
235 if (header->orientation() == Qt::Vertical
header->orient...= Qt::VerticalDescription
TRUEnever evaluated
FALSEnever evaluated
&& header->isVisible()
header->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& QStyle::visualRect(opt.direction, opt.rect, geo).left() <= opt.rect.width() / 2
QStyle::visual...ct.width() / 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
236 vHeaderRight = QStyle::visualRect(opt.direction, opt.rect, geo).right();
never executed: vHeaderRight = QStyle::visualRect(opt.direction, opt.rect, geo).right();
0
237 else if (header->orientation() == Qt::Horizontal
header->orient...Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
&& header->isVisible()
header->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& geo.top() <= q->frameWidth()
geo.top() <= q->frameWidth()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
238 hHeaderBottom = geo.bottom();
never executed: hHeaderBottom = geo.bottom();
0
239 }
never executed: end of block
0
240 }
never executed: end of block
0
241 }
never executed: end of block
0
242-
243 if (needh
needhDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
244 QRect horizontalScrollBarRect(QPoint(controlsRect.left() + vHeaderRight, cornerPoint.y()), QPoint(cornerPoint.x() - 1, controlsRect.bottom()));-
245-
246-
247-
248-
249 if (!hasCornerWidget
!hasCornerWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& htransient
htransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
250-
251-
252-
253 horizontalScrollBarRect.adjust(0, 0, cornerOffset.x(), 0);
never executed: horizontalScrollBarRect.adjust(0, 0, cornerOffset.x(), 0);
0
254 scrollBarContainers[Qt::Horizontal]->setGeometry(QStyle::visualRect(opt.direction, opt.rect, horizontalScrollBarRect));-
255 scrollBarContainers[Qt::Horizontal]->raise();-
256 }
never executed: end of block
0
257-
258 if (needv
needvDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
259 QRect verticalScrollBarRect (QPoint(cornerPoint.x(), controlsRect.top() + hHeaderBottom), QPoint(controlsRect.right(), cornerPoint.y() - 1));-
260 if (!hasCornerWidget
!hasCornerWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& vtransient
vtransientDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
261-
262-
263-
264 verticalScrollBarRect.adjust(0, 0, 0, cornerOffset.y());
never executed: verticalScrollBarRect.adjust(0, 0, 0, cornerOffset.y());
0
265 scrollBarContainers[Qt::Vertical]->setGeometry(QStyle::visualRect(opt.direction, opt.rect, verticalScrollBarRect));-
266 scrollBarContainers[Qt::Vertical]->raise();-
267 }
never executed: end of block
0
268-
269 if (cornerWidget
cornerWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
270 const QRect cornerWidgetRect(cornerPoint, controlsRect.bottomRight());-
271 cornerWidget->setGeometry(QStyle::visualRect(opt.direction, opt.rect, cornerWidgetRect));-
272 }
never executed: end of block
0
273-
274 scrollBarContainers[Qt::Horizontal]->setVisible(needh);-
275 scrollBarContainers[Qt::Vertical]->setVisible(needv);-
276-
277 if (q->isRightToLeft()
q->isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
278 viewportRect.adjust(right, top, -left, -bottom);
never executed: viewportRect.adjust(right, top, -left, -bottom);
0
279 else-
280 viewportRect.adjust(left, top, -right, -bottom);
never executed: viewportRect.adjust(left, top, -right, -bottom);
0
281-
282 viewport->setGeometry(QStyle::visualRect(opt.direction, opt.rect, viewportRect));-
283}
never executed: end of block
0
284QAbstractScrollArea::QAbstractScrollArea(QAbstractScrollAreaPrivate &dd, QWidget *parent)-
285 :QFrame(dd, parent)-
286{-
287 QAbstractScrollAreaPrivate * const d = d_func();-
288 if (true) {-
289 d->init();-
290 }
never executed: end of block
else {
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
291 d->viewportFilter.reset();
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
292 qt_noop();
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
293 }
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
294}-
295-
296-
297-
298-
299-
300-
301QAbstractScrollArea::QAbstractScrollArea(QWidget *parent)-
302 :QFrame(*new QAbstractScrollAreaPrivate, parent)-
303{-
304 QAbstractScrollAreaPrivate * const d = d_func();-
305 if (true) {-
306 d->init();-
307 }
never executed: end of block
else {
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
308 d->viewportFilter.reset();
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
309 qt_noop();
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
310 }
dead code: { d->viewportFilter.reset(); qt_noop(); }
-
311}-
312-
313-
314-
315-
316-
317QAbstractScrollArea::~QAbstractScrollArea()-
318{-
319 QAbstractScrollAreaPrivate * const d = d_func();-
320-
321 d->viewportFilter.reset();-
322}
never executed: end of block
0
323void QAbstractScrollArea::setViewport(QWidget *widget)-
324{-
325 QAbstractScrollAreaPrivate * const d = d_func();-
326 if (widget != d->viewport
widget != d->viewportDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
327 QWidget *oldViewport = d->viewport;-
328 if (!widget
!widgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
329 widget = new QWidget;
never executed: widget = new QWidget;
0
330 d->viewport = widget;-
331 d->viewport->setParent(this);-
332 d->viewport->setFocusProxy(this);-
333 d->viewport->installEventFilter(d->viewportFilter.data());-
334-
335-
336 d->viewport->grabGesture(Qt::PanGesture);-
337-
338-
339 d->layoutChildren();-
340-
341 QWidgetPrivate::get(d->viewport)->initializeViewportFramebuffer();-
342-
343 if (isVisible()
isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
344 d->viewport->show();
never executed: d->viewport->show();
0
345 setupViewport(widget);-
346 delete oldViewport;-
347 }
never executed: end of block
0
348}
never executed: end of block
0
349QWidget *QAbstractScrollArea::viewport() const-
350{-
351 const QAbstractScrollAreaPrivate * const d = d_func();-
352 return
never executed: return d->viewport;
d->viewport;
never executed: return d->viewport;
0
353}-
354-
355-
356-
357-
358-
359-
360-
361QSize QAbstractScrollArea::maximumViewportSize() const-
362{-
363 const QAbstractScrollAreaPrivate * const d = d_func();-
364 int hsbExt = d->hbar->sizeHint().height();-
365 int vsbExt = d->vbar->sizeHint().width();-
366-
367 int f = 2 * d->frameWidth;-
368 QSize max = size() - QSize(f + d->left + d->right, f + d->top + d->bottom);-
369 if (d->vbarpolicy == Qt::ScrollBarAlwaysOn
d->vbarpolicy ...ollBarAlwaysOnDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
370 max.rwidth() -= vsbExt;
never executed: max.rwidth() -= vsbExt;
0
371 if (d->hbarpolicy == Qt::ScrollBarAlwaysOn
d->hbarpolicy ...ollBarAlwaysOnDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
372 max.rheight() -= hsbExt;
never executed: max.rheight() -= hsbExt;
0
373 return
never executed: return max;
max;
never executed: return max;
0
374}-
375Qt::ScrollBarPolicy QAbstractScrollArea::verticalScrollBarPolicy() const-
376{-
377 const QAbstractScrollAreaPrivate * const d = d_func();-
378 return
never executed: return d->vbarpolicy;
d->vbarpolicy;
never executed: return d->vbarpolicy;
0
379}-
380-
381void QAbstractScrollArea::setVerticalScrollBarPolicy(Qt::ScrollBarPolicy policy)-
382{-
383 QAbstractScrollAreaPrivate * const d = d_func();-
384 const Qt::ScrollBarPolicy oldPolicy = d->vbarpolicy;-
385 d->vbarpolicy = policy;-
386 if (isVisible()
isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
387 d->layoutChildren();
never executed: d->layoutChildren();
0
388 if (oldPolicy != d->vbarpolicy
oldPolicy != d->vbarpolicyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
389 d->scrollBarPolicyChanged(Qt::Vertical, d->vbarpolicy);
never executed: d->scrollBarPolicyChanged(Qt::Vertical, d->vbarpolicy);
0
390}
never executed: end of block
0
391-
392-
393-
394-
395-
396-
397-
398QScrollBar *QAbstractScrollArea::verticalScrollBar() const-
399{-
400 const QAbstractScrollAreaPrivate * const d = d_func();-
401 return
never executed: return d->vbar;
d->vbar;
never executed: return d->vbar;
0
402}-
403void QAbstractScrollArea::setVerticalScrollBar(QScrollBar *scrollBar)-
404{-
405 QAbstractScrollAreaPrivate * const d = d_func();-
406 if (!scrollBar
!scrollBarDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
407 QMessageLogger(__FILE__, 709, __PRETTY_FUNCTION__).warning("QAbstractScrollArea::setVerticalScrollBar: Cannot set a null scroll bar");-
408 return;
never executed: return;
0
409 }-
410-
411 d->replaceScrollBar(scrollBar, Qt::Vertical);-
412}
never executed: end of block
0
413Qt::ScrollBarPolicy QAbstractScrollArea::horizontalScrollBarPolicy() const-
414{-
415 const QAbstractScrollAreaPrivate * const d = d_func();-
416 return
never executed: return d->hbarpolicy;
d->hbarpolicy;
never executed: return d->hbarpolicy;
0
417}-
418-
419void QAbstractScrollArea::setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy policy)-
420{-
421 QAbstractScrollAreaPrivate * const d = d_func();-
422 const Qt::ScrollBarPolicy oldPolicy = d->hbarpolicy;-
423 d->hbarpolicy = policy;-
424 if (isVisible()
isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
425 d->layoutChildren();
never executed: d->layoutChildren();
0
426 if (oldPolicy != d->hbarpolicy
oldPolicy != d->hbarpolicyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
427 d->scrollBarPolicyChanged(Qt::Horizontal, d->hbarpolicy);
never executed: d->scrollBarPolicyChanged(Qt::Horizontal, d->hbarpolicy);
0
428}
never executed: end of block
0
429-
430-
431-
432-
433-
434-
435QScrollBar *QAbstractScrollArea::horizontalScrollBar() const-
436{-
437 const QAbstractScrollAreaPrivate * const d = d_func();-
438 return
never executed: return d->hbar;
d->hbar;
never executed: return d->hbar;
0
439}-
440void QAbstractScrollArea::setHorizontalScrollBar(QScrollBar *scrollBar)-
441{-
442 QAbstractScrollAreaPrivate * const d = d_func();-
443 if (!scrollBar
!scrollBarDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
444 QMessageLogger(__FILE__, 770, __PRETTY_FUNCTION__).warning("QAbstractScrollArea::setHorizontalScrollBar: Cannot set a null scroll bar");-
445 return;
never executed: return;
0
446 }-
447-
448 d->replaceScrollBar(scrollBar, Qt::Horizontal);-
449}
never executed: end of block
0
450QWidget *QAbstractScrollArea::cornerWidget() const-
451{-
452 const QAbstractScrollAreaPrivate * const d = d_func();-
453 return
never executed: return d->cornerWidget;
d->cornerWidget;
never executed: return d->cornerWidget;
0
454}-
455void QAbstractScrollArea::setCornerWidget(QWidget *widget)-
456{-
457 QAbstractScrollAreaPrivate * const d = d_func();-
458 QWidget* oldWidget = d->cornerWidget;-
459 if (oldWidget != widget
oldWidget != widgetDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
460 if (oldWidget
oldWidgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
461 oldWidget->hide();
never executed: oldWidget->hide();
0
462 d->cornerWidget = widget;-
463-
464 if (widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
&& widget->parentWidget() != this
widget->parentWidget() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
465 widget->setParent(this);
never executed: widget->setParent(this);
0
466-
467 d->layoutChildren();-
468 if (widget
widgetDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
469 widget->show();
never executed: widget->show();
0
470 }
never executed: end of block
else {
0
471 d->cornerWidget = widget;-
472 d->layoutChildren();-
473 }
never executed: end of block
0
474}-
475void QAbstractScrollArea::addScrollBarWidget(QWidget *widget, Qt::Alignment alignment)-
476{-
477 QAbstractScrollAreaPrivate * const d = d_func();-
478-
479 if (widget == 0
widget == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
480 return;
never executed: return;
0
481-
482 const Qt::Orientation scrollBarOrientation-
483 = ((
(alignment & Qt::AlignLeft)Description
TRUEnever evaluated
FALSEnever evaluated
alignment & Qt::AlignLeft)
(alignment & Qt::AlignLeft)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(alignment & Qt::AlignRight)Description
TRUEnever evaluated
FALSEnever evaluated
alignment & Qt::AlignRight)
(alignment & Qt::AlignRight)Description
TRUEnever evaluated
FALSEnever evaluated
) ? Qt::Horizontal : Qt::Vertical;
0
484 const QAbstractScrollAreaScrollBarContainer::LogicalPosition position-
485 = ((
(alignment & Qt::AlignRight)Description
TRUEnever evaluated
FALSEnever evaluated
alignment & Qt::AlignRight)
(alignment & Qt::AlignRight)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(alignment & Qt::AlignBottom)Description
TRUEnever evaluated
FALSEnever evaluated
alignment & Qt::AlignBottom)
(alignment & Qt::AlignBottom)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
486 ? QAbstractScrollAreaScrollBarContainer::LogicalRight : QAbstractScrollAreaScrollBarContainer::LogicalLeft;-
487 d->scrollBarContainers[scrollBarOrientation]->addWidget(widget, position);-
488 d->layoutChildren();-
489 if (isHidden() == false
isHidden() == falseDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
490 widget->show();
never executed: widget->show();
0
491}
never executed: end of block
0
492QWidgetList QAbstractScrollArea::scrollBarWidgets(Qt::Alignment alignment)-
493{-
494 QAbstractScrollAreaPrivate * const d = d_func();-
495-
496 QWidgetList list;-
497-
498 if (alignment & Qt::AlignLeft
alignment & Qt::AlignLeftDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
499 list += d->scrollBarContainers[Qt::Horizontal]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalLeft);
never executed: list += d->scrollBarContainers[Qt::Horizontal]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalLeft);
0
500 if (alignment & Qt::AlignRight
alignment & Qt::AlignRightDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
501 list += d->scrollBarContainers[Qt::Horizontal]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalRight);
never executed: list += d->scrollBarContainers[Qt::Horizontal]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalRight);
0
502 if (alignment & Qt::AlignTop
alignment & Qt::AlignTopDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
503 list += d->scrollBarContainers[Qt::Vertical]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalLeft);
never executed: list += d->scrollBarContainers[Qt::Vertical]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalLeft);
0
504 if (alignment & Qt::AlignBottom
alignment & Qt::AlignBottomDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
505 list += d->scrollBarContainers[Qt::Vertical]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalRight);
never executed: list += d->scrollBarContainers[Qt::Vertical]->widgets(QAbstractScrollAreaScrollBarContainer::LogicalRight);
0
506-
507 return
never executed: return list;
list;
never executed: return list;
0
508}-
509void QAbstractScrollArea::setViewportMargins(int left, int top, int right, int bottom)-
510{-
511 QAbstractScrollAreaPrivate * const d = d_func();-
512 d->left = left;-
513 d->top = top;-
514 d->right = right;-
515 d->bottom = bottom;-
516 d->layoutChildren();-
517}
never executed: end of block
0
518void QAbstractScrollArea::setViewportMargins(const QMargins &margins)-
519{-
520 setViewportMargins(margins.left(), margins.top(),-
521 margins.right(), margins.bottom());-
522}
never executed: end of block
0
523QMargins QAbstractScrollArea::viewportMargins() const-
524{-
525 const QAbstractScrollAreaPrivate * const d = d_func();-
526 return
never executed: return QMargins(d->left, d->top, d->right, d->bottom);
QMargins(d->left, d->top, d->right, d->bottom);
never executed: return QMargins(d->left, d->top, d->right, d->bottom);
0
527}-
528-
529-
530bool QAbstractScrollArea::eventFilter(QObject *o, QEvent *e)-
531{-
532 QAbstractScrollAreaPrivate * const d = d_func();-
533 if ((o == d->hbar
o == d->hbarDescription
TRUEnever evaluated
FALSEnever evaluated
|| o == d->vbar
o == d->vbarDescription
TRUEnever evaluated
FALSEnever evaluated
) && (e->type() == QEvent::HoverEnter
e->type() == Q...nt::HoverEnterDescription
TRUEnever evaluated
FALSEnever evaluated
|| e->type() == QEvent::HoverLeave
e->type() == Q...nt::HoverLeaveDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
534 if (d->hbarpolicy == Qt::ScrollBarAsNeeded
d->hbarpolicy ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->vbarpolicy == Qt::ScrollBarAsNeeded
d->vbarpolicy ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
535 QScrollBar *sbar = static_cast<QScrollBar*>(o);-
536 QScrollBar *sibling = sbar == d->hbar
sbar == d->hbarDescription
TRUEnever evaluated
FALSEnever evaluated
? d->vbar : d->hbar;
0
537 if (sbar->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, sbar)
sbar->style()-...ient, 0, sbar)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
538 sibling->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, sibling)
sibling->style...t, 0, sibling)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
539 d->setScrollBarTransient(sibling, e->type() == QEvent::HoverLeave);
never executed: d->setScrollBarTransient(sibling, e->type() == QEvent::HoverLeave);
0
540 }
never executed: end of block
0
541 }
never executed: end of block
0
542 return
never executed: return QFrame::eventFilter(o, e);
QFrame::eventFilter(o, e);
never executed: return QFrame::eventFilter(o, e);
0
543}-
544bool QAbstractScrollArea::event(QEvent *e)-
545{-
546 QAbstractScrollAreaPrivate * const d = d_func();-
547 switch (e->type()) {-
548 case
never executed: case QEvent::AcceptDropsChange:
QEvent::AcceptDropsChange:
never executed: case QEvent::AcceptDropsChange:
0
549-
550-
551-
552-
553-
554 if (d->viewport
d->viewportDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
555 d->viewport->setAcceptDrops(acceptDrops());
never executed: d->viewport->setAcceptDrops(acceptDrops());
0
556 break;
never executed: break;
0
557 case
never executed: case QEvent::MouseTrackingChange:
QEvent::MouseTrackingChange:
never executed: case QEvent::MouseTrackingChange:
0
558 d->viewport->setMouseTracking(hasMouseTracking());-
559 break;
never executed: break;
0
560 case
never executed: case QEvent::Resize:
QEvent::Resize:
never executed: case QEvent::Resize:
0
561 if (!d->inResize
!d->inResizeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
562 d->inResize = true;-
563 d->layoutChildren();-
564 d->inResize = false;-
565 }
never executed: end of block
0
566 break;
never executed: break;
0
567 case
never executed: case QEvent::Show:
QEvent::Show:
never executed: case QEvent::Show:
0
568 if (!d->shownOnce
!d->shownOnceDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->sizeAdjustPolicy == QAbstractScrollArea::AdjustToContentsOnFirstShow
d->sizeAdjustP...ntsOnFirstShowDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
569 d->sizeHint = QSize();-
570 updateGeometry();-
571 }
never executed: end of block
0
572 d->shownOnce = true;-
573 return
never executed: return QFrame::event(e);
QFrame::event(e);
never executed: return QFrame::event(e);
0
574 case
never executed: case QEvent::Paint:
QEvent::Paint:
never executed: case QEvent::Paint:
{
0
575 QStyleOption option;-
576 option.initFrom(this);-
577 if (d->cornerPaintingRect.isValid()
d->cornerPaint...Rect.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
578 option.rect = d->cornerPaintingRect;-
579 QPainter p(this);-
580 style()->drawPrimitive(QStyle::PE_PanelScrollAreaCorner, &option, &p, this);-
581 }
never executed: end of block
0
582-
583-
584-
585-
586-
587-
588-
589 }-
590 QFrame::paintEvent((QPaintEvent*)e);-
591 break;
never executed: break;
0
592-
593 case
never executed: case QEvent::ContextMenu:
QEvent::ContextMenu:
never executed: case QEvent::ContextMenu:
0
594 if (static_cast<
static_cast<QC...vent::KeyboardDescription
TRUEnever evaluated
FALSEnever evaluated
QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard
static_cast<QC...vent::KeyboardDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
595 return
never executed: return QFrame::event(e);
QFrame::event(e);
never executed: return QFrame::event(e);
0
596 e->ignore();-
597 break;
never executed: break;
0
598-
599 case
never executed: case QEvent::MouseButtonPress:
QEvent::MouseButtonPress:
never executed: case QEvent::MouseButtonPress:
0
600 case
never executed: case QEvent::MouseButtonRelease:
QEvent::MouseButtonRelease:
never executed: case QEvent::MouseButtonRelease:
0
601 case
never executed: case QEvent::MouseButtonDblClick:
QEvent::MouseButtonDblClick:
never executed: case QEvent::MouseButtonDblClick:
0
602 case
never executed: case QEvent::MouseMove:
QEvent::MouseMove:
never executed: case QEvent::MouseMove:
0
603 case
never executed: case QEvent::Wheel:
QEvent::Wheel:
never executed: case QEvent::Wheel:
0
604-
605 case
never executed: case QEvent::Drop:
QEvent::Drop:
never executed: case QEvent::Drop:
0
606 case
never executed: case QEvent::DragEnter:
QEvent::DragEnter:
never executed: case QEvent::DragEnter:
0
607 case
never executed: case QEvent::DragMove:
QEvent::DragMove:
never executed: case QEvent::DragMove:
0
608 case
never executed: case QEvent::DragLeave:
QEvent::DragLeave:
never executed: case QEvent::DragLeave:
0
609-
610-
611 case
never executed: case QEvent::TouchBegin:
QEvent::TouchBegin:
never executed: case QEvent::TouchBegin:
0
612 case
never executed: case QEvent::TouchUpdate:
QEvent::TouchUpdate:
never executed: case QEvent::TouchUpdate:
0
613 case
never executed: case QEvent::TouchEnd:
QEvent::TouchEnd:
never executed: case QEvent::TouchEnd:
0
614 return
never executed: return false;
false;
never executed: return false;
0
615-
616 case
never executed: case QEvent::Gesture:
QEvent::Gesture:
never executed: case QEvent::Gesture:
0
617 {-
618 QGestureEvent *ge = static_cast<QGestureEvent *>(e);-
619 QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));-
620 if (g
gDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
621 QScrollBar *hBar = horizontalScrollBar();-
622 QScrollBar *vBar = verticalScrollBar();-
623 QPointF delta = g->delta();-
624 if (!delta.isNull()
!delta.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
625 if (QApplication::isRightToLeft()
QApplication::isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
626 delta.rx() *= -1;
never executed: delta.rx() *= -1;
0
627 int newX = hBar->value() - delta.x();-
628 int newY = vBar->value() - delta.y();-
629 hBar->setValue(newX);-
630 vBar->setValue(newY);-
631 }
never executed: end of block
0
632 return
never executed: return true;
true;
never executed: return true;
0
633 }-
634 return
never executed: return false;
false;
never executed: return false;
0
635 }-
636-
637 case
never executed: case QEvent::ScrollPrepare:
QEvent::ScrollPrepare:
never executed: case QEvent::ScrollPrepare:
0
638 {-
639 QScrollPrepareEvent *se = static_cast<QScrollPrepareEvent *>(e);-
640 if (d->canStartScrollingAt(se->startPos().toPoint())
d->canStartScr...s().toPoint())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
641 QScrollBar *hBar = horizontalScrollBar();-
642 QScrollBar *vBar = verticalScrollBar();-
643-
644 se->setViewportSize(QSizeF(viewport()->size()));-
645 se->setContentPosRange(QRectF(0, 0, hBar->maximum(), vBar->maximum()));-
646 se->setContentPos(QPointF(hBar->value(), vBar->value()));-
647 se->accept();-
648 return
never executed: return true;
true;
never executed: return true;
0
649 }-
650 return
never executed: return false;
false;
never executed: return false;
0
651 }-
652 case
never executed: case QEvent::Scroll:
QEvent::Scroll:
never executed: case QEvent::Scroll:
0
653 {-
654 QScrollEvent *se = static_cast<QScrollEvent *>(e);-
655-
656 QScrollBar *hBar = horizontalScrollBar();-
657 QScrollBar *vBar = verticalScrollBar();-
658 hBar->setValue(se->contentPos().x());-
659 vBar->setValue(se->contentPos().y());-
660 {-
661 QPoint delta = d->overshoot - se->overshootDistance().toPoint();-
662 if (!delta.isNull()
!delta.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
663 viewport()->move(viewport()->pos() + delta);
never executed: viewport()->move(viewport()->pos() + delta);
0
664 }-
665 d->overshoot = se->overshootDistance().toPoint();-
666-
667 return
never executed: return true;
true;
never executed: return true;
0
668 }-
669 case
never executed: case QEvent::StyleChange:
QEvent::StyleChange:
never executed: case QEvent::StyleChange:
0
670 case
never executed: case QEvent::LayoutDirectionChange:
QEvent::LayoutDirectionChange:
never executed: case QEvent::LayoutDirectionChange:
0
671 case
never executed: case QEvent::ApplicationLayoutDirectionChange:
QEvent::ApplicationLayoutDirectionChange:
never executed: case QEvent::ApplicationLayoutDirectionChange:
0
672 case
never executed: case QEvent::LayoutRequest:
QEvent::LayoutRequest:
never executed: case QEvent::LayoutRequest:
0
673 d->layoutChildren();-
674-
675 default
never executed: default:
:
never executed: default:
code before this statement never executed: default:
0
676 return
never executed: return QFrame::event(e);
QFrame::event(e);
never executed: return QFrame::event(e);
0
677 }-
678 return
never executed: return true;
true;
never executed: return true;
0
679}-
680bool QAbstractScrollArea::viewportEvent(QEvent *e)-
681{-
682 switch (e->type()) {-
683 case
never executed: case QEvent::Resize:
QEvent::Resize:
never executed: case QEvent::Resize:
0
684 case
never executed: case QEvent::Paint:
QEvent::Paint:
never executed: case QEvent::Paint:
0
685 case
never executed: case QEvent::MouseButtonPress:
QEvent::MouseButtonPress:
never executed: case QEvent::MouseButtonPress:
0
686 case
never executed: case QEvent::MouseButtonRelease:
QEvent::MouseButtonRelease:
never executed: case QEvent::MouseButtonRelease:
0
687 case
never executed: case QEvent::MouseButtonDblClick:
QEvent::MouseButtonDblClick:
never executed: case QEvent::MouseButtonDblClick:
0
688 case
never executed: case QEvent::TouchBegin:
QEvent::TouchBegin:
never executed: case QEvent::TouchBegin:
0
689 case
never executed: case QEvent::TouchUpdate:
QEvent::TouchUpdate:
never executed: case QEvent::TouchUpdate:
0
690 case
never executed: case QEvent::TouchEnd:
QEvent::TouchEnd:
never executed: case QEvent::TouchEnd:
0
691 case
never executed: case QEvent::MouseMove:
QEvent::MouseMove:
never executed: case QEvent::MouseMove:
0
692 case
never executed: case QEvent::ContextMenu:
QEvent::ContextMenu:
never executed: case QEvent::ContextMenu:
0
693-
694 case
never executed: case QEvent::Wheel:
QEvent::Wheel:
never executed: case QEvent::Wheel:
0
695-
696-
697 case
never executed: case QEvent::Drop:
QEvent::Drop:
never executed: case QEvent::Drop:
0
698 case
never executed: case QEvent::DragEnter:
QEvent::DragEnter:
never executed: case QEvent::DragEnter:
0
699 case
never executed: case QEvent::DragMove:
QEvent::DragMove:
never executed: case QEvent::DragMove:
0
700 case
never executed: case QEvent::DragLeave:
QEvent::DragLeave:
never executed: case QEvent::DragLeave:
0
701-
702-
703-
704-
705 if (e->type() == QEvent::Resize
e->type() == QEvent::ResizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
706 QWidgetPrivate::get(viewport())->resizeViewportFramebuffer();
never executed: QWidgetPrivate::get(viewport())->resizeViewportFramebuffer();
0
707-
708 return
never executed: return QFrame::event(e);
QFrame::event(e);
never executed: return QFrame::event(e);
0
709 case
never executed: case QEvent::LayoutRequest:
QEvent::LayoutRequest:
never executed: case QEvent::LayoutRequest:
0
710-
711 case
never executed: case QEvent::Gesture:
QEvent::Gesture:
never executed: case QEvent::Gesture:
0
712 case
never executed: case QEvent::GestureOverride:
QEvent::GestureOverride:
never executed: case QEvent::GestureOverride:
0
713 return
never executed: return event(e);
event(e);
never executed: return event(e);
0
714-
715 case
never executed: case QEvent::ScrollPrepare:
QEvent::ScrollPrepare:
never executed: case QEvent::ScrollPrepare:
0
716 case
never executed: case QEvent::Scroll:
QEvent::Scroll:
never executed: case QEvent::Scroll:
0
717 return
never executed: return event(e);
event(e);
never executed: return event(e);
0
718 default
never executed: default:
:
never executed: default:
0
719 break;
never executed: break;
0
720 }-
721 return
never executed: return false;
false;
never executed: return false;
0
722}-
723void QAbstractScrollArea::resizeEvent(QResizeEvent *)-
724{-
725}-
726void QAbstractScrollArea::paintEvent(QPaintEvent*)-
727{-
728}-
729void QAbstractScrollArea::mousePressEvent(QMouseEvent *e)-
730{-
731 e->ignore();-
732}
never executed: end of block
0
733void QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e)-
734{-
735 e->ignore();-
736}
never executed: end of block
0
737void QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e)-
738{-
739 e->ignore();-
740}
never executed: end of block
0
741void QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e)-
742{-
743 e->ignore();-
744}
never executed: end of block
0
745void QAbstractScrollArea::wheelEvent(QWheelEvent *e)-
746{-
747 QAbstractScrollAreaPrivate * const d = d_func();-
748 if (static_cast<
static_cast<QW...Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
QWheelEvent*>(e)->orientation() == Qt::Horizontal
static_cast<QW...Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
749 QApplication::sendEvent(d->hbar, e);
never executed: QApplication::sendEvent(d->hbar, e);
0
750 else-
751 QApplication::sendEvent(d->vbar, e);
never executed: QApplication::sendEvent(d->vbar, e);
0
752}-
753void QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e)-
754{-
755 e->ignore();-
756}
never executed: end of block
0
757-
758-
759-
760-
761-
762-
763-
764void QAbstractScrollArea::keyPressEvent(QKeyEvent * e)-
765{-
766 QAbstractScrollAreaPrivate * const d = d_func();-
767 if (false){
dead code: { }
-
768-
769 }
dead code: { }
else if (e == QKeySequence::MoveToPreviousPage
e == QKeySeque...ToPreviousPageDescription
TRUEnever evaluated
FALSEnever evaluated
) {
-
770 d->vbar->triggerAction(QScrollBar::SliderPageStepSub);-
771 }
never executed: end of block
else if (e == QKeySequence::MoveToNextPage
e == QKeySeque...MoveToNextPageDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
772 d->vbar->triggerAction(QScrollBar::SliderPageStepAdd);-
773-
774 }
never executed: end of block
else {
0
775-
776-
777-
778-
779-
780-
781 switch (e->key()) {-
782 case
never executed: case Qt::Key_Up:
Qt::Key_Up:
never executed: case Qt::Key_Up:
0
783 d->vbar->triggerAction(QScrollBar::SliderSingleStepSub);-
784 break;
never executed: break;
0
785 case
never executed: case Qt::Key_Down:
Qt::Key_Down:
never executed: case Qt::Key_Down:
0
786 d->vbar->triggerAction(QScrollBar::SliderSingleStepAdd);-
787 break;
never executed: break;
0
788 case
never executed: case Qt::Key_Left:
Qt::Key_Left:
never executed: case Qt::Key_Left:
0
789 d->hbar->triggerAction(-
790 layoutDirection() == Qt::LeftToRight-
791 ? QScrollBar::SliderSingleStepSub : QScrollBar::SliderSingleStepAdd);-
792 break;
never executed: break;
0
793 case
never executed: case Qt::Key_Right:
Qt::Key_Right:
never executed: case Qt::Key_Right:
0
794 d->hbar->triggerAction(-
795 layoutDirection() == Qt::LeftToRight-
796 ? QScrollBar::SliderSingleStepAdd : QScrollBar::SliderSingleStepSub);-
797 break;
never executed: break;
0
798 default
never executed: default:
:
never executed: default:
0
799 e->ignore();-
800 return;
never executed: return;
0
801 }-
802 }-
803 e->accept();-
804}
never executed: end of block
0
805void QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *)-
806{-
807}-
808void QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *)-
809{-
810}-
811void QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *)-
812{-
813}-
814void QAbstractScrollArea::dropEvent(QDropEvent *)-
815{-
816}-
817void QAbstractScrollArea::scrollContentsBy(int, int)-
818{-
819 viewport()->update();-
820}
never executed: end of block
0
821-
822bool QAbstractScrollAreaPrivate::canStartScrollingAt( const QPoint &startPos )-
823{-
824 QAbstractScrollArea * const q = q_func();-
825-
826-
827-
828-
829 if (QGraphicsView *view = qobject_cast<QGraphicsView *>(q)
QGraphicsView ...hicsView *>(q)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
830 if (view->dragMode() != QGraphicsView::NoDrag
view->dragMode...csView::NoDragDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
831 return
never executed: return false;
false;
never executed: return false;
0
832-
833 QGraphicsItem *childItem = view->itemAt(startPos);-
834-
835 if (childItem
childItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(childItem->fl...ItemIsMovable)Description
TRUEnever evaluated
FALSEnever evaluated
childItem->flags() & QGraphicsItem::ItemIsMovable)
(childItem->fl...ItemIsMovable)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
836 return
never executed: return false;
false;
never executed: return false;
0
837 }
never executed: end of block
0
838-
839-
840-
841 if (qobject_cast<QAbstractSlider *>(q->viewport()->childAt(startPos))
qobject_cast<Q...dAt(startPos))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
842 return
never executed: return false;
false;
never executed: return false;
0
843 }-
844-
845 return
never executed: return true;
true;
never executed: return true;
0
846}-
847-
848void QAbstractScrollAreaPrivate::flashScrollBars()-
849{-
850 bool htransient = hbar->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, hbar);-
851 if ((
(hbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
hbarpolicy != Qt::ScrollBarAlwaysOff)
(hbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
&& (hbarpolicy == Qt::ScrollBarAsNeeded
hbarpolicy == ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
|| htransient
htransientDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
852 hbar->d_func()->flash();
never executed: hbar->d_func()->flash();
0
853 bool vtransient = vbar->style()->styleHint(QStyle::SH_ScrollBar_Transient, 0, vbar);-
854 if ((
(vbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
vbarpolicy != Qt::ScrollBarAlwaysOff)
(vbarpolicy !=...lBarAlwaysOff)Description
TRUEnever evaluated
FALSEnever evaluated
&& (vbarpolicy == Qt::ScrollBarAsNeeded
vbarpolicy == ...ollBarAsNeededDescription
TRUEnever evaluated
FALSEnever evaluated
|| vtransient
vtransientDescription
TRUEnever evaluated
FALSEnever evaluated
))
0
855 vbar->d_func()->flash();
never executed: vbar->d_func()->flash();
0
856}
never executed: end of block
0
857-
858void QAbstractScrollAreaPrivate::setScrollBarTransient(QScrollBar *scrollBar, bool transient)-
859{-
860 scrollBar->d_func()->setTransient(transient);-
861}
never executed: end of block
0
862-
863void QAbstractScrollAreaPrivate::_q_hslide(int x)-
864{-
865 QAbstractScrollArea * const q = q_func();-
866 int dx = xoffset - x;-
867 xoffset = x;-
868 q->scrollContentsBy(dx, 0);-
869 flashScrollBars();-
870}
never executed: end of block
0
871-
872void QAbstractScrollAreaPrivate::_q_vslide(int y)-
873{-
874 QAbstractScrollArea * const q = q_func();-
875 int dy = yoffset - y;-
876 yoffset = y;-
877 q->scrollContentsBy(0, dy);-
878 flashScrollBars();-
879}
never executed: end of block
0
880-
881void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars()-
882{-
883 layoutChildren();-
884-
885-
886-
887-
888-
889-
890-
891}
never executed: end of block
0
892-
893QPoint QAbstractScrollAreaPrivate::contentsOffset() const-
894{-
895 const QAbstractScrollArea * const q = q_func();-
896 QPoint offset;-
897 if (vbar->isVisible()
vbar->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
898 offset.setY(vbar->value());
never executed: offset.setY(vbar->value());
0
899 if (hbar->isVisible()
hbar->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
900 if (q->isRightToLeft()
q->isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
901 offset.setX(hbar->maximum() - hbar->value());
never executed: offset.setX(hbar->maximum() - hbar->value());
0
902 else-
903 offset.setX(hbar->value());
never executed: offset.setX(hbar->value());
0
904 }-
905 return
never executed: return offset;
offset;
never executed: return offset;
0
906}-
907-
908-
909-
910-
911-
912QSize QAbstractScrollArea::minimumSizeHint() const-
913{-
914 const QAbstractScrollAreaPrivate * const d = d_func();-
915 int hsbExt = d->hbar->sizeHint().height();-
916 int vsbExt = d->vbar->sizeHint().width();-
917 int extra = 2 * d->frameWidth;-
918 QStyleOption opt;-
919 opt.initFrom(this);-
920 if ((
(d->frameStyle...rame::NoFrame)Description
TRUEnever evaluated
FALSEnever evaluated
d->frameStyle != QFrame::NoFrame)
(d->frameStyle...rame::NoFrame)Description
TRUEnever evaluated
FALSEnever evaluated
0
921 && style()->styleHint(QStyle::SH_ScrollView_FrameOnlyAroundContents, &opt, this)
style()->style...s, &opt, this)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
922 extra += style()->pixelMetric(QStyle::PM_ScrollView_ScrollBarSpacing, &opt, this);-
923 }
never executed: end of block
0
924 return
never executed: return QSize(d->scrollBarContainers[Qt::Horizontal]->sizeHint().width() + vsbExt + extra, d->scrollBarContainers[Qt::Vertical]->sizeHint().height() + hsbExt + extra);
QSize(d->scrollBarContainers[Qt::Horizontal]->sizeHint().width() + vsbExt + extra,
never executed: return QSize(d->scrollBarContainers[Qt::Horizontal]->sizeHint().width() + vsbExt + extra, d->scrollBarContainers[Qt::Vertical]->sizeHint().height() + hsbExt + extra);
0
925 d->scrollBarContainers[Qt::Vertical]->sizeHint().height() + hsbExt + extra);
never executed: return QSize(d->scrollBarContainers[Qt::Horizontal]->sizeHint().width() + vsbExt + extra, d->scrollBarContainers[Qt::Vertical]->sizeHint().height() + hsbExt + extra);
0
926}-
927-
928-
929-
930-
931-
932-
933QSize QAbstractScrollArea::sizeHint() const-
934{-
935 const QAbstractScrollAreaPrivate * const d = d_func();-
936 if (d->sizeAdjustPolicy == QAbstractScrollArea::AdjustIgnored
d->sizeAdjustP...:AdjustIgnoredDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
937 return
never executed: return QSize(256, 192);
QSize(256, 192);
never executed: return QSize(256, 192);
0
938-
939 if (!d->sizeHint.isValid()
!d->sizeHint.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
|| d->sizeAdjustPolicy == QAbstractScrollArea::AdjustToContents
d->sizeAdjustP...justToContentsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
940 const int f = 2 * d->frameWidth;-
941 const QSize frame( f, f );-
942 const QSize scrollbars(d->vbarpolicy == Qt::ScrollBarAlwaysOn ? d->vbar->sizeHint().width() : 0,-
943 d->hbarpolicy == Qt::ScrollBarAlwaysOn ? d->hbar->sizeHint().height() : 0);-
944 d->sizeHint = frame + scrollbars + viewportSizeHint();-
945 }
never executed: end of block
0
946 return
never executed: return d->sizeHint;
d->sizeHint;
never executed: return d->sizeHint;
0
947}-
948-
949-
950-
951-
952-
953-
954-
955QSize QAbstractScrollArea::viewportSizeHint() const-
956{-
957 const QAbstractScrollAreaPrivate * const d = d_func();-
958 if (d->viewport
d->viewportDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
959 const QSize sh = d->viewport->sizeHint();-
960 if (sh.isValid()
sh.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
961 return
never executed: return sh;
sh;
never executed: return sh;
0
962 }-
963 }
never executed: end of block
0
964 const int h = qMax(10, fontMetrics().height());-
965 return
never executed: return QSize(6 * h, 4 * h);
QSize(6 * h, 4 * h);
never executed: return QSize(6 * h, 4 * h);
0
966}-
967QAbstractScrollArea::SizeAdjustPolicy QAbstractScrollArea::sizeAdjustPolicy() const-
968{-
969 const QAbstractScrollAreaPrivate * const d = d_func();-
970 return
never executed: return d->sizeAdjustPolicy;
d->sizeAdjustPolicy;
never executed: return d->sizeAdjustPolicy;
0
971}-
972-
973void QAbstractScrollArea::setSizeAdjustPolicy(SizeAdjustPolicy policy)-
974{-
975 QAbstractScrollAreaPrivate * const d = d_func();-
976 if (d->sizeAdjustPolicy == policy
d->sizeAdjustPolicy == policyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
977 return;
never executed: return;
0
978-
979 d->sizeAdjustPolicy = policy;-
980 d->sizeHint = QSize();-
981 updateGeometry();-
982}
never executed: end of block
0
983void QAbstractScrollArea::setupViewport(QWidget *viewport)-
984{-
985 (void)viewport;;-
986}
never executed: end of block
0
987-
988-
989-
Switch to Source codePreprocessed file

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