summaryrefslogtreecommitdiffstats
path: root/plugins/declarative/declarativechart.cpp
diff options
context:
space:
mode:
authorTero Ahola <tero.ahola@digia.com>2012-09-17 12:08:36 +0300
committerTero Ahola <tero.ahola@digia.com>2012-09-17 13:23:17 +0300
commit1370cf739b4fd6c22258817d9613c69f619230c6 (patch)
treeef042d21068d71a414c02840af2dc5f1e432cfb2 /plugins/declarative/declarativechart.cpp
parent10f778f664858012c41367d143f0622945a206fa (diff)
QML ChartView signals seriesAdded and seriesRemoved
Diffstat (limited to 'plugins/declarative/declarativechart.cpp')
-rw-r--r--plugins/declarative/declarativechart.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/plugins/declarative/declarativechart.cpp b/plugins/declarative/declarativechart.cpp
index 6ee43be3..bc71308f 100644
--- a/plugins/declarative/declarativechart.cpp
+++ b/plugins/declarative/declarativechart.cpp
@@ -32,6 +32,7 @@
#include "qcategoryaxis.h"
#include "qabstractseries_p.h"
#include "declarativemargins.h"
+#include "qchart_p.h"
#ifndef QT_ON_ARM
#include "qdatetimeaxis.h"
@@ -186,12 +187,12 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE
*/
/*!
- \qmlmethod Axis ChartView::axisX(QAbstractSeries *series)
+ \qmlmethod Axis ChartView::axisX(AbstractSeries series)
The x-axis of the series.
*/
/*!
- \qmlmethod Axis ChartView::axisY(QAbstractSeries *series)
+ \qmlmethod Axis ChartView::axisY(AbstractSeries series)
The y-axis of the series.
*/
@@ -231,6 +232,17 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE
title.
*/
+/*!
+ \qmlsignal ChartView::seriesAdded(AbstractSeries series)
+ The \a series has been added to the chart.
+*/
+
+/*!
+ \qmlsignal ChartView::seriesRemoved(AbstractSeries series)
+ The \a series has been removed from the chart. Please note that \a series is no longer a valid
+ object after the signal handler has completed.
+*/
+
DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent)
: QDeclarativeItem(parent),
m_chart(new QChart(this))
@@ -241,6 +253,14 @@ DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent)
connect(m_minMargins, SIGNAL(bottomChanged(int, int, int, int)), this, SLOT(changeMinimumMargins(int, int, int, int)));
connect(m_minMargins, SIGNAL(leftChanged(int, int, int, int)), this, SLOT(changeMinimumMargins(int, int, int, int)));
connect(m_minMargins, SIGNAL(rightChanged(int, int, int, int)), this, SLOT(changeMinimumMargins(int, int, int, int)));
+ connect(m_chart->d_ptr->m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)), this, SLOT(handleSeriesAdded(QAbstractSeries *, Domain *)));
+ connect(m_chart->d_ptr->m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)), this, SIGNAL(seriesRemoved(QAbstractSeries *)));
+}
+
+void DeclarativeChart::handleSeriesAdded(QAbstractSeries *series, Domain *domain)
+{
+ Q_UNUSED(domain)
+ emit seriesAdded(series);
}
void DeclarativeChart::changeMinimumMargins(int top, int bottom, int left, int right)
@@ -620,6 +640,14 @@ QAbstractSeries *DeclarativeChart::createSeries(DeclarativeChart::SeriesType typ
return series;
}
+void DeclarativeChart::removeSeries(QAbstractSeries *series)
+{
+ if (series)
+ m_chart->removeSeries(series);
+ else
+ qWarning("removeSeries: cannot remove null");
+}
+
void DeclarativeChart::setAxisX(QAbstractAxis *axis, QAbstractSeries *series)
{
if (axis)