@@ -51,6 +51,7 AbstractBarChartItem::AbstractBarChartItem(QAbstractBarSeries *series, QGraphics | |||||
51 | connect(series, SIGNAL(labelsFormatChanged(QString)), this, SLOT(positionLabels())); |
|
51 | connect(series, SIGNAL(labelsFormatChanged(QString)), this, SLOT(positionLabels())); | |
52 | connect(series, SIGNAL(labelsPositionChanged(QAbstractBarSeries::LabelsPosition)), |
|
52 | connect(series, SIGNAL(labelsPositionChanged(QAbstractBarSeries::LabelsPosition)), | |
53 | this, SLOT(handleLabelsPositionChanged())); |
|
53 | this, SLOT(handleLabelsPositionChanged())); | |
|
54 | connect(series, SIGNAL(labelsAngleChanged(qreal)), this, SLOT(positionLabels())); | |||
54 | setZValue(ChartPresenter::BarSeriesZValue); |
|
55 | setZValue(ChartPresenter::BarSeriesZValue); | |
55 | handleDataStructureChanged(); |
|
56 | handleDataStructureChanged(); | |
56 | handleVisibleChanged(); |
|
57 | handleVisibleChanged(); | |
@@ -249,20 +250,101 void AbstractBarChartItem::handleLabelsPositionChanged() | |||||
249 |
|
250 | |||
250 | void AbstractBarChartItem::positionLabels() |
|
251 | void AbstractBarChartItem::positionLabels() | |
251 | { |
|
252 | { | |
|
253 | // By default position labels on horizontal bar series | |||
|
254 | // Vertical bar series overload positionLabels() to call positionLabelsVertical() | |||
|
255 | ||||
|
256 | QTransform transform; | |||
|
257 | const qreal angle = m_series->d_func()->labelsAngle(); | |||
|
258 | if (angle != 0.0) | |||
|
259 | transform.rotate(angle); | |||
|
260 | ||||
252 | for (int i = 0; i < m_layout.count(); i++) { |
|
261 | for (int i = 0; i < m_layout.count(); i++) { | |
253 | QGraphicsTextItem *label = m_labels.at(i); |
|
262 | QGraphicsTextItem *label = m_labels.at(i); | |
|
263 | ||||
|
264 | QRectF labelRect = label->boundingRect(); | |||
|
265 | QPointF center = labelRect.center(); | |||
|
266 | ||||
254 | qreal xPos = 0; |
|
267 | qreal xPos = 0; | |
255 |
qreal yPos = m_layout.at(i).center().y() - |
|
268 | qreal yPos = m_layout.at(i).center().y() - center.y(); | |
|
269 | ||||
|
270 | int xDiff = 0; | |||
|
271 | if (angle != 0.0) { | |||
|
272 | label->setTransformOriginPoint(center.x(), center.y()); | |||
|
273 | label->setRotation(m_series->d_func()->labelsAngle()); | |||
|
274 | qreal oldWidth = labelRect.width(); | |||
|
275 | labelRect = transform.mapRect(labelRect); | |||
|
276 | xDiff = (labelRect.width() - oldWidth) / 2; | |||
|
277 | } | |||
256 |
|
278 | |||
257 | int offset = m_bars.at(i)->pen().width() / 2 + 2; |
|
279 | int offset = m_bars.at(i)->pen().width() / 2 + 2; | |
258 | if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter) |
|
280 | ||
259 | xPos = m_layout.at(i).center().x() - label->boundingRect().center().x(); |
|
281 | switch (m_series->labelsPosition()) { | |
260 |
|
|
282 | case QAbstractBarSeries::LabelsCenter: | |
261 |
xPos = m_layout.at(i). |
|
283 | xPos = m_layout.at(i).center().x() - center.x(); | |
262 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase) |
|
284 | break; | |
263 | xPos = m_layout.at(i).left() + offset; |
|
285 | case QAbstractBarSeries::LabelsInsideEnd: | |
264 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd) |
|
286 | xPos = m_layout.at(i).right() - labelRect.width() - offset + xDiff; | |
265 | xPos = m_layout.at(i).right() + offset; |
|
287 | break; | |
|
288 | case QAbstractBarSeries::LabelsInsideBase: | |||
|
289 | xPos = m_layout.at(i).left() + offset + xDiff; | |||
|
290 | break; | |||
|
291 | case QAbstractBarSeries::LabelsOutsideEnd: | |||
|
292 | xPos = m_layout.at(i).right() + offset + xDiff; | |||
|
293 | break; | |||
|
294 | default: | |||
|
295 | // Invalid position, never comes here | |||
|
296 | break; | |||
|
297 | } | |||
|
298 | ||||
|
299 | label->setPos(xPos, yPos); | |||
|
300 | label->setZValue(zValue() + 1); | |||
|
301 | } | |||
|
302 | } | |||
|
303 | ||||
|
304 | void AbstractBarChartItem::positionLabelsVertical() | |||
|
305 | { | |||
|
306 | QTransform transform; | |||
|
307 | const qreal angle = m_series->d_func()->labelsAngle(); | |||
|
308 | if (angle != 0.0) | |||
|
309 | transform.rotate(angle); | |||
|
310 | ||||
|
311 | for (int i = 0; i < m_layout.count(); i++) { | |||
|
312 | QGraphicsTextItem *label = m_labels.at(i); | |||
|
313 | ||||
|
314 | QRectF labelRect = label->boundingRect(); | |||
|
315 | QPointF center = labelRect.center(); | |||
|
316 | ||||
|
317 | qreal xPos = m_layout.at(i).center().x() - center.x(); | |||
|
318 | qreal yPos = 0; | |||
|
319 | ||||
|
320 | int yDiff = 0; | |||
|
321 | if (angle != 0.0) { | |||
|
322 | label->setTransformOriginPoint(center.x(), center.y()); | |||
|
323 | label->setRotation(m_series->d_func()->labelsAngle()); | |||
|
324 | qreal oldHeight = labelRect.height(); | |||
|
325 | labelRect = transform.mapRect(labelRect); | |||
|
326 | yDiff = (labelRect.height() - oldHeight) / 2; | |||
|
327 | } | |||
|
328 | ||||
|
329 | int offset = m_bars.at(i)->pen().width() / 2 + 2; | |||
|
330 | ||||
|
331 | switch (m_series->labelsPosition()) { | |||
|
332 | case QAbstractBarSeries::LabelsCenter: | |||
|
333 | yPos = m_layout.at(i).center().y() - center.y(); | |||
|
334 | break; | |||
|
335 | case QAbstractBarSeries::LabelsInsideEnd: | |||
|
336 | yPos = m_layout.at(i).top() + offset + yDiff; | |||
|
337 | break; | |||
|
338 | case QAbstractBarSeries::LabelsInsideBase: | |||
|
339 | yPos = m_layout.at(i).bottom() - labelRect.height() - offset + yDiff; | |||
|
340 | break; | |||
|
341 | case QAbstractBarSeries::LabelsOutsideEnd: | |||
|
342 | yPos = m_layout.at(i).top() - labelRect.height() - offset + yDiff; | |||
|
343 | break; | |||
|
344 | default: | |||
|
345 | // Invalid position, never comes here | |||
|
346 | break; | |||
|
347 | } | |||
266 |
|
348 | |||
267 | label->setPos(xPos, yPos); |
|
349 | label->setPos(xPos, yPos); | |
268 | label->setZValue(zValue() + 1); |
|
350 | label->setZValue(zValue() + 1); |
@@ -72,6 +72,7 public Q_SLOTS: | |||||
72 | virtual void positionLabels(); |
|
72 | virtual void positionLabels(); | |
73 |
|
73 | |||
74 | protected: |
|
74 | protected: | |
|
75 | void positionLabelsVertical(); | |||
75 |
|
76 | |||
76 | qreal m_domainMinX; |
|
77 | qreal m_domainMinX; | |
77 | qreal m_domainMaxX; |
|
78 | qreal m_domainMaxX; |
@@ -197,6 +197,23 QT_CHARTS_BEGIN_NAMESPACE | |||||
197 | */ |
|
197 | */ | |
198 |
|
198 | |||
199 | /*! |
|
199 | /*! | |
|
200 | \property QAbstractBarSeries::labelsAngle | |||
|
201 | The angle of the value labels in degrees. | |||
|
202 | */ | |||
|
203 | /*! | |||
|
204 | \qmlproperty qreal QAbstractBarSeries::labelsAngle | |||
|
205 | The angle of the value labels in degrees. | |||
|
206 | */ | |||
|
207 | /*! | |||
|
208 | \fn void QAbstractBarSeries::labelsAngleChanged(qreal angle) | |||
|
209 | Signal is emitted when the \a angle of the value labels is changed. | |||
|
210 | */ | |||
|
211 | /*! | |||
|
212 | \qmlsignal AbstractBarSeries::onLabelsAngleChanged(qreal angle) | |||
|
213 | Signal is emitted when the \a angle of the value labels is changed. | |||
|
214 | */ | |||
|
215 | ||||
|
216 | /*! | |||
200 | \fn void QAbstractBarSeries::clicked(int index, QBarSet *barset) |
|
217 | \fn void QAbstractBarSeries::clicked(int index, QBarSet *barset) | |
201 | The signal is emitted if the user clicks with a mouse on top of QBarSet \a barset. |
|
218 | The signal is emitted if the user clicks with a mouse on top of QBarSet \a barset. | |
202 | Clicked bar inside set is indexed by \a index |
|
219 | Clicked bar inside set is indexed by \a index | |
@@ -531,6 +548,21 QString QAbstractBarSeries::labelsFormat() const | |||||
531 | return d->m_labelsFormat; |
|
548 | return d->m_labelsFormat; | |
532 | } |
|
549 | } | |
533 |
|
550 | |||
|
551 | void QAbstractBarSeries::setLabelsAngle(qreal angle) | |||
|
552 | { | |||
|
553 | Q_D(QAbstractBarSeries); | |||
|
554 | if (d->m_labelsAngle != angle) { | |||
|
555 | d->m_labelsAngle = angle; | |||
|
556 | emit labelsAngleChanged(angle); | |||
|
557 | } | |||
|
558 | } | |||
|
559 | ||||
|
560 | qreal QAbstractBarSeries::labelsAngle() const | |||
|
561 | { | |||
|
562 | Q_D(const QAbstractBarSeries); | |||
|
563 | return d->m_labelsAngle; | |||
|
564 | } | |||
|
565 | ||||
534 | void QAbstractBarSeries::setLabelsPosition(QAbstractBarSeries::LabelsPosition position) |
|
566 | void QAbstractBarSeries::setLabelsPosition(QAbstractBarSeries::LabelsPosition position) | |
535 | { |
|
567 | { | |
536 | Q_D(QAbstractBarSeries); |
|
568 | Q_D(QAbstractBarSeries); | |
@@ -555,7 +587,8 QAbstractBarSeriesPrivate::QAbstractBarSeriesPrivate(QAbstractBarSeries *q) : | |||||
555 | m_visible(true), |
|
587 | m_visible(true), | |
556 | m_blockBarUpdate(false), |
|
588 | m_blockBarUpdate(false), | |
557 | m_labelsFormat(), |
|
589 | m_labelsFormat(), | |
558 | m_labelsPosition(QAbstractBarSeries::LabelsCenter) |
|
590 | m_labelsPosition(QAbstractBarSeries::LabelsCenter), | |
|
591 | m_labelsAngle(0) | |||
559 | { |
|
592 | { | |
560 | } |
|
593 | } | |
561 |
|
594 | |||
@@ -799,6 +832,11 bool QAbstractBarSeriesPrivate::blockBarUpdate() | |||||
799 | return m_blockBarUpdate; |
|
832 | return m_blockBarUpdate; | |
800 | } |
|
833 | } | |
801 |
|
834 | |||
|
835 | qreal QAbstractBarSeriesPrivate::labelsAngle() const | |||
|
836 | { | |||
|
837 | return m_labelsAngle; | |||
|
838 | } | |||
|
839 | ||||
802 | void QAbstractBarSeriesPrivate::initializeDomain() |
|
840 | void QAbstractBarSeriesPrivate::initializeDomain() | |
803 | { |
|
841 | { | |
804 | qreal minX(domain()->minX()); |
|
842 | qreal minX(domain()->minX()); |
@@ -36,6 +36,7 class QT_CHARTS_EXPORT QAbstractBarSeries : public QAbstractSeries | |||||
36 | Q_PROPERTY(bool labelsVisible READ isLabelsVisible WRITE setLabelsVisible NOTIFY labelsVisibleChanged) |
|
36 | Q_PROPERTY(bool labelsVisible READ isLabelsVisible WRITE setLabelsVisible NOTIFY labelsVisibleChanged) | |
37 | Q_PROPERTY(QString labelsFormat READ labelsFormat WRITE setLabelsFormat NOTIFY labelsFormatChanged) |
|
37 | Q_PROPERTY(QString labelsFormat READ labelsFormat WRITE setLabelsFormat NOTIFY labelsFormatChanged) | |
38 | Q_PROPERTY(LabelsPosition labelsPosition READ labelsPosition WRITE setLabelsPosition NOTIFY labelsPositionChanged) |
|
38 | Q_PROPERTY(LabelsPosition labelsPosition READ labelsPosition WRITE setLabelsPosition NOTIFY labelsPositionChanged) | |
|
39 | Q_PROPERTY(qreal labelsAngle READ labelsAngle WRITE setLabelsAngle NOTIFY labelsAngleChanged) | |||
39 | Q_ENUMS(LabelsPosition) |
|
40 | Q_ENUMS(LabelsPosition) | |
40 |
|
41 | |||
41 | public: |
|
42 | public: | |
@@ -67,6 +68,9 public: | |||||
67 | void setLabelsFormat(const QString &format); |
|
68 | void setLabelsFormat(const QString &format); | |
68 | QString labelsFormat() const; |
|
69 | QString labelsFormat() const; | |
69 |
|
70 | |||
|
71 | void setLabelsAngle(qreal angle); | |||
|
72 | qreal labelsAngle() const; | |||
|
73 | ||||
70 | void setLabelsPosition(QAbstractBarSeries::LabelsPosition position); |
|
74 | void setLabelsPosition(QAbstractBarSeries::LabelsPosition position); | |
71 | QAbstractBarSeries::LabelsPosition labelsPosition() const; |
|
75 | QAbstractBarSeries::LabelsPosition labelsPosition() const; | |
72 |
|
76 | |||
@@ -83,6 +87,7 Q_SIGNALS: | |||||
83 | void labelsVisibleChanged(); |
|
87 | void labelsVisibleChanged(); | |
84 | void labelsFormatChanged(const QString &format); |
|
88 | void labelsFormatChanged(const QString &format); | |
85 | void labelsPositionChanged(QAbstractBarSeries::LabelsPosition position); |
|
89 | void labelsPositionChanged(QAbstractBarSeries::LabelsPosition position); | |
|
90 | void labelsAngleChanged(qreal angle); | |||
86 |
|
91 | |||
87 | void barsetsAdded(QList<QBarSet *> sets); |
|
92 | void barsetsAdded(QList<QBarSet *> sets); | |
88 | void barsetsRemoved(QList<QBarSet *> sets); |
|
93 | void barsetsRemoved(QList<QBarSet *> sets); |
@@ -85,6 +85,8 public: | |||||
85 |
|
85 | |||
86 | bool blockBarUpdate(); |
|
86 | bool blockBarUpdate(); | |
87 |
|
87 | |||
|
88 | qreal labelsAngle() const; | |||
|
89 | ||||
88 | Q_SIGNALS: |
|
90 | Q_SIGNALS: | |
89 | void clicked(int index, QBarSet *barset); |
|
91 | void clicked(int index, QBarSet *barset); | |
90 | void pressed(int index, QBarSet *barset); |
|
92 | void pressed(int index, QBarSet *barset); | |
@@ -107,6 +109,7 protected: | |||||
107 | bool m_blockBarUpdate; |
|
109 | bool m_blockBarUpdate; | |
108 | QString m_labelsFormat; |
|
110 | QString m_labelsFormat; | |
109 | QAbstractBarSeries::LabelsPosition m_labelsPosition; |
|
111 | QAbstractBarSeries::LabelsPosition m_labelsPosition; | |
|
112 | qreal m_labelsAngle; | |||
110 |
|
113 | |||
111 | private: |
|
114 | private: | |
112 | Q_DECLARE_PUBLIC(QAbstractBarSeries) |
|
115 | Q_DECLARE_PUBLIC(QAbstractBarSeries) |
@@ -98,24 +98,7 void BarChartItem::handleLabelsPositionChanged() | |||||
98 |
|
98 | |||
99 | void BarChartItem::positionLabels() |
|
99 | void BarChartItem::positionLabels() | |
100 | { |
|
100 | { | |
101 | for (int i = 0; i < m_layout.count(); i++) { |
|
101 | positionLabelsVertical(); | |
102 | QGraphicsTextItem *label = m_labels.at(i); |
|
|||
103 | qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x(); |
|
|||
104 | qreal yPos = 0; |
|
|||
105 |
|
||||
106 | int offset = m_bars.at(i)->pen().width() / 2 + 2; |
|
|||
107 | if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter) |
|
|||
108 | yPos = m_layout.at(i).center().y() - label->boundingRect().center().y(); |
|
|||
109 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd) |
|
|||
110 | yPos = m_layout.at(i).top() - offset; |
|
|||
111 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase) |
|
|||
112 | yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset; |
|
|||
113 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd) |
|
|||
114 | yPos = m_layout.at(i).top() - label->boundingRect().height() + offset; |
|
|||
115 |
|
||||
116 | label->setPos(xPos, yPos); |
|
|||
117 | label->setZValue(zValue() + 1); |
|
|||
118 | } |
|
|||
119 | } |
|
102 | } | |
120 |
|
103 | |||
121 | #include "moc_barchartitem_p.cpp" |
|
104 | #include "moc_barchartitem_p.cpp" |
@@ -144,24 +144,7 void PercentBarChartItem::handleLabelsPositionChanged() | |||||
144 |
|
144 | |||
145 | void PercentBarChartItem::positionLabels() |
|
145 | void PercentBarChartItem::positionLabels() | |
146 | { |
|
146 | { | |
147 | for (int i = 0; i < m_layout.count(); i++) { |
|
147 | positionLabelsVertical(); | |
148 | QGraphicsTextItem *label = m_labels.at(i); |
|
|||
149 | qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x(); |
|
|||
150 | qreal yPos = 0; |
|
|||
151 |
|
||||
152 | int offset = m_bars.at(i)->pen().width() / 2 + 2; |
|
|||
153 | if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter) |
|
|||
154 | yPos = m_layout.at(i).center().y() - label->boundingRect().center().y(); |
|
|||
155 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd) |
|
|||
156 | yPos = m_layout.at(i).top() - offset; |
|
|||
157 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase) |
|
|||
158 | yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset; |
|
|||
159 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd) |
|
|||
160 | yPos = m_layout.at(i).top() - label->boundingRect().height() + offset; |
|
|||
161 |
|
||||
162 | label->setPos(xPos, yPos); |
|
|||
163 | label->setZValue(zValue() + 1); |
|
|||
164 | } |
|
|||
165 | } |
|
148 | } | |
166 |
|
149 | |||
167 | #include "moc_percentbarchartitem_p.cpp" |
|
150 | #include "moc_percentbarchartitem_p.cpp" |
@@ -110,24 +110,7 void StackedBarChartItem::handleLabelsPositionChanged() | |||||
110 |
|
110 | |||
111 | void StackedBarChartItem::positionLabels() |
|
111 | void StackedBarChartItem::positionLabels() | |
112 | { |
|
112 | { | |
113 | for (int i = 0; i < m_layout.count(); i++) { |
|
113 | positionLabelsVertical(); | |
114 | QGraphicsTextItem *label = m_labels.at(i); |
|
|||
115 | qreal xPos = m_layout.at(i).center().x() - label->boundingRect().center().x(); |
|
|||
116 | qreal yPos = 0; |
|
|||
117 |
|
||||
118 | int offset = m_bars.at(i)->pen().width() / 2 + 2; |
|
|||
119 | if (m_series->labelsPosition() == QAbstractBarSeries::LabelsCenter) |
|
|||
120 | yPos = m_layout.at(i).center().y() - label->boundingRect().center().y(); |
|
|||
121 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideEnd) |
|
|||
122 | yPos = m_layout.at(i).top() - offset; |
|
|||
123 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsInsideBase) |
|
|||
124 | yPos = m_layout.at(i).bottom() - label->boundingRect().height() + offset; |
|
|||
125 | else if (m_series->labelsPosition() == QAbstractBarSeries::LabelsOutsideEnd) |
|
|||
126 | yPos = m_layout.at(i).top() - label->boundingRect().height() + offset; |
|
|||
127 |
|
||||
128 | label->setPos(xPos, yPos); |
|
|||
129 | label->setZValue(zValue() + 1); |
|
|||
130 | } |
|
|||
131 | } |
|
114 | } | |
132 |
|
115 | |||
133 | #include "moc_stackedbarchartitem_p.cpp" |
|
116 | #include "moc_stackedbarchartitem_p.cpp" |
@@ -60,6 +60,7 private slots: | |||||
60 | void setLabelsVisible(); |
|
60 | void setLabelsVisible(); | |
61 | void setLabelsFormat(); |
|
61 | void setLabelsFormat(); | |
62 | void setLabelsPosition(); |
|
62 | void setLabelsPosition(); | |
|
63 | void setLabelsAngle(); | |||
63 | void opacity(); |
|
64 | void opacity(); | |
64 | void mouseclicked_data(); |
|
65 | void mouseclicked_data(); | |
65 | void mouseclicked(); |
|
66 | void mouseclicked(); | |
@@ -405,6 +406,19 void tst_QBarSeries::setLabelsPosition() | |||||
405 | QCOMPARE(m_barseries->labelsPosition(), QBarSeries::LabelsCenter); |
|
406 | QCOMPARE(m_barseries->labelsPosition(), QBarSeries::LabelsCenter); | |
406 | } |
|
407 | } | |
407 |
|
408 | |||
|
409 | void tst_QBarSeries::setLabelsAngle() | |||
|
410 | { | |||
|
411 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
412 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
413 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
414 | ||||
|
415 | m_barseries->setLabelsAngle(55.0); | |||
|
416 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
417 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
418 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
419 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
420 | } | |||
|
421 | ||||
408 | void tst_QBarSeries::opacity() |
|
422 | void tst_QBarSeries::opacity() | |
409 | { |
|
423 | { | |
410 | QSignalSpy opacitySpy(m_barseries, SIGNAL(opacityChanged())); |
|
424 | QSignalSpy opacitySpy(m_barseries, SIGNAL(opacityChanged())); |
@@ -57,6 +57,7 private slots: | |||||
57 | void setLabelsVisible(); |
|
57 | void setLabelsVisible(); | |
58 | void setLabelsFormat(); |
|
58 | void setLabelsFormat(); | |
59 | void setLabelsPosition(); |
|
59 | void setLabelsPosition(); | |
|
60 | void setLabelsAngle(); | |||
60 | void mouseclicked_data(); |
|
61 | void mouseclicked_data(); | |
61 | void mouseclicked(); |
|
62 | void mouseclicked(); | |
62 | void mousehovered_data(); |
|
63 | void mousehovered_data(); | |
@@ -370,6 +371,19 void tst_QHorizontalBarSeries::setLabelsPosition() | |||||
370 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalBarSeries::LabelsCenter); |
|
371 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalBarSeries::LabelsCenter); | |
371 | } |
|
372 | } | |
372 |
|
373 | |||
|
374 | void tst_QHorizontalBarSeries::setLabelsAngle() | |||
|
375 | { | |||
|
376 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
377 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
378 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
379 | ||||
|
380 | m_barseries->setLabelsAngle(55.0); | |||
|
381 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
382 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
383 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
384 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
385 | } | |||
|
386 | ||||
373 | void tst_QHorizontalBarSeries::mouseclicked_data() |
|
387 | void tst_QHorizontalBarSeries::mouseclicked_data() | |
374 | { |
|
388 | { | |
375 |
|
389 |
@@ -45,6 +45,7 private slots: | |||||
45 | void type(); |
|
45 | void type(); | |
46 | void setLabelsFormat(); |
|
46 | void setLabelsFormat(); | |
47 | void setLabelsPosition(); |
|
47 | void setLabelsPosition(); | |
|
48 | void setLabelsAngle(); | |||
48 | void mouseclicked_data(); |
|
49 | void mouseclicked_data(); | |
49 | void mouseclicked(); |
|
50 | void mouseclicked(); | |
50 | void mousehovered_data(); |
|
51 | void mousehovered_data(); | |
@@ -155,6 +156,19 void tst_QHorizontalPercentBarSeries::setLabelsPosition() | |||||
155 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalPercentBarSeries::LabelsCenter); |
|
156 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalPercentBarSeries::LabelsCenter); | |
156 | } |
|
157 | } | |
157 |
|
158 | |||
|
159 | void tst_QHorizontalPercentBarSeries::setLabelsAngle() | |||
|
160 | { | |||
|
161 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
162 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
163 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
164 | ||||
|
165 | m_barseries->setLabelsAngle(55.0); | |||
|
166 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
167 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
168 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
169 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
170 | } | |||
|
171 | ||||
158 | void tst_QHorizontalPercentBarSeries::mouseclicked_data() |
|
172 | void tst_QHorizontalPercentBarSeries::mouseclicked_data() | |
159 | { |
|
173 | { | |
160 |
|
174 |
@@ -45,6 +45,7 private slots: | |||||
45 | void type(); |
|
45 | void type(); | |
46 | void setLabelsFormat(); |
|
46 | void setLabelsFormat(); | |
47 | void setLabelsPosition(); |
|
47 | void setLabelsPosition(); | |
|
48 | void setLabelsAngle(); | |||
48 | void mouseclicked_data(); |
|
49 | void mouseclicked_data(); | |
49 | void mouseclicked(); |
|
50 | void mouseclicked(); | |
50 | void mousehovered_data(); |
|
51 | void mousehovered_data(); | |
@@ -154,6 +155,19 void tst_QHorizontalStackedBarSeries::setLabelsPosition() | |||||
154 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalStackedBarSeries::LabelsCenter); |
|
155 | QCOMPARE(m_barseries->labelsPosition(), QHorizontalStackedBarSeries::LabelsCenter); | |
155 | } |
|
156 | } | |
156 |
|
157 | |||
|
158 | void tst_QHorizontalStackedBarSeries::setLabelsAngle() | |||
|
159 | { | |||
|
160 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
161 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
162 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
163 | ||||
|
164 | m_barseries->setLabelsAngle(55.0); | |||
|
165 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
166 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
167 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
168 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
169 | } | |||
|
170 | ||||
157 | void tst_QHorizontalStackedBarSeries::mouseclicked_data() |
|
171 | void tst_QHorizontalStackedBarSeries::mouseclicked_data() | |
158 | { |
|
172 | { | |
159 |
|
173 |
@@ -45,6 +45,7 private slots: | |||||
45 | void type(); |
|
45 | void type(); | |
46 | void setLabelsFormat(); |
|
46 | void setLabelsFormat(); | |
47 | void setLabelsPosition(); |
|
47 | void setLabelsPosition(); | |
|
48 | void setLabelsAngle(); | |||
48 | void mouseclicked_data(); |
|
49 | void mouseclicked_data(); | |
49 | void mouseclicked(); |
|
50 | void mouseclicked(); | |
50 | void mousehovered_data(); |
|
51 | void mousehovered_data(); | |
@@ -160,6 +161,19 void tst_QPercentBarSeries::setLabelsPosition() | |||||
160 | QCOMPARE(m_barseries->labelsPosition(), QPercentBarSeries::LabelsCenter); |
|
161 | QCOMPARE(m_barseries->labelsPosition(), QPercentBarSeries::LabelsCenter); | |
161 | } |
|
162 | } | |
162 |
|
163 | |||
|
164 | void tst_QPercentBarSeries::setLabelsAngle() | |||
|
165 | { | |||
|
166 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
167 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
168 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
169 | ||||
|
170 | m_barseries->setLabelsAngle(55.0); | |||
|
171 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
172 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
173 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
174 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
175 | } | |||
|
176 | ||||
163 | void tst_QPercentBarSeries::mouseclicked() |
|
177 | void tst_QPercentBarSeries::mouseclicked() | |
164 | { |
|
178 | { | |
165 | SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); |
|
179 | SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); |
@@ -45,6 +45,7 private slots: | |||||
45 | void type(); |
|
45 | void type(); | |
46 | void setLabelsFormat(); |
|
46 | void setLabelsFormat(); | |
47 | void setLabelsPosition(); |
|
47 | void setLabelsPosition(); | |
|
48 | void setLabelsAngle(); | |||
48 | void mouseclicked_data(); |
|
49 | void mouseclicked_data(); | |
49 | void mouseclicked(); |
|
50 | void mouseclicked(); | |
50 | void mousehovered_data(); |
|
51 | void mousehovered_data(); | |
@@ -154,6 +155,19 void tst_QStackedBarSeries::setLabelsPosition() | |||||
154 | QCOMPARE(m_barseries->labelsPosition(), QStackedBarSeries::LabelsCenter); |
|
155 | QCOMPARE(m_barseries->labelsPosition(), QStackedBarSeries::LabelsCenter); | |
155 | } |
|
156 | } | |
156 |
|
157 | |||
|
158 | void tst_QStackedBarSeries::setLabelsAngle() | |||
|
159 | { | |||
|
160 | QSignalSpy labelsAngleSpy(m_barseries, | |||
|
161 | SIGNAL(labelsAngleChanged(qreal))); | |||
|
162 | QCOMPARE(m_barseries->labelsAngle(), 0.0); | |||
|
163 | ||||
|
164 | m_barseries->setLabelsAngle(55.0); | |||
|
165 | TRY_COMPARE(labelsAngleSpy.count(), 1); | |||
|
166 | QList<QVariant> arguments = labelsAngleSpy.takeFirst(); | |||
|
167 | QVERIFY(arguments.at(0).value<qreal>() == 55.0); | |||
|
168 | QCOMPARE(m_barseries->labelsAngle(), 55.0); | |||
|
169 | } | |||
|
170 | ||||
157 | void tst_QStackedBarSeries::mouseclicked_data() |
|
171 | void tst_QStackedBarSeries::mouseclicked_data() | |
158 | { |
|
172 | { | |
159 |
|
173 |
@@ -186,6 +186,14 Row { | |||||
186 | text: "set 1 label color" |
|
186 | text: "set 1 label color" | |
187 | onClicked: series.at(0).labelColor = main.nextColor(); |
|
187 | onClicked: series.at(0).labelColor = main.nextColor(); | |
188 | } |
|
188 | } | |
|
189 | Button { | |||
|
190 | text: "labels angle +" | |||
|
191 | onClicked: series.labelsAngle = series.labelsAngle + 5; | |||
|
192 | } | |||
|
193 | Button { | |||
|
194 | text: "labels angle -" | |||
|
195 | onClicked: series.labelsAngle = series.labelsAngle - 5; | |||
|
196 | } | |||
189 | FontEditor { |
|
197 | FontEditor { | |
190 | id: fontEditor |
|
198 | id: fontEditor | |
191 | fontDescription: "label" |
|
199 | fontDescription: "label" |
General Comments 0
You need to be logged in to leave comments.
Login now