@@ -19,6 +19,7 | |||
|
19 | 19 | ****************************************************************************/ |
|
20 | 20 | |
|
21 | 21 | #include "chartdataset_p.h" |
|
22 | #include "qchart.h" | |
|
22 | 23 | #include "qaxis.h" |
|
23 | 24 | #include "qaxis_p.h" |
|
24 | 25 | #include "qabstractseries_p.h" |
@@ -29,7 +30,7 | |||
|
29 | 30 | |
|
30 | 31 | QTCOMMERCIALCHART_BEGIN_NAMESPACE |
|
31 | 32 | |
|
32 |
ChartDataSet::ChartDataSet(Q |
|
|
33 | ChartDataSet::ChartDataSet(QChart *parent):QObject(parent), | |
|
33 | 34 | m_axisX(new QAxis(this)), |
|
34 | 35 | m_axisY(new QAxis(this)), |
|
35 | 36 | m_domainIndex(0), |
@@ -116,7 +117,8 void ChartDataSet::addSeries(QAbstractSeries* series, QAxis *axisY) | |||
|
116 | 117 | |
|
117 | 118 | m_indexSeriesMap.insert(key,series); |
|
118 | 119 | |
|
119 | series->d_ptr->m_dataset=this; | |
|
120 | series->d_ptr->m_chart = qobject_cast<QChart*>(parent()); | |
|
121 | series->d_ptr->m_dataset = this; | |
|
120 | 122 | |
|
121 | 123 | emit seriesAdded(series,domain); |
|
122 | 124 | |
@@ -138,8 +140,10 QAxis* ChartDataSet::removeSeries(QAbstractSeries* series) | |||
|
138 | 140 | Q_ASSERT(key!=-1); |
|
139 | 141 | |
|
140 | 142 | m_indexSeriesMap.remove(key); |
|
143 | ||
|
141 | 144 | series->setParent(0); |
|
142 |
series->d_ptr->m_ |
|
|
145 | series->d_ptr->m_chart = 0; | |
|
146 | series->d_ptr->m_dataset = 0; | |
|
143 | 147 | |
|
144 | 148 | QList<QAxis*> axes = m_seriesAxisMap.values(); |
|
145 | 149 |
@@ -43,7 +43,7 class QTCOMMERCIALCHART_AUTOTEST_EXPORT ChartDataSet : public QObject | |||
|
43 | 43 | { |
|
44 | 44 | Q_OBJECT |
|
45 | 45 | public: |
|
46 |
ChartDataSet(Q |
|
|
46 | ChartDataSet(QChart* parent=0); | |
|
47 | 47 | virtual ~ChartDataSet(); |
|
48 | 48 | |
|
49 | 49 | void addSeries(QAbstractSeries* series,QAxis *axisY = 0); |
@@ -110,10 +110,22 QString QAbstractSeries::name() const | |||
|
110 | 110 | return d_ptr->m_name; |
|
111 | 111 | } |
|
112 | 112 | |
|
113 | /*! | |
|
114 | \brief Returns the chart where series belongs to. | |
|
115 | ||
|
116 | Set automatically when the series is added to the chart | |
|
117 | and unset when the series is removed from the chart. | |
|
118 | */ | |
|
119 | QChart* QAbstractSeries::chart() const | |
|
120 | { | |
|
121 | return d_ptr->m_chart; | |
|
122 | } | |
|
123 | ||
|
113 | 124 | /////////////////////////////////////////////////////////////////////////////////////////////////// |
|
114 | 125 | |
|
115 | 126 | QAbstractSeriesPrivate::QAbstractSeriesPrivate(QAbstractSeries* q): |
|
116 | 127 | q_ptr(q), |
|
128 | m_chart(0), | |
|
117 | 129 | m_dataset(0) |
|
118 | 130 | { |
|
119 | 131 | } |
@@ -54,6 +54,7 public: | |||
|
54 | 54 | |
|
55 | 55 | protected: |
|
56 | 56 | QAbstractSeries *q_ptr; |
|
57 | QChart *m_chart; | |
|
57 | 58 | ChartDataSet *m_dataset; |
|
58 | 59 | QString m_name; |
|
59 | 60 |
@@ -203,10 +203,12 void tst_QChart::addSeries() | |||
|
203 | 203 | m_view->show(); |
|
204 | 204 | QTest::qWaitForWindowShown(m_view); |
|
205 | 205 | if(!axis) axis = m_chart->axisY(); |
|
206 | QVERIFY(!series->chart()); | |
|
206 | 207 | m_chart->addSeries(series,axis); |
|
208 | QVERIFY(series->chart() == m_chart); | |
|
207 | 209 | QCOMPARE(m_chart->axisY(series),axis); |
|
208 | 210 | m_chart->removeSeries(series); |
|
209 | ||
|
211 | QVERIFY(!series->chart()); | |
|
210 | 212 | } |
|
211 | 213 | |
|
212 | 214 | void tst_QChart::animationOptions_data() |
@@ -362,6 +364,9 void tst_QChart::removeAllSeries() | |||
|
362 | 364 | QLineSeries* series0 = new QLineSeries(this); |
|
363 | 365 | QLineSeries* series1 = new QLineSeries(this); |
|
364 | 366 | QLineSeries* series2 = new QLineSeries(this); |
|
367 | QSignalSpy deleteSpy1(series0, SIGNAL(destroyed())); | |
|
368 | QSignalSpy deleteSpy2(series1, SIGNAL(destroyed())); | |
|
369 | QSignalSpy deleteSpy3(series2, SIGNAL(destroyed())); | |
|
365 | 370 | |
|
366 | 371 | m_chart->addSeries(series0); |
|
367 | 372 | m_chart->addSeries(series1); |
@@ -374,10 +379,12 void tst_QChart::removeAllSeries() | |||
|
374 | 379 | QVERIFY(m_chart->axisY(series2)!=0); |
|
375 | 380 | |
|
376 | 381 | m_chart->removeAllSeries(); |
|
377 | ||
|
378 | 382 | QVERIFY(m_chart->axisY(series0)==0); |
|
379 | 383 | QVERIFY(m_chart->axisY(series1)==0); |
|
380 | 384 | QVERIFY(m_chart->axisY(series2)==0); |
|
385 | QCOMPARE(deleteSpy1.count(), 1); | |
|
386 | QCOMPARE(deleteSpy2.count(), 1); | |
|
387 | QCOMPARE(deleteSpy3.count(), 1); | |
|
381 | 388 | } |
|
382 | 389 | |
|
383 | 390 | void tst_QChart::removeSeries_data() |
@@ -389,6 +396,7 void tst_QChart::removeSeries() | |||
|
389 | 396 | { |
|
390 | 397 | QFETCH(QAbstractSeries *, series); |
|
391 | 398 | QFETCH(QAxis *, axis); |
|
399 | QSignalSpy deleteSpy(series, SIGNAL(destroyed())); | |
|
392 | 400 | m_view->show(); |
|
393 | 401 | QTest::qWaitForWindowShown(m_view); |
|
394 | 402 | if(!axis) axis = m_chart->axisY(); |
@@ -396,6 +404,7 void tst_QChart::removeSeries() | |||
|
396 | 404 | QCOMPARE(m_chart->axisY(series),axis); |
|
397 | 405 | m_chart->removeSeries(series); |
|
398 | 406 | QVERIFY(m_chart->axisY(series)==0); |
|
407 | QCOMPARE(deleteSpy.count(), 0); | |
|
399 | 408 | } |
|
400 | 409 | |
|
401 | 410 | void tst_QChart::scrollDown_data() |
General Comments 0
You need to be logged in to leave comments.
Login now