##// END OF EJS Templates
Fix crash in axis grid animation when animating axis is removed from chart....
Fix crash in axis grid animation when animating axis is removed from chart. Change-Id: Ibd39910f3463e0ccdb62799dfc533018a932f542 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2776:bc1f6aa59d42
r2835:a483852c5c56
Show More
charts.h
88 lines | 2.2 KiB | text/x-c | CLexer
Michal Klocek
Adds charts to chartsviewer
r1753 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Michal Klocek
Adds charts to chartsviewer
r1753 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
Michal Klocek
Adds charts to chartsviewer
r1753 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Michal Klocek
Adds charts to chartsviewer
r1753 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
Titta Heikkala
Copyright header changes...
r2776 ** agreement between you and The Qt Company.
Michal Klocek
Adds charts to chartsviewer
r1753 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Michal Klocek
Adds charts to chartsviewer
r1753 **
****************************************************************************/
#ifndef CHARTS_H
#define CHARTS_H
Michal Klocek
Add horizontal charts to chartviewer
r1755 #include "model.h"
Titta Heikkala
Fix include syntax...
r2714 #include <QtCore/QList>
#include <QtCore/QString>
Miikka Heikkinen
Fix build issues in tests...
r2732 #include <QtCore/QSharedPointer>
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QChartGlobal>
Michal Klocek
Adds charts to chartsviewer
r1753
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
Michal Klocek
Adds charts to chartsviewer
r1753 class QChart;
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE
Michal Klocek
Adds charts to chartsviewer
r1753
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_USE_NAMESPACE
Michal Klocek
Adds charts to chartsviewer
r1753
class Chart
{
public:
Jani Honkonen
coding style fixes for demos
r2099 virtual ~Chart() {};
virtual QChart *createChart(const DataTable &table) = 0;
Michal Klocek
Adds charts to chartsviewer
r1753 virtual QString name() = 0;
virtual QString category() = 0;
virtual QString subCategory() = 0;
};
namespace Charts
{
Jani Honkonen
coding style fixes for demos
r2099 typedef QList<Chart *> ChartList;
Michal Klocek
Adds charts to chartsviewer
r1753
Jani Honkonen
coding style fixes for demos
r2099 inline ChartList &chartList()
{
static ChartList list;
return list;
Michal Klocek
Adds charts to chartsviewer
r1753 }
Jani Honkonen
coding style fixes for demos
r2099
inline bool findChart(Chart *chart)
{
ChartList &list = chartList();
if (list.contains(chart))
Michal Klocek
Adds charts to chartsviewer
r1753 return true;
Jani Honkonen
coding style fixes for demos
r2099
foreach (Chart *item, list) {
if (item->name() == chart->name() && item->category() == chart->category() && item->subCategory() == chart->subCategory())
return true;
Michal Klocek
Adds charts to chartsviewer
r1753 }
Jani Honkonen
coding style fixes for demos
r2099 return false;
Michal Klocek
Adds charts to chartsviewer
r1753 }
Jani Honkonen
coding style fixes for demos
r2099 inline void addChart(Chart *chart)
{
ChartList &list = chartList();
if (!findChart(chart))
list.append(chart);
Michal Klocek
Adds charts to chartsviewer
r1753 }
}
Michal Klocek
Adds templete to chartviewer to simplyfy chart type creation
r1839 template <class T>
class ChartWrapper
{
public:
QSharedPointer<T> chart;
Jani Honkonen
coding style fixes for demos
r2099 ChartWrapper() : chart(new T) { Charts::addChart(chart.data()); }
Michal Klocek
Adds templete to chartviewer to simplyfy chart type creation
r1839 };
Michal Klocek
Adds axis template to chartviewer
r2010 #define DECLARE_CHART(chartType) static ChartWrapper<chartType> chartType;
#define DECLARE_CHART_TEMPLATE(chartType,chartName) static ChartWrapper<chartType> chartName;
Michal Klocek
Adds charts to chartsviewer
r1753
#endif