##// END OF EJS Templates
Add QPieSlice::series() and tests
Jani Honkonen -
r1323:f354dfd88f13
parent child
Show More
@@ -273,6 +273,7 bool QPieSeries::append(QList<QPieSlice*> slices)
273 273
274 274 foreach (QPieSlice* s, slices) {
275 275 s->setParent(this);
276 QPieSlicePrivate::fromSlice(s)->m_series = this;
276 277 d->m_slices << s;
277 278 }
278 279
@@ -329,6 +330,7 bool QPieSeries::insert(int index, QPieSlice* slice)
329 330 return false;
330 331
331 332 slice->setParent(this);
333 QPieSlicePrivate::fromSlice(slice)->m_series = this;
332 334 d->m_slices.insert(index, slice);
333 335
334 336 d->updateDerivativeData();
@@ -452,9 +452,20 qreal QPieSlice::angleSpan() const
452 452 return d_ptr->m_data.m_angleSpan;
453 453 }
454 454
455 /*!
456 Returns the series that this slice belongs to.
457
458 \sa QPieSeries::append()
459 */
460 QPieSeries *QPieSlice::series() const
461 {
462 return d_ptr->m_series;
463 }
464
455 465 QPieSlicePrivate::QPieSlicePrivate(QPieSlice *parent)
456 466 :QObject(parent),
457 q_ptr(parent)
467 q_ptr(parent),
468 m_series(0)
458 469 {
459 470
460 471 }
@@ -29,6 +29,7
29 29
30 30 QTCOMMERCIALCHART_BEGIN_NAMESPACE
31 31 class QPieSlicePrivate;
32 class QPieSeries;
32 33
33 34 class QTCOMMERCIALCHART_EXPORT QPieSlice : public QObject
34 35 {
@@ -86,6 +87,8 public:
86 87 qreal startAngle() const;
87 88 qreal angleSpan() const;
88 89
90 QPieSeries *series() const;
91
89 92 Q_SIGNALS:
90 93 void labelChanged();
91 94 void valueChanged();
@@ -6,6 +6,7
6 6 #include "pieslicedata_p.h"
7 7
8 8 QTCOMMERCIALCHART_BEGIN_NAMESPACE
9 class QPieSeries;
9 10
10 11 class QPieSlicePrivate : public QObject
11 12 {
@@ -27,15 +28,16 public:
27 28 void setAngleSpan(qreal span);
28 29
29 30 private:
30 PieSliceData m_data;
31
32 private:
31 friend class QPieSeries;
33 32 friend class QPieSeriesPrivate;
34 33 friend class ChartTheme;
35 34 friend class PieChartItem;
36 35
37 36 QPieSlice * const q_ptr;
38 37 Q_DECLARE_PUBLIC(QPieSlice)
38
39 PieSliceData m_data;
40 QPieSeries *m_series;
39 41 };
40 42
41 43 QTCOMMERCIALCHART_END_NAMESPACE
@@ -53,6 +53,7 private slots:
53 53 void calculatedValues();
54 54 void clickedSignal();
55 55 void hoverSignal();
56 void sliceSeries();
56 57
57 58 private:
58 59 void verifyCalculatedData(const QPieSeries &series, bool *ok);
@@ -531,6 +532,23 void tst_qpieseries::hoverSignal()
531 532 QCOMPARE(qvariant_cast<bool>(hoverSpy.at(1).at(1)), false);
532 533 }
533 534
535 void tst_qpieseries::sliceSeries()
536 {
537 QPieSlice *slice = new QPieSlice();
538 QVERIFY(!slice->series());
539 delete slice;
540
541 slice = new QPieSlice(m_series);
542 QVERIFY(!slice->series());
543
544 m_series->append(slice);
545 QCOMPARE(slice->series(), m_series);
546
547 slice = new QPieSlice();
548 m_series->insert(0, slice);
549 QCOMPARE(slice->series(), m_series);
550 }
551
534 552 QTEST_MAIN(tst_qpieseries)
535 553
536 554 #include "tst_qpieseries.moc"
General Comments 0
You need to be logged in to leave comments. Login now