##// END OF EJS Templates
Implemented QAbstractSeries::chart()...
Jani Honkonen -
r1314:f6f67dde6408
parent child
Show More
@@ -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(QObject *parent):QObject(parent),
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_dataset=0;
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(QObject* parent=0);
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