##// END OF EJS Templates
Implemented QAbstractSeries::chart()...
Jani Honkonen -
r1314:f6f67dde6408
parent child
Show More
@@ -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(QObject *parent):QObject(parent),
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,7 +117,8 void ChartDataSet::addSeries(QAbstractSeries* series, QAxis *axisY)
116
117
117 m_indexSeriesMap.insert(key,series);
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 emit seriesAdded(series,domain);
123 emit seriesAdded(series,domain);
122
124
@@ -138,8 +140,10 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);
142 series->d_ptr->m_dataset=0;
145 series->d_ptr->m_chart = 0;
146 series->d_ptr->m_dataset = 0;
143
147
144 QList<QAxis*> axes = m_seriesAxisMap.values();
148 QList<QAxis*> axes = m_seriesAxisMap.values();
145
149
@@ -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(QObject* parent=0);
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