##// END OF EJS Templates
We have so many stupid warnings that "treat warnings as errors" flag is needed...
We have so many stupid warnings that "treat warnings as errors" flag is needed...

File last commit:

r593:1b84d5d9bed8
r609:a1ef8de9fe8d
Show More
chartthemedefault_p.h
154 lines | 6.5 KiB | text/x-c | CLexer
/ src / themes / chartthemedefault_p.h
Jani Honkonen
Adding list of series gradients to theme.
r494 #include "charttheme_p.h"
Tero Ahola
Default theme with OS specific colors on Windows
r537 #ifdef Q_OS_WIN
#include <windows.h>
#include <stdio.h>
#endif
Jani Honkonen
Adding list of series gradients to theme.
r494
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class ChartThemeDefault: public ChartTheme
{
public:
ChartThemeDefault():ChartTheme(QChart::ChartThemeDefault)
{
Tero Ahola
Default theme with OS specific colors on Windows
r537 #ifdef Q_OS_WIN
Tero Ahola
Added axis related modifiers to theme
r548 // TODO: use theme specific window frame color as a series base color (it would give more
// variation to the base colors in addition to the blue and black used now)
// TODO: COLOR_WINDOWTEXT for text color?
// TODO: COLOR_INFOTEXT for tooltip text color?
// TODO: COLOR_INFOBK for tooltip background color?
Tero Ahola
Default theme with OS specific colors on Windows
r537
Tero Ahola
Added axis related modifiers to theme
r548 // First series base color from COLOR_HIGHLIGHT
Tero Ahola
Default theme with OS specific colors on Windows
r537 DWORD colorHighlight;
colorHighlight = GetSysColor(COLOR_HIGHLIGHT);
Tero Ahola
Added axis related modifiers to theme
r548 m_seriesColors.append(QColor(GetRValue(colorHighlight),
GetGValue(colorHighlight),
GetBValue(colorHighlight)));
// Second series base color from COLOR_WINDOWFRAME
DWORD colorWindowFrame;
colorWindowFrame = GetSysColor(COLOR_WINDOWFRAME);
m_seriesColors.append(QColor(GetRValue(colorWindowFrame),
GetGValue(colorWindowFrame),
GetBValue(colorWindowFrame)));
Tero Ahola
Default theme with OS specific colors on Windows
r537
Tero Ahola
Added axis related modifiers to theme
r548 // Third series base color from the middle of the COLOR_ACTIVECAPTION /
Tero Ahola
Default theme with OS specific colors on Windows
r537 // COLOR_GRADIENTACTIVECAPTION gradient
DWORD colorGradientActiveCaptionLeft;
colorGradientActiveCaptionLeft = GetSysColor(COLOR_ACTIVECAPTION);
DWORD colorGradientActiveCaptionRight;
colorGradientActiveCaptionRight = GetSysColor(COLOR_GRADIENTACTIVECAPTION);
QLinearGradient g;
QColor start = QColor(GetRValue(colorGradientActiveCaptionLeft),
GetGValue(colorGradientActiveCaptionLeft),
GetBValue(colorGradientActiveCaptionLeft));
g.setColorAt(0.0, start);
QColor end = QColor(GetRValue(colorGradientActiveCaptionRight),
GetGValue(colorGradientActiveCaptionRight),
GetBValue(colorGradientActiveCaptionRight));
g.setColorAt(1.0, end);
m_seriesColors.append(colorAt(g, 0.5));
// Generate gradients from the base colors
generateSeriesGradients();
// Background fill color from COLOR_WINDOW
QLinearGradient backgroundGradient;
DWORD colorWindow;
colorWindow = GetSysColor(COLOR_WINDOW);
backgroundGradient.setColorAt(0.0, QColor(GetRValue(colorWindow),
GetGValue(colorWindow),
GetBValue(colorWindow)));
backgroundGradient.setColorAt(1.0, QColor(GetRValue(colorWindow),
GetGValue(colorWindow),
GetBValue(colorWindow)));
Tero Ahola
Added axis related modifiers to theme
r548 // Axes and other
m_masterFont = QFont();
m_masterFont.setPointSizeF(10.0);
m_axisLinePen = QPen(Qt::black);
m_axisLinePen.setWidth(2);
m_axisLabelBrush = QBrush(Qt::black);
m_axisLabelPen = Qt::NoPen; // NoPen for performance reasons
m_backgroundShadesPen = Qt::NoPen;
m_backgroundShadesBrush = QBrush(QColor(0xaf, 0xaf, 0xaf, 0x50));
m_backgroundShades = BackgroundShadesVertical;
Tero Ahola
Default theme with OS specific colors on Windows
r537
Michal Klocek
Compilation fix
r543 #elif defined(Q_OS_LINUX)
Tero Ahola
Default theme with OS specific colors on Windows
r537 // TODO: replace this dummy theme with linux specific theme
Tero Ahola
Added axis related modifiers to theme
r548 m_seriesColors << QRgb(0x60a6e6);
m_seriesColors << QRgb(0x92ca66);
m_seriesColors << QRgb(0xeba85f);
m_seriesColors << QRgb(0xfc5751);
Tero Ahola
Default theme with OS specific colors on Windows
r537 generateSeriesGradients();
QLinearGradient backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548 backgroundGradient.setColorAt(0.0, QRgb(0xffffff));
backgroundGradient.setColorAt(1.0, QRgb(0xe9e9e9));
Tero Ahola
Default theme with OS specific colors on Windows
r537 backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode);
Tero Ahola
Fixed build error on linux
r593 m_chartBackgroundGradient = backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548
// Axes and other
m_masterFont = QFont();
m_masterFont.setPointSizeF(10.0);
m_axisLinePen = QPen(Qt::black);
m_axisLinePen.setWidth(2);
m_axisLabelBrush = QBrush(Qt::black);
m_axisLabelPen = Qt::NoPen; // NoPen for performance reasons
m_backgroundShadesPen = Qt::NoPen;
m_backgroundShadesBrush = QBrush(QColor(0xaf, 0xaf, 0xaf, 0x50));
m_backgroundShades = BackgroundShadesVertical;
#elif defined(Q_OS_MAC)
Tero Ahola
Default theme with OS specific colors on Windows
r537 // TODO: replace this dummy theme with OSX specific theme
Tero Ahola
Added axis related modifiers to theme
r548 m_seriesColors << QRgb(0x60a6e6);
m_seriesColors << QRgb(0x92ca66);
m_seriesColors << QRgb(0xeba85f);
m_seriesColors << QRgb(0xfc5751);
Tero Ahola
Default theme with OS specific colors on Windows
r537 generateSeriesGradients();
Jani Honkonen
Adding list of series gradients to theme.
r494
Tero Ahola
Default theme with OS specific colors on Windows
r537 QLinearGradient backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548 backgroundGradient.setColorAt(0.0, QRgb(0xffffff));
backgroundGradient.setColorAt(1.0, QRgb(0xe9e9e9));
Tero Ahola
Default theme with OS specific colors on Windows
r537 backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode);
Tero Ahola
New theme with light colors, chartview background
r584 m_chartBackgroundGradient = backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548
// Axes and other
m_masterFont = QFont();
m_masterFont.setPointSizeF(10.0);
m_axisLinePen = QPen(Qt::black);
m_axisLinePen.setWidth(2);
m_axisLabelBrush = QBrush(Qt::black);
m_axisLabelPen = Qt::NoPen; // NoPen for performance reasons
m_backgroundShadesPen = Qt::NoPen;
m_backgroundShadesBrush = QBrush(QColor(0xaf, 0xaf, 0xaf, 0x50));
m_backgroundShades = BackgroundShadesVertical;
Tero Ahola
Default theme with OS specific colors on Windows
r537 #else
// TODO: replace this dummy theme with generic (not OS specific) theme
Tero Ahola
Added axis related modifiers to theme
r548 m_seriesColors << QRgb(0x60a6e6);
m_seriesColors << QRgb(0x92ca66);
m_seriesColors << QRgb(0xeba85f);
m_seriesColors << QRgb(0xfc5751);
Tero Ahola
Theme gradients now generated from a single base color
r507 generateSeriesGradients();
Jani Honkonen
Adding list of series gradients to theme.
r494
QLinearGradient backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548 backgroundGradient.setColorAt(0.0, QRgb(0xffffff));
backgroundGradient.setColorAt(1.0, QRgb(0xafafaf));
Jani Honkonen
Adding list of series gradients to theme.
r494 backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode);
m_backgroundGradient = backgroundGradient;
Tero Ahola
Added axis related modifiers to theme
r548
// Axes and other
m_masterFont = QFont();
m_masterFont.setPointSizeF(10.0);
m_axisLinePen = QPen(Qt::black);
m_axisLinePen.setWidth(2);
m_axisLabelBrush = QBrush(Qt::black);
m_axisLabelPen = Qt::NoPen; // NoPen for performance reasons
m_backgroundShadesPen = Qt::NoPen;
m_backgroundShadesBrush = QBrush(QColor(0xaf, 0xaf, 0xaf, 0x50));
m_backgroundShades = BackgroundShadesVertical;
Tero Ahola
Default theme with OS specific colors on Windows
r537 #endif
Jani Honkonen
Adding list of series gradients to theme.
r494 }
};
QTCOMMERCIALCHART_END_NAMESPACE