diff --git a/plugins/declarative/declarativechart.cpp b/plugins/declarative/declarativechart.cpp index dce629f..218132a 100644 --- a/plugins/declarative/declarativechart.cpp +++ b/plugins/declarative/declarativechart.cpp @@ -174,6 +174,16 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE */ /*! + \qmlmethod ChartView::removeSeries(AbstractSeries series) + Removes the \a series from the chart. The series object is also destroyed. +*/ + +/*! + \qmlmethod ChartView::removeAllSeries() + Removes all series from the chart. All the series objects are also destroyed. +*/ + +/*! \qmlmethod Axis ChartView::axisY(QAbstractSeries *series) The y-axis of the series. This is the same as the default y-axis of the chart as multiple y-axes are not yet supported. */ diff --git a/plugins/declarative/declarativechart.h b/plugins/declarative/declarativechart.h index 2f03bbc..11cdfcc 100644 --- a/plugins/declarative/declarativechart.h +++ b/plugins/declarative/declarativechart.h @@ -122,12 +122,13 @@ public: Q_INVOKABLE QAbstractSeries *series(int index); Q_INVOKABLE QAbstractSeries *series(QString seriesName); Q_INVOKABLE QAbstractSeries *createSeries(DeclarativeChart::SeriesType type, QString name = ""); + Q_INVOKABLE void removeSeries(QAbstractSeries *series) { m_chart->removeSeries(series); } + Q_INVOKABLE void removeAllSeries() { m_chart->removeAllSeries(); } Q_INVOKABLE void setAxisX(QAbstractAxis *axis, QAbstractSeries *series = 0); Q_INVOKABLE void setAxisY(QAbstractAxis *axis, QAbstractSeries *series = 0); Q_INVOKABLE void createDefaultAxes(); Q_INVOKABLE QAbstractAxis *axisX(QAbstractSeries *series = 0); Q_INVOKABLE QAbstractAxis *axisY(QAbstractSeries *series = 0); - Q_INVOKABLE void zoom(qreal factor); Q_INVOKABLE void scrollLeft(qreal pixels); Q_INVOKABLE void scrollRight(qreal pixels); diff --git a/tests/qmlchartaxis/qml/qmlchartaxis/CreatingDynamically.qml b/tests/qmlchartaxis/qml/qmlchartaxis/CreatingDynamically.qml index 67ae2b5..be3a97f 100644 --- a/tests/qmlchartaxis/qml/qmlchartaxis/CreatingDynamically.qml +++ b/tests/qmlchartaxis/qml/qmlchartaxis/CreatingDynamically.qml @@ -33,10 +33,7 @@ ChartView { onTriggered: { switch (index) { case 0: - while (chartView.count) { - console.log("Destroying series. Count: " + chartView.count); - chartView.series(0).destroy(); - } + var count = chartView.count; var line = chartView.createSeries(ChartView.SeriesTypeLine, "line"); line.append(0, 0); line.append(1, 1); @@ -50,7 +47,7 @@ ChartView { chartView.axisY().min = 0; chartView.axisY().max = 4.5; break; - default: + case 2: var scatter = chartView.createSeries(ChartView.SeriesTypeScatter, "scatter"); scatter.append(0, 0); scatter.append(0.5, 1); @@ -61,8 +58,11 @@ ChartView { scatter.append(2, 2); scatter.append(3, 3); scatter.append(4, 4); + break; + default: + chartView.removeAllSeries(); } - index = (index + 1) % 3; + index = (index + 1) % 4; } } }