diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-11-22 11:07:24 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-11-22 12:27:29 +0200 |
commit | 6ecfae79d976a6d9b352b82b4a8f9d8fb7bf2564 (patch) | |
tree | 21213f31f6a1037c31fda15a94662d6e21b8f783 /src/datavisualization/theme/thememanager.cpp | |
parent | fe2e12ffd7bb495634a66dc9c3e0d0fcbcfeb0df (diff) |
Theme dirty bits implemented
Task-number: QTRD-2625
Change-Id: Ifea7f85a142bb4ef085da61668d1c8038a285c16
Change-Id: Ifea7f85a142bb4ef085da61668d1c8038a285c16
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/theme/thememanager.cpp')
-rw-r--r-- | src/datavisualization/theme/thememanager.cpp | 399 |
1 files changed, 251 insertions, 148 deletions
diff --git a/src/datavisualization/theme/thememanager.cpp b/src/datavisualization/theme/thememanager.cpp index 5102fddf..168409b3 100644 --- a/src/datavisualization/theme/thememanager.cpp +++ b/src/datavisualization/theme/thememanager.cpp @@ -17,6 +17,7 @@ ****************************************************************************/ #include "thememanager_p.h" +#include "q3dtheme_p.h" QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -64,36 +65,36 @@ void ThemeManager::connectThemeSignals() // TODO: Implement receiving end for the commented ones (QTRD-2538) connect(m_theme.data(), &Q3DTheme::baseColorChanged, m_controller, &Abstract3DController::setObjectColor); -// connect(m_theme.data(), &Q3DTheme::backgroundColorChanged, -// m_controller, &Abstract3DController::setBackgroundColorColor); -// connect(m_theme.data(), &Q3DTheme::windowColorChanged, -// m_controller, &Abstract3DController::setWindowColor); -// connect(m_theme.data(), &Q3DTheme::textColorChanged, -// m_controller, &Abstract3DController::setTextColor); -// connect(m_theme.data(), &Q3DTheme::textBackgroundColorChanged, -// m_controller, &Abstract3DController::setTextBackgroundColor); -// connect(m_theme.data(), &Q3DTheme::gridLineColorChanged, -// m_controller, &Abstract3DController::setGridLineColor); + // connect(m_theme.data(), &Q3DTheme::backgroundColorChanged, + // m_controller, &Abstract3DController::setBackgroundColorColor); + // connect(m_theme.data(), &Q3DTheme::windowColorChanged, + // m_controller, &Abstract3DController::setWindowColor); + // connect(m_theme.data(), &Q3DTheme::textColorChanged, + // m_controller, &Abstract3DController::setTextColor); + // connect(m_theme.data(), &Q3DTheme::textBackgroundColorChanged, + // m_controller, &Abstract3DController::setTextBackgroundColor); + // connect(m_theme.data(), &Q3DTheme::gridLineColorChanged, + // m_controller, &Abstract3DController::setGridLineColor); connect(m_theme.data(), &Q3DTheme::singleHighlightColorChanged, m_controller, &Abstract3DController::setSingleHighlightColor); connect(m_theme.data(), &Q3DTheme::multiHighlightColorChanged, m_controller, &Abstract3DController::setMultiHighlightColor); -// connect(m_theme.data(), &Q3DTheme::lightColorChanged, -// m_controller, &Abstract3DController::setLightColor); + // connect(m_theme.data(), &Q3DTheme::lightColorChanged, + // m_controller, &Abstract3DController::setLightColor); connect(m_theme.data(), &Q3DTheme::baseGradientChanged, m_controller, &Abstract3DController::setObjectGradient); connect(m_theme.data(), &Q3DTheme::singleHighlightGradientChanged, m_controller, &Abstract3DController::setSingleHighlightGradient); connect(m_theme.data(), &Q3DTheme::multiHighlightGradientChanged, m_controller, &Abstract3DController::setMultiHighlightGradient); -// connect(m_theme.data(), &Q3DTheme::lightStrengthChanged, -// m_controller, &Abstract3DController::setLightStrength); -// connect(m_theme.data(), &Q3DTheme::ambientLightStrengthChanged, -// m_controller, &Abstract3DController::setAmbientLightStrength); -// connect(m_theme.data(), &Q3DTheme::highlightLightStrengthChanged, -// m_controller, &Abstract3DController::setHighlightLightStrength); -// connect(m_theme.data(), &Q3DTheme::labelBorderEnabledChanged, -// m_controller, &Abstract3DController::setLabelBorderEnabled); + // connect(m_theme.data(), &Q3DTheme::lightStrengthChanged, + // m_controller, &Abstract3DController::setLightStrength); + // connect(m_theme.data(), &Q3DTheme::ambientLightStrengthChanged, + // m_controller, &Abstract3DController::setAmbientLightStrength); + // connect(m_theme.data(), &Q3DTheme::highlightLightStrengthChanged, + // m_controller, &Abstract3DController::setHighlightLightStrength); + // connect(m_theme.data(), &Q3DTheme::labelBorderEnabledChanged, + // m_controller, &Abstract3DController::setLabelBorderEnabled); connect(m_theme.data(), &Q3DTheme::colorStyleChanged, m_controller, &Abstract3DController::setColorStyle); @@ -107,19 +108,19 @@ void ThemeManager::useTheme(QDataVis::Theme type) switch (type) { case QDataVis::ThemeQt: { - m_theme->setBaseColor(QColor(QRgb(0x80c342))); - m_theme->setBackgroundColor(QColor(QRgb(0xffffff))); - m_theme->setWindowColor(QColor(QRgb(0xffffff))); - m_theme->setTextColor(QColor(QRgb(0x35322f))); - m_theme->setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - m_theme->setGridLineColor(QColor(QRgb(0xd7d6d5))); - m_theme->setSingleHighlightColor(QColor(QRgb(0x14aaff))); - m_theme->setMultiHighlightColor(QColor(QRgb(0x6400aa))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(true); - m_theme->setColorStyle(QDataVis::ColorStyleUniform); + setBaseColor(QColor(QRgb(0x80c342))); + setBackgroundColor(QColor(QRgb(0xffffff))); + setWindowColor(QColor(QRgb(0xffffff))); + setTextColor(QColor(QRgb(0x35322f))); + setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); + setGridLineColor(QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(QColor(QRgb(0x14aaff))); + setMultiHighlightColor(QColor(QRgb(0x6400aa))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(true); + setColorStyle(QDataVis::ColorStyleUniform); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -128,36 +129,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x42 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x80c342))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0x14 * 0.7); color.setGreen(0xaa * 0.7); color.setBlue(0xff * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x14aaff))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0x64 * 0.7); color.setGreen(0x00); color.setBlue(0xaa * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x6400aa))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemePrimaryColors: { - m_theme->setBaseColor(QColor(QRgb(0xffe400))); - m_theme->setBackgroundColor(QColor(QRgb(0xffffff))); - m_theme->setWindowColor(QColor(QRgb(0xffffff))); - m_theme->setTextColor(QColor(QRgb(0x000000))); - m_theme->setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); - m_theme->setGridLineColor(QColor(QRgb(0xd7d6d5))); - m_theme->setSingleHighlightColor(QColor(QRgb(0x27beee))); - m_theme->setMultiHighlightColor(QColor(QRgb(0xee1414))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleUniform); + setBaseColor(QColor(QRgb(0xffe400))); + setBackgroundColor(QColor(QRgb(0xffffff))); + setWindowColor(QColor(QRgb(0xffffff))); + setTextColor(QColor(QRgb(0x000000))); + setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x99)); + setGridLineColor(QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(QColor(QRgb(0x27beee))); + setMultiHighlightColor(QColor(QRgb(0xee1414))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleUniform); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -166,36 +167,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x00); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xffe400))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0x27 * 0.7); color.setGreen(0xbe * 0.7); color.setBlue(0xee * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x27beee))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0xee * 0.7); color.setGreen(0x14 * 0.7); color.setBlue(0x14 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xee1414))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeDigia: { - m_theme->setBaseColor(QColor(QRgb(0xcccccc))); - m_theme->setBackgroundColor(QColor(QRgb(0xffffff))); - m_theme->setWindowColor(QColor(QRgb(0xffffff))); - m_theme->setTextColor(QColor(QRgb(0x000000))); - m_theme->setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x80)); - m_theme->setGridLineColor(QColor(QRgb(0xd7d6d5))); - m_theme->setSingleHighlightColor(QColor(QRgb(0xfa0000))); - m_theme->setMultiHighlightColor(QColor(QRgb(0x555555))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleObjectGradient); + setBaseColor(QColor(QRgb(0xcccccc))); + setBackgroundColor(QColor(QRgb(0xffffff))); + setWindowColor(QColor(QRgb(0xffffff))); + setTextColor(QColor(QRgb(0x000000))); + setTextBackgroundColor(QColor(0xff, 0xff, 0xff, 0x80)); + setGridLineColor(QColor(QRgb(0xd7d6d5))); + setSingleHighlightColor(QColor(QRgb(0xfa0000))); + setMultiHighlightColor(QColor(QRgb(0x555555))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleObjectGradient); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -204,36 +205,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0xcc * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xcccccc))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0xfa * 0.7); color.setGreen(0x00); color.setBlue(0x00); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xfa0000))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0x55 * 0.7); color.setGreen(0x55 * 0.7); color.setBlue(0x55 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x555555))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeStoneMoss: { - m_theme->setBaseColor(QColor(QRgb(0xbeb32b))); - m_theme->setBackgroundColor(QColor(QRgb(0x4d4d4f))); - m_theme->setWindowColor(QColor(QRgb(0x4d4d4f))); - m_theme->setTextColor(QColor(QRgb(0xffffff))); - m_theme->setTextBackgroundColor(QColor(0x4d, 0x4d, 0x4f, 0xcd)); - m_theme->setGridLineColor(QColor(QRgb(0x3e3e40))); - m_theme->setSingleHighlightColor(QColor(QRgb(0xfbf6d6))); - m_theme->setMultiHighlightColor(QColor(QRgb(0x442f20))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(true); - m_theme->setColorStyle(QDataVis::ColorStyleUniform); + setBaseColor(QColor(QRgb(0xbeb32b))); + setBackgroundColor(QColor(QRgb(0x4d4d4f))); + setWindowColor(QColor(QRgb(0x4d4d4f))); + setTextColor(QColor(QRgb(0xffffff))); + setTextBackgroundColor(QColor(0x4d, 0x4d, 0x4f, 0xcd)); + setGridLineColor(QColor(QRgb(0x3e3e40))); + setSingleHighlightColor(QColor(QRgb(0xfbf6d6))); + setMultiHighlightColor(QColor(QRgb(0x442f20))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(true); + setColorStyle(QDataVis::ColorStyleUniform); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -242,36 +243,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x2b * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xbeb32b))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0xfb* 0.7); color.setGreen(0xf6 * 0.7); color.setBlue(0xd6 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xfbf6d6))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0x44 * 0.7); color.setGreen(0x2f * 0.7); color.setBlue(0x20 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x442f20))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeArmyBlue: { - m_theme->setBaseColor(QColor(QRgb(0x495f76))); - m_theme->setBackgroundColor(QColor(QRgb(0xd5d6d7))); - m_theme->setWindowColor(QColor(QRgb(0xd5d6d7))); - m_theme->setTextColor(QColor(QRgb(0x000000))); - m_theme->setTextBackgroundColor(QColor(0xd5, 0xd6, 0xd7, 0xcd)); - m_theme->setGridLineColor(QColor(QRgb(0xaeadac))); - m_theme->setSingleHighlightColor(QColor(QRgb(0x2aa2f9))); - m_theme->setMultiHighlightColor(QColor(QRgb(0x103753))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleObjectGradient); + setBaseColor(QColor(QRgb(0x495f76))); + setBackgroundColor(QColor(QRgb(0xd5d6d7))); + setWindowColor(QColor(QRgb(0xd5d6d7))); + setTextColor(QColor(QRgb(0x000000))); + setTextBackgroundColor(QColor(0xd5, 0xd6, 0xd7, 0xcd)); + setGridLineColor(QColor(QRgb(0xaeadac))); + setSingleHighlightColor(QColor(QRgb(0x2aa2f9))); + setMultiHighlightColor(QColor(QRgb(0x103753))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleObjectGradient); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -280,36 +281,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x76 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x495f76))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0x2a * 0.7); color.setGreen(0xa2 * 0.7); color.setBlue(0xf9 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x2aa2f9))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0x10 * 0.7); color.setGreen(0x37 * 0.7); color.setBlue(0x53 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x103753))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeRetro: { - m_theme->setBaseColor(QColor(QRgb(0x533b23))); - m_theme->setBackgroundColor(QColor(QRgb(0xe9e2ce))); - m_theme->setWindowColor(QColor(QRgb(0xe9e2ce))); - m_theme->setTextColor(QColor(QRgb(0x000000))); - m_theme->setTextBackgroundColor(QColor(0xe9, 0xe2, 0xce, 0xc0)); - m_theme->setGridLineColor(QColor(QRgb(0xd0c0b0))); - m_theme->setSingleHighlightColor(QColor(QRgb(0x8ea317))); - m_theme->setMultiHighlightColor(QColor(QRgb(0xc25708))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleObjectGradient); + setBaseColor(QColor(QRgb(0x533b23))); + setBackgroundColor(QColor(QRgb(0xe9e2ce))); + setWindowColor(QColor(QRgb(0xe9e2ce))); + setTextColor(QColor(QRgb(0x000000))); + setTextBackgroundColor(QColor(0xe9, 0xe2, 0xce, 0xc0)); + setGridLineColor(QColor(QRgb(0xd0c0b0))); + setSingleHighlightColor(QColor(QRgb(0x8ea317))); + setMultiHighlightColor(QColor(QRgb(0xc25708))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleObjectGradient); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -318,36 +319,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x23 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x533b23))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0x8e * 0.7); color.setGreen(0xa3 * 0.7); color.setBlue(0x17 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0x8ea317))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0xc2 * 0.7); color.setGreen(0x57 * 0.7); color.setBlue(0x08 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xc25708))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeEbony: { - m_theme->setBaseColor(QColor(QRgb(0xffffff))); - m_theme->setBackgroundColor(QColor(QRgb(0x000000))); - m_theme->setWindowColor(QColor(QRgb(0x000000))); - m_theme->setTextColor(QColor(QRgb(0xaeadac))); - m_theme->setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xcd)); - m_theme->setGridLineColor(QColor(QRgb(0x35322f))); - m_theme->setSingleHighlightColor(QColor(QRgb(0xf5dc0d))); - m_theme->setMultiHighlightColor(QColor(QRgb(0xd72222))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleUniform); + setBaseColor(QColor(QRgb(0xffffff))); + setBackgroundColor(QColor(QRgb(0x000000))); + setWindowColor(QColor(QRgb(0x000000))); + setTextColor(QColor(QRgb(0xaeadac))); + setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xcd)); + setGridLineColor(QColor(QRgb(0x35322f))); + setSingleHighlightColor(QColor(QRgb(0xf5dc0d))); + setMultiHighlightColor(QColor(QRgb(0xd72222))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleUniform); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -356,36 +357,36 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0xff * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xffffff))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0xf5 * 0.7); color.setGreen(0xdc * 0.7); color.setBlue(0x0d * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xf5dc0d))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0x72 * 0.7); color.setGreen(0x22 * 0.7); color.setBlue(0x22 * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xd72222))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } case QDataVis::ThemeIsabelle: { - m_theme->setBaseColor(QColor(QRgb(0xf9d900))); - m_theme->setBackgroundColor(QColor(QRgb(0x000000))); - m_theme->setWindowColor(QColor(QRgb(0x000000))); - m_theme->setTextColor(QColor(QRgb(0xaeadac))); - m_theme->setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xc0)); - m_theme->setGridLineColor(QColor(QRgb(0x35322f))); - m_theme->setSingleHighlightColor(QColor(QRgb(0xfff7cc))); - m_theme->setMultiHighlightColor(QColor(QRgb(0xde0a0a))); - m_theme->setLightStrength(5.0f); - m_theme->setAmbientLightStrength(0.5f); - m_theme->setHighlightLightStrength(5.0f); - m_theme->setLabelBorderEnabled(false); - m_theme->setColorStyle(QDataVis::ColorStyleUniform); + setBaseColor(QColor(QRgb(0xf9d900))); + setBackgroundColor(QColor(QRgb(0x000000))); + setWindowColor(QColor(QRgb(0x000000))); + setTextColor(QColor(QRgb(0xaeadac))); + setTextBackgroundColor(QColor(0x00, 0x00, 0x00, 0xc0)); + setGridLineColor(QColor(QRgb(0x35322f))); + setSingleHighlightColor(QColor(QRgb(0xfff7cc))); + setMultiHighlightColor(QColor(QRgb(0xde0a0a))); + setLightStrength(5.0f); + setAmbientLightStrength(0.5f); + setHighlightLightStrength(5.0f); + setLabelBorderEnabled(false); + setColorStyle(QDataVis::ColorStyleUniform); gradient = QLinearGradient(qreal(gradientTextureWidth), qreal(gradientTextureHeight), 0.0, 0.0); @@ -394,19 +395,19 @@ void ThemeManager::useTheme(QDataVis::Theme type) color.setBlue(0x00); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xf9d900))); - m_theme->setBaseGradient(gradient); + setBaseGradient(gradient); color.setRed(0xff * 0.7); color.setGreen(0xf7 * 0.7); color.setBlue(0xcc * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xfff7cc))); - m_theme->setSingleHighlightGradient(gradient); + setSingleHighlightGradient(gradient); color.setRed(0xde * 0.7); color.setGreen(0x0a * 0.7); color.setBlue(0x0a * 0.7); gradient.setColorAt(0.0, color); gradient.setColorAt(1.0, QColor(QRgb(0xde0a0a))); - m_theme->setMultiHighlightGradient(gradient); + setMultiHighlightGradient(gradient); break; } default: @@ -414,4 +415,106 @@ void ThemeManager::useTheme(QDataVis::Theme type) } } +void ThemeManager::setBaseColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.baseColorDirty) + m_theme->setBaseColor(color); +} + +void ThemeManager::setBackgroundColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.backgroundColorDirty) + m_theme->setBackgroundColor(color); +} + +void ThemeManager::setWindowColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.windowColorDirty) + m_theme->setWindowColor(color); +} + +void ThemeManager::setTextColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.textColorDirty) + m_theme->setTextColor(color); +} + +void ThemeManager::setTextBackgroundColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.textBackgroundColorDirty) + m_theme->setTextBackgroundColor(color); +} + +void ThemeManager::setGridLineColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.gridLineColorDirty) + m_theme->setGridLineColor(color); +} + +void ThemeManager::setSingleHighlightColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.singleHighlightColorDirty) + m_theme->setSingleHighlightColor(color); +} + +void ThemeManager::setMultiHighlightColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.multiHighlightColorDirty) + m_theme->setMultiHighlightColor(color); +} + +void ThemeManager::setLightColor(const QColor &color) +{ + if (!m_theme->d_ptr->m_dirtyBits.lightColorDirty) + m_theme->setLightColor(color); +} + +void ThemeManager::setBaseGradient(const QLinearGradient &gradient) +{ + if (!m_theme->d_ptr->m_dirtyBits.baseGradientDirty) + m_theme->setBaseGradient(gradient); +} + +void ThemeManager::setSingleHighlightGradient(const QLinearGradient &gradient) +{ + if (!m_theme->d_ptr->m_dirtyBits.singleHighlightGradientDirty) + m_theme->setSingleHighlightGradient(gradient); +} + +void ThemeManager::setMultiHighlightGradient(const QLinearGradient &gradient) +{ + if (!m_theme->d_ptr->m_dirtyBits.multiHighlightGradientDirty) + m_theme->setMultiHighlightGradient(gradient); +} + +void ThemeManager::setLightStrength(float strength) +{ + if (!m_theme->d_ptr->m_dirtyBits.lightStrengthDirty) + m_theme->setLightStrength(strength); +} + +void ThemeManager::setAmbientLightStrength(float strength) +{ + if (!m_theme->d_ptr->m_dirtyBits.ambientLightStrengthDirty) + m_theme->setAmbientLightStrength(strength); +} + +void ThemeManager::setHighlightLightStrength(float strength) +{ + if (!m_theme->d_ptr->m_dirtyBits.highlightLightStrengthDirty) + m_theme->setHighlightLightStrength(strength); +} + +void ThemeManager::setLabelBorderEnabled(bool enabled) +{ + if (!m_theme->d_ptr->m_dirtyBits.labelBorderEnabledDirty) + m_theme->setLabelBorderEnabled(enabled); +} + +void ThemeManager::setColorStyle(QDataVis::ColorStyle style) +{ + if (!m_theme->d_ptr->m_dirtyBits.colorStyleDirty) + m_theme->setColorStyle(style); +} + QT_DATAVISUALIZATION_END_NAMESPACE |