declarativeboxplotseries.cpp
93 lines
| 3.2 KiB
| text/x-c
|
CppLexer
Mika Salmela
|
r2481 | /**************************************************************************** | ||
** | ||||
** Copyright (C) 2013 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$ | ||||
** | ||||
****************************************************************************/ | ||||
#include "declarativebarseries.h" | ||||
#include "declarativeboxplotseries.h" | ||||
#include "qbarset.h" | ||||
#include "qvbarmodelmapper.h" | ||||
#include "qhbarmodelmapper.h" | ||||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
DeclarativeBoxPlotSeries::DeclarativeBoxPlotSeries(QDeclarativeItem *parent) : | ||||
QBoxPlotSeries(parent), | ||||
m_axes(new DeclarativeAxes(this)) | ||||
{ | ||||
connect(m_axes, SIGNAL(axisXChanged(QAbstractAxis*)), this, SIGNAL(axisXChanged(QAbstractAxis*))); | ||||
connect(m_axes, SIGNAL(axisYChanged(QAbstractAxis*)), this, SIGNAL(axisYChanged(QAbstractAxis*))); | ||||
connect(m_axes, SIGNAL(axisXTopChanged(QAbstractAxis*)), this, SIGNAL(axisXTopChanged(QAbstractAxis*))); | ||||
connect(m_axes, SIGNAL(axisYRightChanged(QAbstractAxis*)), this, SIGNAL(axisYRightChanged(QAbstractAxis*))); | ||||
} | ||||
void DeclarativeBoxPlotSeries::classBegin() | ||||
{ | ||||
} | ||||
void DeclarativeBoxPlotSeries::componentComplete() | ||||
{ | ||||
foreach (QObject *child, children()) { | ||||
if (qobject_cast<DeclarativeBarSet *>(child)) { | ||||
QAbstractBarSeries::append(qobject_cast<DeclarativeBarSet *>(child)); | ||||
} else if (qobject_cast<QVBarModelMapper *>(child)) { | ||||
QVBarModelMapper *mapper = qobject_cast<QVBarModelMapper *>(child); | ||||
mapper->setSeries(this); | ||||
} else if (qobject_cast<QHBarModelMapper *>(child)) { | ||||
QHBarModelMapper *mapper = qobject_cast<QHBarModelMapper *>(child); | ||||
mapper->setSeries(this); | ||||
} | ||||
} | ||||
} | ||||
QDeclarativeListProperty<QObject> DeclarativeBoxPlotSeries::seriesChildren() | ||||
{ | ||||
return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBoxPlotSeries::appendSeriesChildren); | ||||
} | ||||
void DeclarativeBoxPlotSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element) | ||||
{ | ||||
// Empty implementation; the children are parsed in componentComplete instead | ||||
Q_UNUSED(list); | ||||
Q_UNUSED(element); | ||||
} | ||||
DeclarativeBarSet *DeclarativeBoxPlotSeries::at(int index) | ||||
{ | ||||
QList<QBarSet *> setList = barSets(); | ||||
if (index >= 0 && index < setList.count()) | ||||
return qobject_cast<DeclarativeBarSet *>(setList[index]); | ||||
return 0; | ||||
} | ||||
DeclarativeBarSet *DeclarativeBoxPlotSeries::insert(int index, QString label, QVariantList values) | ||||
{ | ||||
DeclarativeBarSet *barset = new DeclarativeBarSet(this); | ||||
barset->setLabel(label); | ||||
barset->setValues(values); | ||||
if (QBoxPlotSeries::insert(index, barset)) | ||||
return barset; | ||||
delete barset; | ||||
return 0; | ||||
} | ||||
#include "moc_declarativeboxplotseries.cpp" | ||||
QTCOMMERCIALCHART_END_NAMESPACE | ||||