##// END OF EJS Templates
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
Fix setting custom color to pie. Now the pie knows if the color is set by the user.

File last commit:

r614:ac346143dd38
r691:02b456949de5
Show More
chartthemedefault_p.h
126 lines | 5.3 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:
Tero Ahola
Fonts and background of the themes...
r614 ChartThemeDefault() : ChartTheme(QChart::ChartThemeDefault)
Jani Honkonen
Adding list of series gradients to theme.
r494 {
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_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_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_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_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