#include #include "barchartseries.h" #include "bargroup.h" QTCOMMERCIALCHART_BEGIN_NAMESPACE BarChartSeries::BarChartSeries(QObject *parent) : QChartSeries(parent) { } bool BarChartSeries::setData(QAbstractItemModel* model) { mModel = model; } int BarChartSeries::min() { Q_ASSERT(mModel->rowCount() > 0); Q_ASSERT(mModel->columnCount() > 0); // TODO: make min and max members and update them when data changes. // This is slower since they are checked every time, even if data is same since previous call. QModelIndex modelIndex = mModel->index(0,0); int min = mModel->data(modelIndex).toInt(); for (int i=0; i rowCount(); i++) { for(int j=0; jcolumnCount(); j++) { modelIndex = mModel->index(i,j); int temp = mModel->data(modelIndex).toInt(); if (temp < min) { min = temp; } } } return min; } int BarChartSeries::max() { Q_ASSERT(mModel->rowCount() > 0); Q_ASSERT(mModel->columnCount() > 0); // TODO: make min and max members and update them when data changes. // This is slower since they are checked every time, even if data is same since previous call. QModelIndex modelIndex = mModel->index(0,0); int max = mModel->data(modelIndex).toInt(); for (int i=0; i rowCount(); i++) { for(int j=0; jcolumnCount(); j++) { modelIndex = mModel->index(i,j); int temp = mModel->data(modelIndex).toInt(); if (temp > max) { max = temp; } } } return max; } int BarChartSeries::countSeries() { return mModel->rowCount(); } int BarChartSeries::countItemsInSeries() { return mModel->columnCount(); } int BarChartSeries::countTotalItems() { return mModel->rowCount() * mModel->columnCount(); } int BarChartSeries::valueAt(int series, int item) { QModelIndex index = mModel->index(series,item); return mModel->data(index).toInt(); } /* void BarChartSeries::chartSizeChanged(QRectF rect) { qDebug() << "barchart size changed:" << rect; // mBarGroup->resize(rect.toRect().width(), rect.toRect().height()); } */ #include "moc_barchartseries.cpp" QTCOMMERCIALCHART_END_NAMESPACE