summaryrefslogtreecommitdiffstats
path: root/src/chartsqml2/declarativexyseries.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chartsqml2/declarativexyseries.cpp')
-rw-r--r--src/chartsqml2/declarativexyseries.cpp118
1 files changed, 118 insertions, 0 deletions
diff --git a/src/chartsqml2/declarativexyseries.cpp b/src/chartsqml2/declarativexyseries.cpp
new file mode 100644
index 00000000..55fb31d9
--- /dev/null
+++ b/src/chartsqml2/declarativexyseries.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the Qt Enterprise Charts Add-on.
+**
+** $QT_BEGIN_LICENSE$
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include "declarativexyseries.h"
+#include "declarativexypoint.h"
+#include "qvxymodelmapper.h"
+#include "qhxymodelmapper.h"
+
+QT_CHARTS_BEGIN_NAMESPACE
+
+DeclarativeXySeries::DeclarativeXySeries()
+{
+}
+
+DeclarativeXySeries::~DeclarativeXySeries()
+{
+}
+
+void DeclarativeXySeries::classBegin()
+{
+}
+
+void DeclarativeXySeries::componentComplete()
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+
+ foreach (QObject *child, series->children()) {
+ if (qobject_cast<DeclarativeXYPoint *>(child)) {
+ DeclarativeXYPoint *point = qobject_cast<DeclarativeXYPoint *>(child);
+ series->append(point->x(), point->y());
+ } else if (qobject_cast<QVXYModelMapper *>(child)) {
+ QVXYModelMapper *mapper = qobject_cast<QVXYModelMapper *>(child);
+ mapper->setSeries(series);
+ } else if (qobject_cast<QHXYModelMapper *>(child)) {
+ QHXYModelMapper *mapper = qobject_cast<QHXYModelMapper *>(child);
+ mapper->setSeries(series);
+ }
+ }
+}
+
+void DeclarativeXySeries::append(qreal x, qreal y)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->append(x, y);
+}
+
+void DeclarativeXySeries::replace(qreal oldX, qreal oldY, qreal newX, qreal newY)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->replace(oldX, oldY, newX, newY);
+}
+
+void DeclarativeXySeries::replace(int index, qreal newX, qreal newY)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->replace(index, newX, newY);
+}
+
+void DeclarativeXySeries::remove(qreal x, qreal y)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->remove(x, y);
+}
+
+void DeclarativeXySeries::remove(int index)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->remove(index);
+}
+
+void DeclarativeXySeries::insert(int index, qreal x, qreal y)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->insert(index, QPointF(x, y));
+}
+
+void DeclarativeXySeries::clear()
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ series->clear();
+}
+
+QPointF DeclarativeXySeries::at(int index)
+{
+ QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
+ Q_ASSERT(series);
+ if (index >= 0 || index < series->count())
+ return series->points().at(index);
+ return QPointF(0, 0);
+}
+
+QT_CHARTS_END_NAMESPACE