qprogressbar.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/widgets/qprogressbar.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7class QProgressBarPrivate : public QWidgetPrivate-
8{-
9 inline QProgressBar* q_func() { return static_cast<QProgressBar *>(q_ptr); } inline const QProgressBar* q_func() const { return static_cast<const QProgressBar *>(q_ptr); } friend class QProgressBar;-
10-
11public:-
12 QProgressBarPrivate();-
13-
14 void init();-
15 void initDefaultFormat();-
16 inline void resetLayoutItemMargins();-
17-
18 int minimum;-
19 int maximum;-
20 int value;-
21 Qt::Alignment alignment;-
22 uint textVisible : 1;-
23 uint defaultFormat: 1;-
24 int lastPaintedValue;-
25 Qt::Orientation orientation;-
26 bool invertedAppearance;-
27 QProgressBar::Direction textDirection;-
28 QString format;-
29 inline int bound(int val) const { return
never executed: return qMax(minimum-1, qMin(maximum, val));
qMax(minimum-1, qMin(maximum, val));
never executed: return qMax(minimum-1, qMin(maximum, val));
}
0
30 bool repaintRequired() const;-
31};-
32-
33QProgressBarPrivate::QProgressBarPrivate()-
34 : minimum(0), maximum(100), value(-1), alignment(Qt::AlignLeft), textVisible(true),-
35 defaultFormat(true), lastPaintedValue(-1), orientation(Qt::Horizontal), invertedAppearance(false),-
36 textDirection(QProgressBar::TopToBottom)-
37{-
38 initDefaultFormat();-
39}
never executed: end of block
0
40-
41void QProgressBarPrivate::initDefaultFormat()-
42{-
43 if (defaultFormat
defaultFormatDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
44 format = QLatin1String("%p") + locale.percent();
never executed: format = QLatin1String("%p") + locale.percent();
0
45}
never executed: end of block
0
46-
47void QProgressBarPrivate::init()-
48{-
49 QProgressBar * const q = q_func();-
50 QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed);-
51 if (orientation == Qt::Vertical
orientation == Qt::VerticalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
52 sp.transpose();
never executed: sp.transpose();
0
53 q->setSizePolicy(sp);-
54 q->setAttribute(Qt::WA_WState_OwnSizePolicy, false);-
55 resetLayoutItemMargins();-
56}
never executed: end of block
0
57-
58void QProgressBarPrivate::resetLayoutItemMargins()-
59{-
60 QProgressBar * const q = q_func();-
61 QStyleOptionProgressBar option;-
62 q->initStyleOption(&option);-
63 setLayoutItemMargins(QStyle::SE_ProgressBarLayoutItem, &option);-
64}
never executed: end of block
0
65void QProgressBar::initStyleOption(QStyleOptionProgressBar *option) const-
66{-
67 if (!option
!optionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
68 return;
never executed: return;
0
69 const QProgressBarPrivate * const d = d_func();-
70 option->initFrom(this);-
71-
72 if (d->orientation == Qt::Horizontal
d->orientation...Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
73 option->state |= QStyle::State_Horizontal;
never executed: option->state |= QStyle::State_Horizontal;
0
74 option->minimum = d->minimum;-
75 option->maximum = d->maximum;-
76 option->progress = d->value;-
77 option->textAlignment = d->alignment;-
78 option->textVisible = d->textVisible;-
79 option->text = text();-
80 option->orientation = d->orientation;-
81 option->invertedAppearance = d->invertedAppearance;-
82 option->bottomToTop = d->textDirection == QProgressBar::BottomToTop;-
83}
never executed: end of block
0
84-
85bool QProgressBarPrivate::repaintRequired() const-
86{-
87 const QProgressBar * const q = q_func();-
88 if (value == lastPaintedValue
value == lastPaintedValueDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
89 return
never executed: return false;
false;
never executed: return false;
0
90-
91 const qint64 valueDifference = qAbs(qint64(value) - lastPaintedValue);-
92-
93 if (value == minimum
value == minimumDescription
TRUEnever evaluated
FALSEnever evaluated
|| value == maximum
value == maximumDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
94 return
never executed: return true;
true;
never executed: return true;
0
95-
96 const qint64 totalSteps = qint64(maximum) - minimum;-
97 if (textVisible
textVisibleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
98 if ((
(format.contai...String("%v")))Description
TRUEnever evaluated
FALSEnever evaluated
format.contains(QLatin1String("%v")))
(format.contai...String("%v")))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
99 return
never executed: return true;
true;
never executed: return true;
0
100 if ((format.contains(QLatin1String("%p"))
format.contain...1String("%p"))Description
TRUEnever evaluated
FALSEnever evaluated
0
101 && valueDifference >= qAbs(totalSteps / 100)
valueDifferenc...alSteps / 100)Description
TRUEnever evaluated
FALSEnever evaluated
))
0
102 return
never executed: return true;
true;
never executed: return true;
0
103 }
never executed: end of block
0
104-
105-
106 QStyleOptionProgressBar opt;-
107 q->initStyleOption(&opt);-
108 int cw = q->style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, q);-
109 QRect groove = q->style()->subElementRect(QStyle::SE_ProgressBarGroove, &opt, q);-
110-
111-
112-
113 int grooveBlock = (
(q->orientatio...t::Horizontal)Description
TRUEnever evaluated
FALSEnever evaluated
q->orientation() == Qt::Horizontal)
(q->orientatio...t::Horizontal)Description
TRUEnever evaluated
FALSEnever evaluated
? groove.width() : groove.height();
0
114 return
never executed: return valueDifference * grooveBlock > cw * totalSteps;
valueDifference * grooveBlock > cw * totalSteps;
never executed: return valueDifference * grooveBlock > cw * totalSteps;
0
115}-
116QProgressBar::QProgressBar(QWidget *parent)-
117 : QWidget(*(new QProgressBarPrivate), parent, 0)-
118{-
119 d_func()->init();-
120}
never executed: end of block
0
121-
122-
123-
124-
125QProgressBar::~QProgressBar()-
126{-
127}-
128-
129-
130-
131-
132-
133-
134void QProgressBar::reset()-
135{-
136 QProgressBarPrivate * const d = d_func();-
137 if (d->minimum == (-2147483647 - 1)
d->minimum == ...147483647 - 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
138 d->value = (-2147483647 - 1);
never executed: d->value = (-2147483647 - 1);
0
139 else-
140 d->value = d->minimum - 1;
never executed: d->value = d->minimum - 1;
0
141 repaint();-
142}
never executed: end of block
0
143void QProgressBar::setMinimum(int minimum)-
144{-
145 setRange(minimum, qMax(d_func()->maximum, minimum));-
146}
never executed: end of block
0
147-
148int QProgressBar::minimum() const-
149{-
150 return
never executed: return d_func()->minimum;
d_func()->minimum;
never executed: return d_func()->minimum;
0
151}-
152void QProgressBar::setMaximum(int maximum)-
153{-
154 setRange(qMin(d_func()->minimum, maximum), maximum);-
155}
never executed: end of block
0
156-
157int QProgressBar::maximum() const-
158{-
159 return
never executed: return d_func()->maximum;
d_func()->maximum;
never executed: return d_func()->maximum;
0
160}-
161void QProgressBar::setValue(int value)-
162{-
163 QProgressBarPrivate * const d = d_func();-
164 if (d->value == value
d->value == valueDescription
TRUEnever evaluated
FALSEnever evaluated
0
165 || ((value > d->maximum
value > d->maximumDescription
TRUEnever evaluated
FALSEnever evaluated
|| value < d->minimum
value < d->minimumDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
166 && (d->maximum != 0
d->maximum != 0Description
TRUEnever evaluated
FALSEnever evaluated
|| d->minimum != 0
d->minimum != 0Description
TRUEnever evaluated
FALSEnever evaluated
)))
0
167 return;
never executed: return;
0
168 d->value = value;-
169 valueChanged(value);-
170-
171 if (isVisible()
isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
172 QAccessibleValueChangeEvent event(this, value);-
173 QAccessible::updateAccessibility(&event);-
174 }
never executed: end of block
0
175-
176 if (d->repaintRequired()
d->repaintRequired()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
177 repaint();
never executed: repaint();
0
178}
never executed: end of block
0
179-
180int QProgressBar::value() const-
181{-
182 return
never executed: return d_func()->value;
d_func()->value;
never executed: return d_func()->value;
0
183}-
184void QProgressBar::setRange(int minimum, int maximum)-
185{-
186 QProgressBarPrivate * const d = d_func();-
187 if (minimum != d->minimum
minimum != d->minimumDescription
TRUEnever evaluated
FALSEnever evaluated
|| maximum != d->maximum
maximum != d->maximumDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
188 d->minimum = minimum;-
189 d->maximum = qMax(minimum, maximum);-
190-
191 if (d->value < qint64(d->minimum) - 1
d->value < qin...->minimum) - 1Description
TRUEnever evaluated
FALSEnever evaluated
|| d->value > d->maximum
d->value > d->maximumDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
192 reset();
never executed: reset();
0
193 else-
194 update();
never executed: update();
0
195 }-
196}
never executed: end of block
0
197void QProgressBar::setTextVisible(bool visible)-
198{-
199 QProgressBarPrivate * const d = d_func();-
200 if (d->textVisible != visible
d->textVisible != visibleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
201 d->textVisible = visible;-
202 repaint();-
203 }
never executed: end of block
0
204}
never executed: end of block
0
205-
206bool QProgressBar::isTextVisible() const-
207{-
208 return
never executed: return d_func()->textVisible;
d_func()->textVisible;
never executed: return d_func()->textVisible;
0
209}-
210-
211-
212-
213-
214-
215void QProgressBar::setAlignment(Qt::Alignment alignment)-
216{-
217 if (d_func()->alignment != alignment
d_func()->alig...t != alignmentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
218 d_func()->alignment = alignment;-
219 repaint();-
220 }
never executed: end of block
0
221}
never executed: end of block
0
222-
223Qt::Alignment QProgressBar::alignment() const-
224{-
225 return
never executed: return d_func()->alignment;
d_func()->alignment;
never executed: return d_func()->alignment;
0
226}-
227-
228-
229-
230-
231void QProgressBar::paintEvent(QPaintEvent *)-
232{-
233 QStylePainter paint(this);-
234 QStyleOptionProgressBar opt;-
235 initStyleOption(&opt);-
236 paint.drawControl(QStyle::CE_ProgressBar, opt);-
237 d_func()->lastPaintedValue = d_func()->value;-
238}
never executed: end of block
0
239-
240-
241-
242-
243QSize QProgressBar::sizeHint() const-
244{-
245 ensurePolished();-
246 QFontMetrics fm = fontMetrics();-
247 QStyleOptionProgressBar opt;-
248 initStyleOption(&opt);-
249 int cw = style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, this);-
250 QSize size = QSize(qMax(9, cw) * 7 + fm.width(QLatin1Char('0')) * 4, fm.height() + 8);-
251 if (opt.orientation == Qt::Vertical
opt.orientatio...= Qt::VerticalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
252 size = size.transposed();
never executed: size = size.transposed();
0
253 return
never executed: return style()->sizeFromContents(QStyle::CT_ProgressBar, &opt, size, this);
style()->sizeFromContents(QStyle::CT_ProgressBar, &opt, size, this);
never executed: return style()->sizeFromContents(QStyle::CT_ProgressBar, &opt, size, this);
0
254}-
255-
256-
257-
258-
259QSize QProgressBar::minimumSizeHint() const-
260{-
261 QSize size;-
262 if (orientation() == Qt::Horizontal
orientation() ...Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
263 size = QSize(sizeHint().width(), fontMetrics().height() + 2);
never executed: size = QSize(sizeHint().width(), fontMetrics().height() + 2);
0
264 else-
265 size = QSize(fontMetrics().height() + 2, sizeHint().height());
never executed: size = QSize(fontMetrics().height() + 2, sizeHint().height());
0
266 return
never executed: return size;
size;
never executed: return size;
0
267}-
268QString QProgressBar::text() const-
269{-
270 const QProgressBarPrivate * const d = d_func();-
271 if ((d->maximum == 0
d->maximum == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& d->minimum == 0
d->minimum == 0Description
TRUEnever evaluated
FALSEnever evaluated
) || d->value < d->minimum
d->value < d->minimumDescription
TRUEnever evaluated
FALSEnever evaluated
0
272 || (d->value == (-2147483647 - 1)
d->value == (-2147483647 - 1)Description
TRUEnever evaluated
FALSEnever evaluated
&& d->minimum == (-2147483647 - 1)
d->minimum == ...147483647 - 1)Description
TRUEnever evaluated
FALSEnever evaluated
))
0
273 return
never executed: return QString();
QString();
never executed: return QString();
0
274-
275 qint64 totalSteps = qint64(d->maximum) - d->minimum;-
276-
277 QString result = d->format;-
278 QLocale locale = d->locale;-
279 locale.setNumberOptions(locale.numberOptions() | QLocale::OmitGroupSeparator);-
280 result.replace(QLatin1String("%m"), locale.toString(totalSteps));-
281 result.replace(QLatin1String("%v"), locale.toString(d->value));-
282-
283-
284-
285-
286 if (totalSteps == 0
totalSteps == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
287 result.replace(QLatin1String("%p"), locale.toString(int(100)));-
288 return
never executed: return result;
result;
never executed: return result;
0
289 }-
290-
291 int progress = (qreal(d->value) - d->minimum) * 100.0 / totalSteps;-
292 result.replace(QLatin1String("%p"), locale.toString(progress));-
293 return
never executed: return result;
result;
never executed: return result;
0
294}-
295void QProgressBar::setOrientation(Qt::Orientation orientation)-
296{-
297 QProgressBarPrivate * const d = d_func();-
298 if (d->orientation == orientation
d->orientation == orientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
299 return;
never executed: return;
0
300 d->orientation = orientation;-
301 if (!testAttribute(Qt::WA_WState_OwnSizePolicy)
!testAttribute...OwnSizePolicy)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
302 QSizePolicy sp = sizePolicy();-
303 sp.transpose();-
304 setSizePolicy(sp);-
305 setAttribute(Qt::WA_WState_OwnSizePolicy, false);-
306 }
never executed: end of block
0
307 d->resetLayoutItemMargins();-
308 update();-
309 updateGeometry();-
310}
never executed: end of block
0
311-
312Qt::Orientation QProgressBar::orientation() const-
313{-
314 const QProgressBarPrivate * const d = d_func();-
315 return
never executed: return d->orientation;
d->orientation;
never executed: return d->orientation;
0
316}-
317void QProgressBar::setInvertedAppearance(bool invert)-
318{-
319 QProgressBarPrivate * const d = d_func();-
320 d->invertedAppearance = invert;-
321 update();-
322}
never executed: end of block
0
323-
324bool QProgressBar::invertedAppearance() const-
325{-
326 const QProgressBarPrivate * const d = d_func();-
327 return
never executed: return d->invertedAppearance;
d->invertedAppearance;
never executed: return d->invertedAppearance;
0
328}-
329void QProgressBar::setTextDirection(QProgressBar::Direction textDirection)-
330{-
331 QProgressBarPrivate * const d = d_func();-
332 d->textDirection = textDirection;-
333 update();-
334}
never executed: end of block
0
335-
336QProgressBar::Direction QProgressBar::textDirection() const-
337{-
338 const QProgressBarPrivate * const d = d_func();-
339 return
never executed: return d->textDirection;
d->textDirection;
never executed: return d->textDirection;
0
340}-
341-
342-
343bool QProgressBar::event(QEvent *e)-
344{-
345 QProgressBarPrivate * const d = d_func();-
346 switch (e->type()) {-
347 case
never executed: case QEvent::StyleChange:
QEvent::StyleChange:
never executed: case QEvent::StyleChange:
0
348-
349-
350-
351 d->resetLayoutItemMargins();-
352 break;
never executed: break;
0
353 case
never executed: case QEvent::LocaleChange:
QEvent::LocaleChange:
never executed: case QEvent::LocaleChange:
0
354 d->initDefaultFormat();-
355 break;
never executed: break;
0
356 default
never executed: default:
:
never executed: default:
0
357 break;
never executed: break;
0
358 }-
359 return
never executed: return QWidget::event(e);
QWidget::event(e);
never executed: return QWidget::event(e);
0
360}-
361void QProgressBar::setFormat(const QString &format)-
362{-
363 QProgressBarPrivate * const d = d_func();-
364 if (d->format == format
d->format == formatDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
365 return;
never executed: return;
0
366 d->format = format;-
367 d->defaultFormat = false;-
368 update();-
369}
never executed: end of block
0
370-
371void QProgressBar::resetFormat()-
372{-
373 QProgressBarPrivate * const d = d_func();-
374 d->defaultFormat = true;-
375 d->initDefaultFormat();-
376 update();-
377}
never executed: end of block
0
378-
379QString QProgressBar::format() const-
380{-
381 const QProgressBarPrivate * const d = d_func();-
382 return
never executed: return d->format;
d->format;
never executed: return d->format;
0
383}-
384-
385-
386-
Switch to Source codePreprocessed file

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