declarativebarseries.cpp
89 lines
| 2.8 KiB
| text/x-c
|
CppLexer
/ qmlplugin / declarativebarseries.cpp
|
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$ | ||||
** | ||||
****************************************************************************/ | ||||
|
r646 | #include "declarativebarseries.h" | ||
#include "declarativechart.h" | ||||
#include "qchart.h" | ||||
#include "qbarseries.h" | ||||
#include "qbarset.h" | ||||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
DeclarativeBarSeries::DeclarativeBarSeries(QDeclarativeItem *parent) : | ||||
QDeclarativeItem(parent) | ||||
{ | ||||
setFlag(QGraphicsItem::ItemHasNoContents, false); | ||||
} | ||||
|
r726 | void DeclarativeBarSeries::componentComplete() | ||
|
r646 | { | ||
if (!m_series) { | ||||
DeclarativeChart *declarativeChart = qobject_cast<DeclarativeChart *>(parent()); | ||||
if (declarativeChart) { | ||||
QChart *chart = qobject_cast<QChart *>(declarativeChart->m_chart); | ||||
Q_ASSERT(chart); | ||||
|
r726 | // QStringList categories; | ||
// categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun"; | ||||
// m_series = new QBarSeries(categories); | ||||
// m_series = new QBarSeries(m_categories); | ||||
m_series = new QBarSeries(m_categories); | ||||
|
r646 | |||
// TODO: use data from model | ||||
QBarSet *set0 = new QBarSet("Bub"); | ||||
QBarSet *set1 = new QBarSet("Bob"); | ||||
QBarSet *set2 = new QBarSet("Guybrush"); | ||||
*set0 << 1 << 2 << 3 << 4 << 5 << 6; | ||||
*set1 << 5 << 0 << 0 << 4 << 0 << 7; | ||||
*set2 << 3 << 5 << 8 << 13 << 8 << 5; | ||||
|
r776 | m_series->appendBarSet(set0); | ||
m_series->appendBarSet(set1); | ||||
m_series->appendBarSet(set2); | ||||
|
r646 | |||
chart->addSeries(m_series); | ||||
} | ||||
} | ||||
} | ||||
|
r726 | void DeclarativeBarSeries::setBarCategories(QStringList categories) | ||
{ | ||||
m_categories = categories; | ||||
if (m_series) { | ||||
// Replace categories of the QBarSeries with the new categories | ||||
for (int i(0); i < m_categories.count(); i++) { | ||||
if (m_series->categories().at(i) != m_categories.at(i)) | ||||
m_series->insertCategory(m_series->categoryCount(), m_categories.at(i)); | ||||
} | ||||
while (m_series->categoryCount() > m_categories.count()) | ||||
m_series->removeCategory(m_series->categoryCount() - 1); | ||||
} | ||||
} | ||||
QStringList DeclarativeBarSeries::barCategories() | ||||
{ | ||||
return m_categories; | ||||
} | ||||
|
r646 | #include "moc_declarativebarseries.cpp" | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||