diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-05 13:57:18 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-07 09:43:46 +0200 |
commit | a61c6ee6533dca6723320c3955773cc5ccbfe2fa (patch) | |
tree | e459aa85f88da5f2a0e23c34266baecd2db5d1b8 /tests/barstest/chart.cpp | |
parent | 9266f124979fa8a4fe7d8b2fb2db496b26aeeda9 (diff) |
Gradient support Part 1
TODO:
- Finish scatter
- QML (maybe left until data set is sorted, though)
Change-Id: I87a8117cb29f147080e0662c55b1098cb2e71689
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests/barstest/chart.cpp')
-rw-r--r-- | tests/barstest/chart.cpp | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp index f150345e..3c82e400 100644 --- a/tests/barstest/chart.cpp +++ b/tests/barstest/chart.cpp @@ -40,7 +40,7 @@ GraphModifier::GraphModifier(Q3DBars *barchart) m_fontSize(20), m_segments(4), m_subSegments(3), - m_minval(-15.0), + m_minval(-16.0), m_maxval(20.0), m_selectedBar(-1, -1), m_autoAdjustingAxis(new Q3DValueAxis), @@ -611,3 +611,53 @@ void GraphModifier::setMaxY(int max) m_fixedRangeAxis->setMax(max); m_maxval = max; } + + +void GraphModifier::setGradient() +{ + QLinearGradient barGradient(0, 0, 1, 100); + barGradient.setColorAt(1.0, Qt::lightGray); + barGradient.setColorAt(0.75001, Qt::lightGray); + barGradient.setColorAt(0.75, Qt::blue); + barGradient.setColorAt(0.50001, Qt::blue); + barGradient.setColorAt(0.50, Qt::red); + barGradient.setColorAt(0.25001, Qt::red); + barGradient.setColorAt(0.25, Qt::yellow); + barGradient.setColorAt(0.0, Qt::yellow); + + QLinearGradient singleHighlightGradient(0, 0, 1, 100); + singleHighlightGradient.setColorAt(1.0, Qt::white); + singleHighlightGradient.setColorAt(0.75001, Qt::white); + singleHighlightGradient.setColorAt(0.75, Qt::lightGray); + singleHighlightGradient.setColorAt(0.50001, Qt::lightGray); + singleHighlightGradient.setColorAt(0.50, Qt::gray); + singleHighlightGradient.setColorAt(0.25001, Qt::gray); + singleHighlightGradient.setColorAt(0.25, Qt::darkGray); + singleHighlightGradient.setColorAt(0.0, Qt::darkGray); + + QLinearGradient multiHighlightGradient(0, 0, 1, 100); + multiHighlightGradient.setColorAt(1.0, Qt::black); + multiHighlightGradient.setColorAt(0.75001, Qt::black); + multiHighlightGradient.setColorAt(0.75, Qt::darkBlue); + multiHighlightGradient.setColorAt(0.50001, Qt::darkBlue); + multiHighlightGradient.setColorAt(0.50, Qt::darkRed); + multiHighlightGradient.setColorAt(0.25001, Qt::darkRed); + multiHighlightGradient.setColorAt(0.25, Qt::darkYellow); + multiHighlightGradient.setColorAt(0.0, Qt::darkYellow); + + m_chart->setBarColor(Qt::green); + m_chart->setSingleHighlightColor(Qt::white); + m_chart->setMultiHighlightColor(Qt::cyan); + + m_chart->setBarGradient(barGradient); + m_chart->setSingleHighlightGradient(singleHighlightGradient); + m_chart->setMultiHighlightGradient(multiHighlightGradient); + + QDataVis::ColorStyle oldStyle = m_chart->colorStyle(); + if (oldStyle == QDataVis::ColorStyleUniform) + m_chart->setColorStyle(QDataVis::ColorStyleObjectGradient); + else if (oldStyle == QDataVis::ColorStyleObjectGradient) + m_chart->setColorStyle(QDataVis::ColorStyleRangeGradient); + if (oldStyle == QDataVis::ColorStyleRangeGradient) + m_chart->setColorStyle(QDataVis::ColorStyleUniform); +} |