##// END OF EJS Templates
Add possibility to set reverse values to axes...
Add possibility to set reverse values to axes Added support for reverse axis. This works with line, spline, scatter and area series with cartesian chart. QBarCategoryAxis is not supported, nor different bar series. Change-Id: I60f21372ea9cee7b49918d7d99de24671bdc42c3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>

File last commit:

r2776:bc1f6aa59d42
r2781:7c9f8e5a27d8
Show More
chartthememanager_p.h
82 lines | 2.5 KiB | text/x-c | CLexer
/ src / charts / chartthememanager_p.h
Michal Klocek
Refactors internals...
r2273 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Michal Klocek
Refactors internals...
r2273 ** 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
Refactors internals...
r2273 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Michal Klocek
Refactors internals...
r2273 **
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
Refactors internals...
r2273 **
** 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
Refactors internals...
r2273 **
****************************************************************************/
// W A R N I N G
// -------------
//
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 // This file is not part of the Qt Enterprise Chart API. It exists purely as an
Michal Klocek
Refactors internals...
r2273 // implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
#ifndef CHARTTHEMEMANAGER_H
#define CHARTTHEMEMANAGER_H
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QChartGlobal>
#include <QtCharts/QChart>
#include <QtGui/QColor>
#include <QtGui/QGradientStops>
Michal Klocek
Refactors internals...
r2273
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
Michal Klocek
Refactors internals...
r2273 class ChartTheme;
class ChartThemeManager: public QObject
{
Q_OBJECT
public:
enum BackgroundShadesMode {
BackgroundShadesNone = 0,
BackgroundShadesVertical,
BackgroundShadesHorizontal,
BackgroundShadesBoth
};
public:
explicit ChartThemeManager(QChart* chart);
void setTheme(QChart::ChartTheme theme);
ChartTheme* theme() const { return m_theme.data(); }
Miikka Heikkinen
Fix explicitly set default pen/brush/font getting overridden by theme...
r2516 void decorateChart(QChart *chart, ChartTheme* theme) const;
void decorateLegend(QLegend *legend, ChartTheme* theme) const;
Michal Klocek
Refactors internals...
r2273 void updateSeries(QAbstractSeries *series);
public:
static QList<QGradient> generateSeriesGradients(const QList<QColor>& colors);
static QColor colorAt(const QColor &start, const QColor &end, qreal pos);
static QColor colorAt(const QGradient &gradient, qreal pos);
private:
int createIndexKey(QList<int> keys) const;
int seriesCount(QAbstractSeries::SeriesType type) const;
public Q_SLOTS:
void handleSeriesAdded(QAbstractSeries *series);
void handleSeriesRemoved(QAbstractSeries *series);
void handleAxisAdded(QAbstractAxis *axis);
void handleAxisRemoved(QAbstractAxis *axis);
protected:
QScopedPointer<ChartTheme> m_theme;
QMap<QAbstractSeries *,int> m_seriesMap;
QList<QAbstractAxis *> m_axisList;
QChart* m_chart;
};
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE
Michal Klocek
Refactors internals...
r2273
#endif // CHARTTHEME_H