declarativepieseries.cpp
43 lines
| 1.1 KiB
| text/x-c
|
CppLexer
/ qmlplugin / declarativepieseries.cpp
|
r215 | #include "declarativepieseries.h" | ||
#include "declarativechart.h" | ||||
#include "qchart.h" | ||||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
|
r789 | DeclarativePieSeries::DeclarativePieSeries(QObject *parent) : | ||
QPieSeries(parent), | ||||
m_chart(0) | ||||
|
r215 | { | ||
} | ||||
|
r789 | void DeclarativePieSeries::classBegin() | ||
|
r215 | { | ||
|
r789 | } | ||
void DeclarativePieSeries::componentComplete() | ||||
{ | ||||
DeclarativeChart *declarativeChart = qobject_cast<DeclarativeChart *>(parent()); | ||||
if (declarativeChart) { | ||||
QChart *chart = qobject_cast<QChart *>(declarativeChart->m_chart); | ||||
Q_ASSERT(chart); | ||||
qDebug() << "parent for pie:" << chart; | ||||
chart->addSeries(this); | ||||
|
r215 | } | ||
} | ||||
|
r789 | QDeclarativeListProperty<QPieSlice> DeclarativePieSeries::slices() | ||
|
r215 | { | ||
|
r789 | return QDeclarativeListProperty<QPieSlice>(this, 0, &DeclarativePieSeries::appendSlice); | ||
|
r215 | } | ||
|
r789 | void DeclarativePieSeries::appendSlice(QDeclarativeListProperty<QPieSlice> *list, | ||
|
r215 | QPieSlice *slice) | ||
{ | ||||
DeclarativePieSeries *series = qobject_cast<DeclarativePieSeries *>(list->object); | ||||
|
r789 | if (series) | ||
series->add(slice->value(), slice->label()); | ||||
|
r215 | } | ||
#include "moc_declarativepieseries.cpp" | ||||
QTCOMMERCIALCHART_END_NAMESPACE | ||||