charttheme_p.h
81 lines
| 2.3 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
|
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: | ||
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); | ||
sauimone
|
r540 | void decorate(QLegend* legend); | ||
Tero Ahola
|
r538 | //void decorate(ChartItem* item, QSeries* series,int index); | ||
void decorate(BarPresenter* item, QBarSeries* series, int index); | ||||
void decorate(StackedBarPresenter* item, QStackedBarSeries* series, int index); | ||||
void decorate(PercentBarPresenter* item, QPercentBarSeries* series, int index); | ||||
Michal Klocek
|
r562 | void decorate(QLineSeries* series, int index); | ||
void decorate(QAreaSeries* series, int index); | ||||
void decorate(QScatterSeries* series, int index); | ||||
Jani Honkonen
|
r568 | void decorate(PieChartItem* item, QPieSeries* series, int index); | ||
Michal Klocek
|
r562 | void decorate(QSplineSeries* series, int index); | ||
void decorate(QChartAxis* axis, bool axisX); | ||||
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; | ||
QPen m_axisLinePen; | ||||
QBrush m_axisLabelBrush; | ||||
QPen m_axisLabelPen; | ||||
QPen m_backgroundShadesPen; | ||||
QBrush m_backgroundShadesBrush; | ||||
BackgroundShadesMode m_backgroundShades; | ||||
QPen m_gridLinePen; | ||||
Tero Ahola
|
r103 | }; | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // CHARTTHEME_H | ||||