From 4588556895bc14803e3ad884e89eb988b751e6be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 22 Nov 2013 09:27:38 +0200 Subject: Gradients and colors defined for all built-in themes Task-number: QTRD-2608 Change-Id: Ib6c3b4ec697efc238db9776b3f71c11a0d099c57 Change-Id: Ib6c3b4ec697efc238db9776b3f71c11a0d099c57 Reviewed-by: Miikka Heikkinen --- tests/barstest/chart.cpp | 30 +++++++++++++++--------------- tests/barstest/chart.h | 1 + tests/barstest/main.cpp | 8 ++++++++ 3 files changed, 24 insertions(+), 15 deletions(-) (limited to 'tests/barstest') diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp index 14990640..bd99168f 100644 --- a/tests/barstest/chart.cpp +++ b/tests/barstest/chart.cpp @@ -672,6 +672,16 @@ void GraphModifier::setMaxY(int max) m_maxval = max; } +void GraphModifier::changeColorStyle() +{ + int style = m_graph->theme()->colorStyle(); + + if (++style > QDataVis::ColorStyleRangeGradient) + style = QDataVis::ColorStyleUniform; + + m_graph->theme()->setColorStyle(QDataVis::ColorStyle(style)); +} + void GraphModifier::useOwnTheme() { Q3DTheme *theme = new Q3DTheme(); @@ -727,19 +737,9 @@ void GraphModifier::setGradient() multiHighlightGradient.setColorAt(0.25, Qt::darkYellow); multiHighlightGradient.setColorAt(0.0, Qt::darkGray); - m_graph->setBarColor(Qt::green); - m_graph->setSingleHighlightColor(Qt::white); - m_graph->setMultiHighlightColor(Qt::cyan); - - m_graph->setBarGradient(barGradient); - m_graph->setSingleHighlightGradient(singleHighlightGradient); - m_graph->setMultiHighlightGradient(multiHighlightGradient); - - QDataVis::ColorStyle oldStyle = m_graph->colorStyle(); - if (oldStyle == QDataVis::ColorStyleUniform) - m_graph->setColorStyle(QDataVis::ColorStyleObjectGradient); - else if (oldStyle == QDataVis::ColorStyleObjectGradient) - m_graph->setColorStyle(QDataVis::ColorStyleRangeGradient); - if (oldStyle == QDataVis::ColorStyleRangeGradient) - m_graph->setColorStyle(QDataVis::ColorStyleUniform); + m_graph->theme()->setBaseGradient(barGradient); + m_graph->theme()->setSingleHighlightGradient(singleHighlightGradient); + m_graph->theme()->setMultiHighlightGradient(multiHighlightGradient); + + m_graph->theme()->setColorStyle(QDataVis::ColorStyleObjectGradient); } diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h index 7db8f1bd..2b323a2f 100644 --- a/tests/barstest/chart.h +++ b/tests/barstest/chart.h @@ -77,6 +77,7 @@ public: void createMassiveArray(); void useOwnTheme(); void changeBaseColor(const QColor &color); + void changeColorStyle(); public slots: void flipViews(); diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp index 2644cae9..5bfa26a3 100644 --- a/tests/barstest/main.cpp +++ b/tests/barstest/main.cpp @@ -131,6 +131,11 @@ int main(int argc, char **argv) flipViewsButton->setText(QStringLiteral("Flip views")); flipViewsButton->setEnabled(true); + + QPushButton *changeColorStyleButton = new QPushButton(widget); + changeColorStyleButton->setText(QStringLiteral("Change color style")); + changeColorStyleButton->setEnabled(true); + QPushButton *ownThemeButton = new QPushButton(widget); ownThemeButton->setText(QStringLiteral("Use own theme")); ownThemeButton->setEnabled(true); @@ -276,6 +281,7 @@ int main(int argc, char **argv) vLayout->addWidget(releaseAxesButton, 0, Qt::AlignTop); vLayout->addWidget(releaseProxiesButton, 1, Qt::AlignTop); vLayout->addWidget(flipViewsButton, 0, Qt::AlignTop); + vLayout->addWidget(changeColorStyleButton, 0, Qt::AlignTop); vLayout->addWidget(ownThemeButton, 0, Qt::AlignTop); vLayout->addWidget(colorDialog, 0, Qt::AlignTop); vLayout->addWidget(gradientBtoYPB, 1, Qt::AlignTop); @@ -370,6 +376,8 @@ int main(int argc, char **argv) QObject::connect(flipViewsButton, &QPushButton::clicked, modifier, &GraphModifier::flipViews); + QObject::connect(changeColorStyleButton, &QPushButton::clicked, modifier, + &GraphModifier::changeColorStyle); QObject::connect(ownThemeButton, &QPushButton::clicked, modifier, &GraphModifier::useOwnTheme); QObject::connect(colorDialog, &QColorDialog::currentColorChanged, modifier, -- cgit v1.2.3