##// END OF EJS Templates
Check the index is within the valid range...
Check the index is within the valid range Change-Id: I6fe736f912d760b6fd5745cb4572d8cb6d3b49f0 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2765:bcd1945731d3
r2765:bcd1945731d3
Show More
declarativexyseries.cpp
116 lines | 3.2 KiB | text/x-c | CppLexer
/ src / chartsqml2 / declarativexyseries.cpp
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
Titta Heikkala
Update copyright year...
r2688 ** Copyright (C) 2014 Digia Plc
Jani Honkonen
Add/modify license headers
r830 ** All rights reserved.
Titta Heikkala
Updated license headers...
r2740 ** For any questions to Digia, please use contact form at http://qt.io
Jani Honkonen
Add/modify license headers
r830 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Jani Honkonen
Add/modify license headers
r830 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
** agreement between you and Digia.
Jani Honkonen
Add/modify license headers
r830 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Jani Honkonen
Add/modify license headers
r830 **
****************************************************************************/
Marek Rosa
removed many unnecessary includes from declarative files
r1669
Marek Rosa
Changed include to small letter first becasue it didn't build on Linux
r736 #include "declarativexyseries.h"
Tero Ahola
Removed unneeded includes from declarative plugin
r1831 #include "declarativexypoint.h"
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QVXYModelMapper>
#include <QtCharts/QHXYModelMapper>
Tero Ahola
Spline to QML API
r732
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
Tero Ahola
Spline to QML API
r732
Tero Ahola
Declarative series classed now derived from QSeries childs
r789 DeclarativeXySeries::DeclarativeXySeries()
Tero Ahola
Spline to QML API
r732 {
}
DeclarativeXySeries::~DeclarativeXySeries()
{
}
Tero Ahola
XY model mappers to QML api
r1278 void DeclarativeXySeries::classBegin()
{
}
void DeclarativeXySeries::componentComplete()
{
Tero Ahola
Use qobject_cast instead of reinterpret_cast in xy series casts
r1401 QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
Q_ASSERT(series);
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (QObject *child, series->children()) {
Tero Ahola
Renamed XyPoint to XYPoint
r1532 if (qobject_cast<DeclarativeXYPoint *>(child)) {
DeclarativeXYPoint *point = qobject_cast<DeclarativeXYPoint *>(child);
Tero Ahola
Property notifications: axis minmax, bar properties, xyseries p-visibl and count
r1465 series->append(point->x(), point->y());
Jani Honkonen
coding style fixes for plugins
r2101 } else if (qobject_cast<QVXYModelMapper *>(child)) {
Tero Ahola
XY model mappers to QML api
r1278 QVXYModelMapper *mapper = qobject_cast<QVXYModelMapper *>(child);
mapper->setSeries(series);
Jani Honkonen
coding style fixes for plugins
r2101 } else if (qobject_cast<QHXYModelMapper *>(child)) {
Tero Ahola
XY model mappers to QML api
r1278 QHXYModelMapper *mapper = qobject_cast<QHXYModelMapper *>(child);
mapper->setSeries(series);
}
}
}
Tero Ahola
QML methods of series: several fixes and documentation
r1521 void DeclarativeXySeries::append(qreal x, qreal y)
Tero Ahola
App for demonstrating QML customization apis
r1259 {
Tero Ahola
Use qobject_cast instead of reinterpret_cast in xy series casts
r1401 QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
Q_ASSERT(series);
Tero Ahola
QML methods of series: several fixes and documentation
r1521 series->append(x, y);
Tero Ahola
App for demonstrating QML customization apis
r1259 }
Tero Ahola
QML methods of series: several fixes and documentation
r1521 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);
}
Miikka Heikkinen
Implement index based removing/replacing points in series...
r2496 void DeclarativeXySeries::replace(int index, qreal newX, qreal newY)
{
QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
Q_ASSERT(series);
series->replace(index, newX, newY);
}
Tero Ahola
QML methods of series: several fixes and documentation
r1521 void DeclarativeXySeries::remove(qreal x, qreal y)
{
QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
Q_ASSERT(series);
series->remove(x, y);
}
Miikka Heikkinen
Implement index based removing/replacing points in series...
r2496 void DeclarativeXySeries::remove(int index)
{
QXYSeries *series = qobject_cast<QXYSeries *>(xySeries());
Q_ASSERT(series);
series->remove(index);
}
Tero Ahola
QML methods of series: several fixes and documentation
r1521 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);
Andy Shaw
Check the index is within the valid range...
r2765 if (index >= 0 && index < series->count())
Tero Ahola
QML methods of series: several fixes and documentation
r1521 return series->points().at(index);
return QPointF(0, 0);
}
Tero Ahola
QML demo with dynamic data
r1240
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE