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