charttheme_p.h
71 lines
| 2.2 KiB
| text/x-c
|
CLexer
/ src / charttheme_p.h
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
|
r360 | class QSeries; | ||
Michal Klocek
|
r145 | class LineChartItem; | ||
Michal Klocek
|
r349 | class QLineSeries; | ||
sauimone
|
r216 | class BarPresenter; | ||
sauimone
|
r338 | class QBarSeries; | ||
sauimone
|
r216 | class StackedBarPresenter; | ||
sauimone
|
r338 | class QStackedBarSeries; | ||
class QPercentBarSeries; | ||||
sauimone
|
r216 | class PercentBarPresenter; | ||
Tero Ahola
|
r182 | class QScatterSeries; | ||
Michal Klocek
|
r470 | class ScatterChartItem; | ||
Jani Honkonen
|
r163 | class PiePresenter; | ||
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 | { | ||
Michal Klocek
|
r143 | protected: | ||
Michal Klocek
|
r153 | explicit ChartTheme(QChart::ChartTheme id = QChart::ChartThemeDefault); | ||
Tero Ahola
|
r103 | public: | ||
Michal Klocek
|
r153 | static ChartTheme* createTheme(QChart::ChartTheme theme); | ||
QChart::ChartTheme id() const {return m_id;} | ||||
Michal Klocek
|
r143 | void decorate(QChart* chart); | ||
Michal Klocek
|
r360 | void decorate(ChartItem* item, QSeries* series,int count); | ||
sauimone
|
r338 | void decorate(BarPresenter* item, QBarSeries* series,int count); | ||
void decorate(StackedBarPresenter* item, QStackedBarSeries* series,int count); | ||||
void decorate(PercentBarPresenter* item, QPercentBarSeries* series,int count); | ||||
Michal Klocek
|
r421 | void decorate(LineChartItem* item, QLineSeries* series,int count); | ||
void decorate(AreaChartItem* item, QAreaSeries* series,int count); | ||||
Michal Klocek
|
r470 | void decorate(ScatterChartItem* presenter, QScatterSeries* series, int count); | ||
Jani Honkonen
|
r163 | void decorate(PiePresenter* item, QPieSeries* series, int count); | ||
Michal Klocek
|
r223 | void decorate(QChartAxis* axis,AxisItem* item); | ||
Marek Rosa
|
r460 | void decorate(SplineChartItem* presenter, QSplineSeries* series, int count); | ||
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; | ||||
QLinearGradient m_backgroundGradient; | ||||
Tero Ahola
|
r507 | |||
// TODO: Add something like the following to themes: | ||||
// QPen axisLinePen; | ||||
// QPen backgroundHorizontalGridPen; | ||||
// QPen backgroundVerticalGridPen; | ||||
// // FillAll, FillEverySecondRow, FillEverySecondColumn, FillEverySecondRowAndColumn, FillNone | ||||
// int backgroundType; | ||||
// QFont masterFont; | ||||
Tero Ahola
|
r103 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // CHARTTHEME_H | ||||