##// END OF EJS Templates
reintroducing clicked and hovered signals to barset. Makes some things easier on QML api
reintroducing clicked and hovered signals to barset. Makes some things easier on QML api

File last commit:

r1468:0880d2356fa0
r1490:b134c8a9174e
Show More
declarativepieseries.cpp
143 lines | 3.7 KiB | text/x-c | CppLexer
/ plugins / declarative / declarativepieseries.cpp
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
** Copyright (C) 2012 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 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"
#include "declarativechart.h"
#include "qchart.h"
Tero Ahola
Draft version for QML PieSeries model API
r1130 #include <qdeclarativelist.h>
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 #include <QVPieModelMapper>
#include <QHPieModelMapper>
Tero Ahola
Dynamic data for QML pie and line series
r215
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Tero Ahola
Began documenting the QML api
r1443 /*!
Tero Ahola
QML api documentation skeletons for all the series.
r1468 \qmlclass PieSeries QPieSeries
Tero Ahola
Began documenting the QML api
r1443
\section1 Example Usage
\beginfloatleft
\image demos_qmlchart1.png
\endfloat
\clearfloat
The following QML shows how to create a simple pie chart.
\snippet ../demos/qmlchart/qml/qmlchart/View1.qml 1
*/
/*!
\qmlproperty real PieSeries::horizontalPosition
\brief Defines the horizontal position of the pie.
The value is a relative value to the chart rectangle where:
\list
\o 0.0 is the absolute left.
\o 1.0 is the absolute right.
\endlist
Default value is 0.5 (center).
\sa verticalPosition
*/
/*!
\qmlproperty real PieSeries::verticalPosition
\brief Defines the vertical position of the pie.
The value is a relative value to the chart rectangle where:
\list
\o 0.0 is the absolute top.
\o 1.0 is the absolute bottom.
\endlist
Default value is 0.5 (center).
\sa horizontalPosition
*/
Tero Ahola
Declarative series classed now derived from QSeries childs
r789 DeclarativePieSeries::DeclarativePieSeries(QObject *parent) :
Tero Ahola
Simplified declarative implementation
r1117 QPieSeries(parent)
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()
{
foreach(QObject *child, children()) {
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 if (qobject_cast<QPieSlice *>(child)) {
QPieSeries::append(qobject_cast<QPieSlice *>(child));
Tero Ahola
QML: VPieModelMapper as a child for PieSeries
r1254 } else if(qobject_cast<QVPieModelMapper *>(child)) {
QVPieModelMapper *mapper = qobject_cast<QVPieModelMapper *>(child);
mapper->setSeries(this);
} else if(qobject_cast<QHPieModelMapper *>(child)) {
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 {
QList<QPieSlice*> sliceList = slices();
if (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;
}
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 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;
}
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 QPieSlice* DeclarativePieSeries::append(QString label, qreal value)
Tero Ahola
Removed usage of model in QML pie example
r1189 {
// TODO: parameter order is wrong, switch it:
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 }
#include "moc_declarativepieseries.cpp"
QTCOMMERCIALCHART_END_NAMESPACE