From 1a63e7de023411a5e29da824531e70bacc8c3370 2012-09-27 15:07:51 From: Michal Klocek Date: 2012-09-27 15:07:51 Subject: [PATCH] Adds barcategories axis to chartviewer --- diff --git a/demos/chartviewer/charts/axis/barcategoryaxisx.cpp b/demos/chartviewer/charts/axis/barcategoryaxisx.cpp new file mode 100644 index 0000000..c92dd62 --- /dev/null +++ b/demos/chartviewer/charts/axis/barcategoryaxisx.cpp @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +#include "charts.h" +#include "qchart.h" +#include "qbarseries.h" +#include "qbarset.h" +#include "qvalueaxis.h" +#include "qbarcategoryaxis.h" + +class BarCategoryAxisX: public Chart +{ +public: + QString name() { return "AxisX"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return "BarCategoryAxis"; } + + QChart *createChart(const DataTable &table) + { + QChart *chart = new QChart(); + chart->setTitle(" BarCateogry X , Value Y"); + + QString name("Series "); + QBarSeries *series = new QBarSeries(chart); + QValueAxis *valueaxis = new QValueAxis(); + QBarCategoryAxis *barcategory = new QBarCategoryAxis(); + for (int i(0); i < table.count(); i++) { + QBarSet *set = new QBarSet("Bar set " + QString::number(i)); + foreach (Data data, table[i]) + *set << data.first.y(); + series->append(set); + } + chart->addSeries(series); + + int count = series->barSets().first()->count(); + + for(int i =0 ; i < count ; i++){ + barcategory->append(QString::number(i)); + } + + chart->setAxisY(valueaxis, series); + chart->setAxisX(barcategory, series); + + return chart; + } +}; + +DECLARE_CHART(BarCategoryAxisX); diff --git a/demos/chartviewer/charts/charts.pri b/demos/chartviewer/charts/charts.pri index 60af091..8cdb86a 100644 --- a/demos/chartviewer/charts/charts.pri +++ b/demos/chartviewer/charts/charts.pri @@ -15,4 +15,5 @@ SOURCES += \ pieseries/piechart.cpp \ pieseries/donutchart.cpp \ axis/valueaxis.cpp \ - axis/categoryaxis.cpp + axis/categoryaxis.cpp \ + axis/barcategoryaxisx.cpp