qabstractslider.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/widgets/qabstractslider.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5QAbstractSliderPrivate::QAbstractSliderPrivate()-
6 : minimum(0), maximum(99), pageStep(10), value(0), position(0), pressValue(-1),-
7 singleStep(1), offset_accumulated(0), tracking(true),-
8 blocktracking(false), pressed(false),-
9 invertedAppearance(false), invertedControls(false),-
10 orientation(Qt::Horizontal), repeatAction(QAbstractSlider::SliderNoAction)-
11-
12-
13-
14-
15-
16-
17{-
18-
19-
20}
never executed: end of block
0
21-
22QAbstractSliderPrivate::~QAbstractSliderPrivate()-
23{-
24}-
25void QAbstractSlider::setRange(int min, int max)-
26{-
27 QAbstractSliderPrivate * const d = d_func();-
28 int oldMin = d->minimum;-
29 int oldMax = d->maximum;-
30 d->minimum = min;-
31 d->maximum = qMax(min, max);-
32 if (oldMin != d->minimum
oldMin != d->minimumDescription
TRUEnever evaluated
FALSEnever evaluated
|| oldMax != d->maximum
oldMax != d->maximumDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
33 sliderChange(SliderRangeChange);-
34 rangeChanged(d->minimum, d->maximum);-
35 setValue(d->value);-
36 }
never executed: end of block
0
37}
never executed: end of block
0
38-
39-
40void QAbstractSliderPrivate::setSteps(int single, int page)-
41{-
42 QAbstractSlider * const q = q_func();-
43 singleStep = qAbs(single);-
44 pageStep = qAbs(page);-
45 q->sliderChange(QAbstractSlider::SliderStepsChange);-
46}
never executed: end of block
0
47QAbstractSlider::QAbstractSlider(QWidget *parent)-
48 :QWidget(*new QAbstractSliderPrivate, parent, 0)-
49{-
50}
never executed: end of block
0
51-
52-
53QAbstractSlider::QAbstractSlider(QAbstractSliderPrivate &dd, QWidget *parent)-
54 :QWidget(dd, parent, 0)-
55{-
56}
never executed: end of block
0
57-
58-
59-
60-
61QAbstractSlider::~QAbstractSlider()-
62{-
63}-
64void QAbstractSlider::setOrientation(Qt::Orientation orientation)-
65{-
66 QAbstractSliderPrivate * const d = d_func();-
67 if (d->orientation == orientation
d->orientation == orientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
68 return;
never executed: return;
0
69-
70 d->orientation = orientation;-
71 if (!testAttribute(Qt::WA_WState_OwnSizePolicy)
!testAttribute...OwnSizePolicy)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
72 QSizePolicy sp = sizePolicy();-
73 sp.transpose();-
74 setSizePolicy(sp);-
75 setAttribute(Qt::WA_WState_OwnSizePolicy, false);-
76 }
never executed: end of block
0
77 update();-
78 updateGeometry();-
79}
never executed: end of block
0
80-
81Qt::Orientation QAbstractSlider::orientation() const-
82{-
83 const QAbstractSliderPrivate * const d = d_func();-
84 return
never executed: return d->orientation;
d->orientation;
never executed: return d->orientation;
0
85}-
86void QAbstractSlider::setMinimum(int min)-
87{-
88 QAbstractSliderPrivate * const d = d_func();-
89 setRange(min, qMax(d->maximum, min));-
90}
never executed: end of block
0
91-
92int QAbstractSlider::minimum() const-
93{-
94 const QAbstractSliderPrivate * const d = d_func();-
95 return
never executed: return d->minimum;
d->minimum;
never executed: return d->minimum;
0
96}-
97void QAbstractSlider::setMaximum(int max)-
98{-
99 QAbstractSliderPrivate * const d = d_func();-
100 setRange(qMin(d->minimum, max), max);-
101}
never executed: end of block
0
102-
103int QAbstractSlider::maximum() const-
104{-
105 const QAbstractSliderPrivate * const d = d_func();-
106 return
never executed: return d->maximum;
d->maximum;
never executed: return d->maximum;
0
107}-
108void QAbstractSlider::setSingleStep(int step)-
109{-
110 QAbstractSliderPrivate * const d = d_func();-
111 if (step != d->singleStep
step != d->singleStepDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
112 d->setSteps(step, d->pageStep);
never executed: d->setSteps(step, d->pageStep);
0
113}
never executed: end of block
0
114-
115int QAbstractSlider::singleStep() const-
116{-
117 const QAbstractSliderPrivate * const d = d_func();-
118 return
never executed: return d->singleStep;
d->singleStep;
never executed: return d->singleStep;
0
119}-
120void QAbstractSlider::setPageStep(int step)-
121{-
122 QAbstractSliderPrivate * const d = d_func();-
123 if (step != d->pageStep
step != d->pageStepDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
124 d->setSteps(d->singleStep, step);
never executed: d->setSteps(d->singleStep, step);
0
125}
never executed: end of block
0
126-
127int QAbstractSlider::pageStep() const-
128{-
129 const QAbstractSliderPrivate * const d = d_func();-
130 return
never executed: return d->pageStep;
d->pageStep;
never executed: return d->pageStep;
0
131}-
132void QAbstractSlider::setTracking(bool enable)-
133{-
134 QAbstractSliderPrivate * const d = d_func();-
135 d->tracking = enable;-
136}
never executed: end of block
0
137-
138bool QAbstractSlider::hasTracking() const-
139{-
140 const QAbstractSliderPrivate * const d = d_func();-
141 return
never executed: return d->tracking;
d->tracking;
never executed: return d->tracking;
0
142}-
143void QAbstractSlider::setSliderDown(bool down)-
144{-
145 QAbstractSliderPrivate * const d = d_func();-
146 bool doEmit = d->pressed != down;-
147-
148 d->pressed = down;-
149-
150 if (doEmit
doEmitDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
151 if (down
downDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
152 sliderPressed();
never executed: sliderPressed();
0
153 else-
154 sliderReleased();
never executed: sliderReleased();
0
155 }-
156-
157 if (!down
!downDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->position != d->value
d->position != d->valueDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
158 triggerAction(SliderMove);
never executed: triggerAction(SliderMove);
0
159}
never executed: end of block
0
160-
161bool QAbstractSlider::isSliderDown() const-
162{-
163 const QAbstractSliderPrivate * const d = d_func();-
164 return
never executed: return d->pressed;
d->pressed;
never executed: return d->pressed;
0
165}-
166void QAbstractSlider::setSliderPosition(int position)-
167{-
168 QAbstractSliderPrivate * const d = d_func();-
169 position = d->bound(position);-
170 if (position == d->position
position == d->positionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
171 return;
never executed: return;
0
172 d->position = position;-
173 if (!d->tracking
!d->trackingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
174 update();
never executed: update();
0
175 if (d->pressed
d->pressedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
176 sliderMoved(position);
never executed: sliderMoved(position);
0
177 if (d->tracking
d->trackingDescription
TRUEnever evaluated
FALSEnever evaluated
&& !d->blocktracking
!d->blocktrackingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
178 triggerAction(SliderMove);
never executed: triggerAction(SliderMove);
0
179}
never executed: end of block
0
180-
181int QAbstractSlider::sliderPosition() const-
182{-
183 const QAbstractSliderPrivate * const d = d_func();-
184 return
never executed: return d->position;
d->position;
never executed: return d->position;
0
185}-
186int QAbstractSlider::value() const-
187{-
188 const QAbstractSliderPrivate * const d = d_func();-
189 return
never executed: return d->value;
d->value;
never executed: return d->value;
0
190}-
191-
192void QAbstractSlider::setValue(int value)-
193{-
194 QAbstractSliderPrivate * const d = d_func();-
195 value = d->bound(value);-
196 if (d->value == value
d->value == valueDescription
TRUEnever evaluated
FALSEnever evaluated
&& d->position == value
d->position == valueDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
197 return;
never executed: return;
0
198 d->value = value;-
199 if (d->position != value
d->position != valueDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
200 d->position = value;-
201 if (d->pressed
d->pressedDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
202 sliderMoved((d->position = value));
never executed: sliderMoved((d->position = value));
0
203 }
never executed: end of block
0
204-
205 QAccessibleValueChangeEvent event(this, d->value);-
206 QAccessible::updateAccessibility(&event);-
207-
208 sliderChange(SliderValueChange);-
209 valueChanged(value);-
210}
never executed: end of block
0
211bool QAbstractSlider::invertedAppearance() const-
212{-
213 const QAbstractSliderPrivate * const d = d_func();-
214 return
never executed: return d->invertedAppearance;
d->invertedAppearance;
never executed: return d->invertedAppearance;
0
215}-
216-
217void QAbstractSlider::setInvertedAppearance(bool invert)-
218{-
219 QAbstractSliderPrivate * const d = d_func();-
220 d->invertedAppearance = invert;-
221 update();-
222}
never executed: end of block
0
223bool QAbstractSlider::invertedControls() const-
224{-
225 const QAbstractSliderPrivate * const d = d_func();-
226 return
never executed: return d->invertedControls;
d->invertedControls;
never executed: return d->invertedControls;
0
227}-
228-
229void QAbstractSlider::setInvertedControls(bool invert)-
230{-
231 QAbstractSliderPrivate * const d = d_func();-
232 d->invertedControls = invert;-
233}
never executed: end of block
0
234void QAbstractSlider::triggerAction(SliderAction action)-
235{-
236 QAbstractSliderPrivate * const d = d_func();-
237 d->blocktracking = true;-
238 switch (action) {-
239 case
never executed: case SliderSingleStepAdd:
SliderSingleStepAdd:
never executed: case SliderSingleStepAdd:
0
240 setSliderPosition(d->overflowSafeAdd(d->effectiveSingleStep()));-
241 break;
never executed: break;
0
242 case
never executed: case SliderSingleStepSub:
SliderSingleStepSub:
never executed: case SliderSingleStepSub:
0
243 setSliderPosition(d->overflowSafeAdd(-d->effectiveSingleStep()));-
244 break;
never executed: break;
0
245 case
never executed: case SliderPageStepAdd:
SliderPageStepAdd:
never executed: case SliderPageStepAdd:
0
246 setSliderPosition(d->overflowSafeAdd(d->pageStep));-
247 break;
never executed: break;
0
248 case
never executed: case SliderPageStepSub:
SliderPageStepSub:
never executed: case SliderPageStepSub:
0
249 setSliderPosition(d->overflowSafeAdd(-d->pageStep));-
250 break;
never executed: break;
0
251 case
never executed: case SliderToMinimum:
SliderToMinimum:
never executed: case SliderToMinimum:
0
252 setSliderPosition(d->minimum);-
253 break;
never executed: break;
0
254 case
never executed: case SliderToMaximum:
SliderToMaximum:
never executed: case SliderToMaximum:
0
255 setSliderPosition(d->maximum);-
256 break;
never executed: break;
0
257 case
never executed: case SliderMove:
SliderMove:
never executed: case SliderMove:
0
258 case
never executed: case SliderNoAction:
SliderNoAction:
never executed: case SliderNoAction:
0
259 break;
never executed: break;
0
260 };-
261 actionTriggered(action);-
262 d->blocktracking = false;-
263 setValue(d->position);-
264}
never executed: end of block
0
265-
266-
267-
268-
269-
270-
271void QAbstractSlider::setRepeatAction(SliderAction action, int thresholdTime, int repeatTime)-
272{-
273 QAbstractSliderPrivate * const d = d_func();-
274 if ((
(d->repeatActi...SliderNoActionDescription
TRUEnever evaluated
FALSEnever evaluated
d->repeatAction = action) == SliderNoAction
(d->repeatActi...SliderNoActionDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
275 d->repeatActionTimer.stop();-
276 }
never executed: end of block
else {
0
277 d->repeatActionTime = repeatTime;-
278 d->repeatActionTimer.start(thresholdTime, this);-
279 }
never executed: end of block
0
280}-
281-
282-
283-
284-
285-
286QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const-
287{-
288 const QAbstractSliderPrivate * const d = d_func();-
289 return
never executed: return d->repeatAction;
d->repeatAction;
never executed: return d->repeatAction;
0
290}-
291-
292-
293-
294void QAbstractSlider::timerEvent(QTimerEvent *e)-
295{-
296 QAbstractSliderPrivate * const d = d_func();-
297 if (e->timerId() == d->repeatActionTimer.timerId()
e->timerId() =...imer.timerId()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
298 if (d->repeatActionTime
d->repeatActionTimeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
299 d->repeatActionTimer.start(d->repeatActionTime, this);-
300 d->repeatActionTime = 0;-
301 }
never executed: end of block
0
302 if (d->repeatAction == SliderPageStepAdd
d->repeatActio...derPageStepAddDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
303 d->setAdjustedSliderPosition(d->overflowSafeAdd(d->pageStep));
never executed: d->setAdjustedSliderPosition(d->overflowSafeAdd(d->pageStep));
0
304 else if (d->repeatAction == SliderPageStepSub
d->repeatActio...derPageStepSubDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
305 d->setAdjustedSliderPosition(d->overflowSafeAdd(-d->pageStep));
never executed: d->setAdjustedSliderPosition(d->overflowSafeAdd(-d->pageStep));
0
306 else-
307 triggerAction(d->repeatAction);
never executed: triggerAction(d->repeatAction);
0
308 }-
309}
never executed: end of block
0
310void QAbstractSlider::sliderChange(SliderChange)-
311{-
312 update();-
313}
never executed: end of block
0
314-
315bool QAbstractSliderPrivate::scrollByDelta(Qt::Orientation orientation, Qt::KeyboardModifiers modifiers, int delta)-
316{-
317 QAbstractSlider * const q = q_func();-
318 int stepsToScroll = 0;-
319-
320 if (orientation == Qt::Horizontal
orientation == Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
321 delta = -delta;
never executed: delta = -delta;
0
322 qreal offset = qreal(delta) / 120;-
323-
324 if ((
(modifiers & Q...ntrolModifier)Description
TRUEnever evaluated
FALSEnever evaluated
modifiers & Qt::ControlModifier)
(modifiers & Q...ntrolModifier)Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(modifiers & Q...ShiftModifier)Description
TRUEnever evaluated
FALSEnever evaluated
modifiers & Qt::ShiftModifier)
(modifiers & Q...ShiftModifier)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
325-
326 stepsToScroll = qBound(-pageStep, int(offset * pageStep), pageStep);-
327 offset_accumulated = 0;-
328 }
never executed: end of block
else {
0
329-
330-
331-
332 qreal stepsToScrollF =-
333-
334 QApplication::wheelScrollLines() *-
335-
336 offset * effectiveSingleStep();-
337-
338 if (offset_accumulated != 0
offset_accumulated != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(offset / offs...cumulated) < 0Description
TRUEnever evaluated
FALSEnever evaluated
offset / offset_accumulated) < 0
(offset / offs...cumulated) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
339 offset_accumulated = 0;
never executed: offset_accumulated = 0;
0
340-
341 offset_accumulated += stepsToScrollF;-
342-
343-
344 stepsToScroll = qBound(-pageStep, int(offset_accumulated), pageStep);-
345-
346-
347-
348-
349-
350-
351 offset_accumulated -= int(offset_accumulated);-
352 if (stepsToScroll == 0
stepsToScroll == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
353-
354-
355 const float effective_offset = invertedControls
invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
? -offset_accumulated : offset_accumulated;
0
356 if (effective_offset > 0.f
effective_offset > 0.fDescription
TRUEnever evaluated
FALSEnever evaluated
&& value < maximum
value < maximumDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
357 return
never executed: return true;
true;
never executed: return true;
0
358 if (effective_offset < 0.f
effective_offset < 0.fDescription
TRUEnever evaluated
FALSEnever evaluated
&& value > minimum
value > minimumDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
359 return
never executed: return true;
true;
never executed: return true;
0
360 offset_accumulated = 0;-
361 return
never executed: return false;
false;
never executed: return false;
0
362 }-
363 }
never executed: end of block
0
364-
365 if (invertedControls
invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
366 stepsToScroll = -stepsToScroll;
never executed: stepsToScroll = -stepsToScroll;
0
367-
368 int prevValue = value;-
369 position = bound(overflowSafeAdd(stepsToScroll));-
370 q->triggerAction(QAbstractSlider::SliderMove);-
371-
372 if (prevValue == value
prevValue == valueDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
373 offset_accumulated = 0;-
374 return
never executed: return false;
false;
never executed: return false;
0
375 }-
376 return
never executed: return true;
true;
never executed: return true;
0
377}-
378-
379-
380-
381-
382-
383void QAbstractSlider::wheelEvent(QWheelEvent * e)-
384{-
385 QAbstractSliderPrivate * const d = d_func();-
386 e->ignore();-
387 int delta = e->delta();-
388 if (d->scrollByDelta(e->orientation(), e->modifiers(), delta)
d->scrollByDel...iers(), delta)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
389 e->accept();
never executed: e->accept();
0
390}
never executed: end of block
0
391-
392-
393-
394-
395-
396-
397void QAbstractSlider::keyPressEvent(QKeyEvent *ev)-
398{-
399 QAbstractSliderPrivate * const d = d_func();-
400 SliderAction action = SliderNoAction;-
401 switch (ev->key()) {-
402 case
never executed: case Qt::Key_Left:
Qt::Key_Left:
never executed: case Qt::Key_Left:
0
403 if (isRightToLeft()
isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
404 action = d->invertedAppearance
d->invertedAppearanceDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepSub : SliderSingleStepAdd;
never executed: action = d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd;
0
405 else-
406 action = !d->invertedAppearance
!d->invertedAppearanceDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepSub : SliderSingleStepAdd;
never executed: action = !d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd;
0
407 break;
never executed: break;
0
408 case
never executed: case Qt::Key_Right:
Qt::Key_Right:
never executed: case Qt::Key_Right:
0
409 if (isRightToLeft()
isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
410 action = d->invertedAppearance
d->invertedAppearanceDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepAdd : SliderSingleStepSub;
never executed: action = d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub;
0
411 else-
412 action = !d->invertedAppearance
!d->invertedAppearanceDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepAdd : SliderSingleStepSub;
never executed: action = !d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub;
0
413 break;
never executed: break;
0
414 case
never executed: case Qt::Key_Up:
Qt::Key_Up:
never executed: case Qt::Key_Up:
0
415 action = d->invertedControls
d->invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepSub : SliderSingleStepAdd;
0
416 break;
never executed: break;
0
417 case
never executed: case Qt::Key_Down:
Qt::Key_Down:
never executed: case Qt::Key_Down:
0
418 action = d->invertedControls
d->invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderSingleStepAdd : SliderSingleStepSub;
0
419 break;
never executed: break;
0
420 case
never executed: case Qt::Key_PageUp:
Qt::Key_PageUp:
never executed: case Qt::Key_PageUp:
0
421 action = d->invertedControls
d->invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderPageStepSub : SliderPageStepAdd;
0
422 break;
never executed: break;
0
423 case
never executed: case Qt::Key_PageDown:
Qt::Key_PageDown:
never executed: case Qt::Key_PageDown:
0
424 action = d->invertedControls
d->invertedControlsDescription
TRUEnever evaluated
FALSEnever evaluated
? SliderPageStepAdd : SliderPageStepSub;
0
425 break;
never executed: break;
0
426 case
never executed: case Qt::Key_Home:
Qt::Key_Home:
never executed: case Qt::Key_Home:
0
427 action = SliderToMinimum;-
428 break;
never executed: break;
0
429 case
never executed: case Qt::Key_End:
Qt::Key_End:
never executed: case Qt::Key_End:
0
430 action = SliderToMaximum;-
431 break;
never executed: break;
0
432 default
never executed: default:
:
never executed: default:
0
433 ev->ignore();-
434 break;
never executed: break;
0
435 }-
436 if (action
actionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
437 triggerAction(action);
never executed: triggerAction(action);
0
438}
never executed: end of block
0
439-
440-
441-
442-
443void QAbstractSlider::changeEvent(QEvent *ev)-
444{-
445 QAbstractSliderPrivate * const d = d_func();-
446 switch (ev->type()) {-
447 case
never executed: case QEvent::EnabledChange:
QEvent::EnabledChange:
never executed: case QEvent::EnabledChange:
0
448 if (!isEnabled()
!isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
449 d->repeatActionTimer.stop();-
450 setSliderDown(false);-
451 }
never executed: end of block
0
452-
453 default
never executed: default:
:
never executed: default:
code before this statement never executed: default:
0
454 QWidget::changeEvent(ev);-
455 }
never executed: end of block
0
456}-
457-
458-
459-
460-
461bool QAbstractSlider::event(QEvent *e)-
462{-
463 return
never executed: return QWidget::event(e);
QWidget::event(e);
never executed: return QWidget::event(e);
0
464}-
465-
466-
467-
Switch to Source codePreprocessed file

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