##// END OF EJS Templates
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
Fix setting custom color to pie. Now the pie knows if the color is set by the user.

File last commit:

r358:543ce926fdb7
r691:02b456949de5
Show More
declarativescatterseries.cpp
68 lines | 2.1 KiB | text/x-c | CppLexer
/ qmlplugin / declarativescatterseries.cpp
#include "declarativescatterseries.h"
#include "declarativechart.h"
#include "qchart.h"
#include "qscatterseries.h"
QTCOMMERCIALCHART_BEGIN_NAMESPACE
DeclarativeScatterSeries::DeclarativeScatterSeries(QDeclarativeItem *parent) :
QDeclarativeItem(parent),
m_chart(0),
m_series(0)
{
setFlag(QGraphicsItem::ItemHasNoContents, false);
connect(this, SIGNAL(parentChanged()),
this, SLOT(setParentForSeries()));
}
void DeclarativeScatterSeries::setParentForSeries()
{
if (!m_series)
initSeries();
}
void DeclarativeScatterSeries::initSeries()
{
Q_ASSERT(!m_series);
DeclarativeChart *declarativeChart = qobject_cast<DeclarativeChart *>(parent());
if (declarativeChart) {
QChart *chart = qobject_cast<QChart *>(declarativeChart->m_chart);
qDebug() << "creating scatter series for chart: " << chart;
Q_ASSERT(chart);
m_series = new QScatterSeries();
Q_ASSERT(m_series);
for (int i(0); i < m_data.count(); i++) {
ScatterElement *element = m_data.at(i);
*m_series << QPointF(element->x(), element->y());
}
chart->addSeries(m_series);
}
}
QDeclarativeListProperty<ScatterElement> DeclarativeScatterSeries::data()
{
return QDeclarativeListProperty<ScatterElement>(this, 0,
&DeclarativeScatterSeries::appendData);
}
void DeclarativeScatterSeries::appendData(QDeclarativeListProperty<ScatterElement> *list,
ScatterElement *element)
{
DeclarativeScatterSeries *series = qobject_cast<DeclarativeScatterSeries *>(list->object);
qDebug() << "appendData: " << series;
qDebug() << "appendData: " << element;
qDebug() << "appendData: " << element->x();
qDebug() << "appendData: " << element->y();
qDebug() << "appendData: " << series->m_series;
if (series) {
series->m_data.append(element);
if (series->m_series)
series->m_series->add(element->x(), element->y());
}
}
#include "moc_declarativescatterseries.cpp"
QTCOMMERCIALCHART_END_NAMESPACE