charttheme_p.h
101 lines
| 2.8 KiB
| text/x-c
|
CLexer
/ src / charttheme_p.h
Jani Honkonen
|
r794 | /**************************************************************************** | ||
** | ||||
** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
Tero Ahola
|
r103 | #ifndef CHARTTHEME_H | ||
#define CHARTTHEME_H | ||||
#include "qchartglobal.h" | ||||
Michal Klocek
|
r143 | #include "qchart.h" | ||
Tero Ahola
|
r103 | #include <QColor> | ||
Jani Honkonen
|
r494 | #include <QGradientStops> | ||
Tero Ahola
|
r103 | |||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
Michal Klocek
|
r143 | class ChartItem; | ||
Michal Klocek
|
r145 | class LineChartItem; | ||
Michal Klocek
|
r349 | class QLineSeries; | ||
sauimone
|
r666 | class BarChartItem; | ||
sauimone
|
r338 | class QBarSeries; | ||
sauimone
|
r666 | class StackedBarChartItem; | ||
sauimone
|
r338 | class QStackedBarSeries; | ||
class QPercentBarSeries; | ||||
sauimone
|
r666 | class PercentBarChartItem; | ||
Tero Ahola
|
r182 | class QScatterSeries; | ||
Michal Klocek
|
r470 | class ScatterChartItem; | ||
Jani Honkonen
|
r568 | class PieChartItem; | ||
Jani Honkonen
|
r163 | class QPieSeries; | ||
Marek Rosa
|
r460 | class SplineChartItem; | ||
Marek Rosa
|
r401 | class QSplineSeries; | ||
Michal Klocek
|
r421 | class AreaChartItem; | ||
class QAreaSeries; | ||||
Michal Klocek
|
r143 | |||
class ChartTheme | ||||
Tero Ahola
|
r103 | { | ||
Tero Ahola
|
r548 | public: | ||
enum BackgroundShadesMode { | ||||
BackgroundShadesNone = 0, | ||||
BackgroundShadesVertical, | ||||
BackgroundShadesHorizontal, | ||||
BackgroundShadesBoth | ||||
}; | ||||
Michal Klocek
|
r143 | protected: | ||
Tero Ahola
|
r853 | explicit ChartTheme(QChart::ChartTheme id = QChart::ChartThemeLight); | ||
Tero Ahola
|
r103 | public: | ||
Marek Rosa
|
r948 | static ChartTheme *createTheme(QChart::ChartTheme theme); | ||
Michal Klocek
|
r153 | QChart::ChartTheme id() const {return m_id;} | ||
Marek Rosa
|
r948 | void decorate(QChart *chart); | ||
void decorate(QLegend *legend); | ||||
void decorate(QBarSeries *series, int index); | ||||
void decorate(QLineSeries *series, int index); | ||||
void decorate(QAreaSeries *series, int index); | ||||
void decorate(QScatterSeries *series, int index); | ||||
void decorate(QPieSeries *series, int index); | ||||
void decorate(QSplineSeries *series, int index); | ||||
void decorate(QChartAxis *axis, bool axisX); | ||||
Michal Klocek
|
r943 | void setForced(bool enabled); | ||
bool isForced() { return m_force; } | ||||
Michal Klocek
|
r143 | |||
Jani Honkonen
|
r494 | public: // utils | ||
Tero Ahola
|
r507 | void generateSeriesGradients(); | ||
Jani Honkonen
|
r494 | static QColor colorAt(const QColor &start, const QColor &end, qreal pos); | ||
static QColor colorAt(const QGradient &gradient, qreal pos); | ||||
Michal Klocek
|
r143 | protected: | ||
Michal Klocek
|
r153 | QChart::ChartTheme m_id; | ||
Jani Honkonen
|
r494 | QList<QColor> m_seriesColors; | ||
QList<QGradient> m_seriesGradients; | ||||
Tero Ahola
|
r584 | QLinearGradient m_chartBackgroundGradient; | ||
Tero Ahola
|
r507 | |||
Tero Ahola
|
r548 | QFont m_masterFont; | ||
Tero Ahola
|
r717 | QFont m_labelFont; | ||
Tero Ahola
|
r614 | QBrush m_titleBrush; | ||
Tero Ahola
|
r548 | QPen m_axisLinePen; | ||
QBrush m_axisLabelBrush; | ||||
QPen m_backgroundShadesPen; | ||||
QBrush m_backgroundShadesBrush; | ||||
BackgroundShadesMode m_backgroundShades; | ||||
QPen m_gridLinePen; | ||||
Michal Klocek
|
r943 | bool m_force; | ||
Tero Ahola
|
r103 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // CHARTTHEME_H | ||||