##// END OF EJS Templates
Add Polar chart support...
Add Polar chart support This commit also heavily refactors things as polar chart needs separate implementation of various classes that previously only needed one, such as ChartAxis and ChartLayout. Task-number: QTRD-1757 Change-Id: I3d3db23920314987ceef3ae92879960b833b7136 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>

File last commit:

r2433:4d17a12f375e
r2483:f494279b6366
Show More
declarativepieseries.cpp
117 lines | 3.3 KiB | text/x-c | CppLexer
/ plugins / declarative / declarativepieseries.cpp
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
Miikka Heikkinen
More copyright year changes
r2433 ** Copyright (C) 2013 Digia Plc
Jani Honkonen
Add/modify license headers
r830 ** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial 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$
**
****************************************************************************/
Tero Ahola
Dynamic data for QML pie and line series
r215 #include "declarativepieseries.h"
Tero Ahola
Removed unneeded includes from declarative plugin
r1831 #include "qpieslice.h"
#include "qvpiemodelmapper.h"
#include "qhpiemodelmapper.h"
Tero Ahola
Dynamic data for QML pie and line series
r215
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Marek Rosa
removed many unnecessary includes from declarative files
r1669 DeclarativePieSeries::DeclarativePieSeries(QDeclarativeItem *parent) :
Tero Ahola
Simplified declarative implementation
r1117 QPieSeries(parent)
Tero Ahola
Dynamic data for QML pie and line series
r215 {
Tero Ahola
QML api pie slice added/removed signals
r1503 connect(this, SIGNAL(added(QList<QPieSlice*>)), this, SLOT(handleAdded(QList<QPieSlice*>)));
connect(this, SIGNAL(removed(QList<QPieSlice*>)), this, SLOT(handleRemoved(QList<QPieSlice*>)));
Tero Ahola
Dynamic data for QML pie and line series
r215 }
Tero Ahola
QML and static data in pie and xy series
r1186 void DeclarativePieSeries::classBegin()
{
}
void DeclarativePieSeries::componentComplete()
{
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (QObject *child, children()) {
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 if (qobject_cast<QPieSlice *>(child)) {
QPieSeries::append(qobject_cast<QPieSlice *>(child));
Jani Honkonen
coding style fixes for plugins
r2101 } else if (qobject_cast<QVPieModelMapper *>(child)) {
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 QVPieModelMapper *mapper = qobject_cast<QVPieModelMapper *>(child);
mapper->setSeries(this);
Jani Honkonen
coding style fixes for plugins
r2101 } else if (qobject_cast<QHPieModelMapper *>(child)) {
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 QHPieModelMapper *mapper = qobject_cast<QHPieModelMapper *>(child);
mapper->setSeries(this);
Tero Ahola
QML and static data in pie and xy series
r1186 }
}
}
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 QDeclarativeListProperty<QObject> DeclarativePieSeries::seriesChildren()
{
return QDeclarativeListProperty<QObject>(this, 0, &DeclarativePieSeries::appendSeriesChildren);
}
void DeclarativePieSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
Tero Ahola
QML and static data in pie and xy series
r1186 {
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 // Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
Q_UNUSED(element);
Tero Ahola
QML and static data in pie and xy series
r1186 }
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 QPieSlice *DeclarativePieSeries::at(int index)
Tero Ahola
Added declarative model for bar series
r1162 {
Jani Honkonen
coding style fixes for plugins
r2101 QList<QPieSlice *> sliceList = slices();
Tero Ahola
QML api pie slice added/removed signals
r1503 if (index >= 0 && index < sliceList.count())
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 return sliceList[index];
Tero Ahola
Added declarative model for bar series
r1162
return 0;
}
Jani Honkonen
coding style fixes for plugins
r2101 QPieSlice *DeclarativePieSeries::find(QString label)
Tero Ahola
Separated series model stuff from data api in QML examples
r1202 {
foreach (QPieSlice *slice, slices()) {
if (slice->label() == label)
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 return slice;
Tero Ahola
Separated series model stuff from data api in QML examples
r1202 }
return 0;
}
Jani Honkonen
coding style fixes for plugins
r2101 QPieSlice *DeclarativePieSeries::append(QString label, qreal value)
Tero Ahola
Removed usage of model in QML pie example
r1189 {
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 QPieSlice *slice = new QPieSlice(this);
Tero Ahola
App for demonstrating QML customization apis
r1259 slice->setLabel(label);
slice->setValue(value);
QPieSeries::append(slice);
return slice;
Tero Ahola
Dynamic data for QML pie and line series
r215 }
Tero Ahola
Implemented BarSeries::append, insert, remove and clear to QML API
r1511 bool DeclarativePieSeries::remove(QPieSlice *slice)
Tero Ahola
QML api pie slice added/removed signals
r1503 {
Tero Ahola
Implemented BarSeries::append, insert, remove and clear to QML API
r1511 return QPieSeries::remove(slice);
Tero Ahola
QML api pie slice added/removed signals
r1503 }
void DeclarativePieSeries::clear()
{
QPieSeries::clear();
}
Jani Honkonen
coding style fixes for plugins
r2101 void DeclarativePieSeries::handleAdded(QList<QPieSlice *> slices)
Tero Ahola
QML api pie slice added/removed signals
r1503 {
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (QPieSlice *slice, slices)
Tero Ahola
QML api pie slice added/removed signals
r1503 emit sliceAdded(slice);
}
Jani Honkonen
coding style fixes for plugins
r2101 void DeclarativePieSeries::handleRemoved(QList<QPieSlice *> slices)
Tero Ahola
QML api pie slice added/removed signals
r1503 {
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (QPieSlice *slice, slices)
Tero Ahola
QML api pie slice added/removed signals
r1503 emit sliceRemoved(slice);
}
Tero Ahola
Dynamic data for QML pie and line series
r215 #include "moc_declarativepieseries.cpp"
QTCOMMERCIALCHART_END_NAMESPACE