diff --git a/demos/chartviewer/charts.h b/demos/chartviewer/charts.h index 3ab83c6..08dfa1c 100644 --- a/demos/chartviewer/charts.h +++ b/demos/chartviewer/charts.h @@ -88,6 +88,7 @@ public: } }; -#define DECLARE_CHART(chartName) static ChartWrapper chartName; +#define DECLARE_CHART(chartType) static ChartWrapper chartType; +#define DECLARE_CHART_TEMPLATE(chartType,chartName) static ChartWrapper chartName; #endif diff --git a/demos/chartviewer/charts/xyseries/categorylinechart.cpp b/demos/chartviewer/charts/axis/categoryaxis.cpp similarity index 94% rename from demos/chartviewer/charts/xyseries/categorylinechart.cpp rename to demos/chartviewer/charts/axis/categoryaxis.cpp index 1abe55a..25a2028 100644 --- a/demos/chartviewer/charts/xyseries/categorylinechart.cpp +++ b/demos/chartviewer/charts/axis/categoryaxis.cpp @@ -26,14 +26,14 @@ class CategoryLineChart: public Chart { public: - QString name() { return QObject::tr("CategoryLineChart"); } - QString category() { return QObject::tr("XYSeries"); } + QString name() { return QObject::tr("CategoryAxis"); } + QString category() { return QObject::tr("Axis"); } QString subCategory() { return QString::null; } QChart* createChart(const DataTable& table) { QChart* chart = new QChart(); - chart->setTitle("Category Line chart"); + chart->setTitle("Category X , Category Y "); QString name("Series "); int nameIndex = 0; @@ -46,7 +46,6 @@ public: chart->addSeries(series); } -// chart->createDefaultAxes(); QCategoryAxis *axisX = new QCategoryAxis; axisX->append("low", 5); axisX->append("avg.", 12); diff --git a/demos/chartviewer/charts/axis/valueaxis.cpp b/demos/chartviewer/charts/axis/valueaxis.cpp new file mode 100644 index 0000000..5389e6a --- /dev/null +++ b/demos/chartviewer/charts/axis/valueaxis.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** 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 "qlineseries.h" +#include "qvalueaxis.h" +#include "qcategoryaxis.h" + +class ValueAxis: public Chart +{ +public: + QString name() { return "ValueAxis"; } + QString category() { return QObject::tr("Axis"); } + QString subCategory() { return QString::null; } + + QChart* createChart(const DataTable& table) { + + QChart* chart = new QChart(); + chart->setTitle("Value X , Value Y"); + + QString name("Series "); + int nameIndex = 0; + foreach (DataList list, table) { + QLineSeries *series = new QLineSeries(chart); + foreach (Data data, list) + series->append(data.first); + series->setName(name + QString::number(nameIndex)); + nameIndex++; + chart->addSeries(series); + } + + chart->createDefaultAxes(); + QValueAxis* axis = new QValueAxis(); + foreach (QAbstractSeries* series,chart->series()) + chart->setAxisX(axis,series); + + return chart; + } + +}; + +DECLARE_CHART(ValueAxis); diff --git a/demos/chartviewer/charts/charts.pri b/demos/chartviewer/charts/charts.pri index 43eba96..60af091 100644 --- a/demos/chartviewer/charts/charts.pri +++ b/demos/chartviewer/charts/charts.pri @@ -6,7 +6,6 @@ SOURCES += \ xyseries/scatterchart.cpp \ xyseries/splinechart.cpp \ xyseries/areachart.cpp \ - xyseries/categorylinechart.cpp \ barseries/verticalstackedbarchart.cpp \ barseries/horizontalstackedbarchart.cpp \ barseries/verticalbarchart.cpp \ @@ -14,4 +13,6 @@ SOURCES += \ barseries/horizontalpercentbarchart.cpp \ barseries/verticalpercentbarchart.cpp \ pieseries/piechart.cpp \ - pieseries/donutchart.cpp + pieseries/donutchart.cpp \ + axis/valueaxis.cpp \ + axis/categoryaxis.cpp