summaryrefslogtreecommitdiffstats
path: root/tests/scattertest
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-07 14:57:48 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-08 09:09:22 +0200
commit1dca7a61130615da20f8c7205abd62db721e61d0 (patch)
tree476db607495d38fc986157e2715a79e23487a3a6 /tests/scattertest
parent6c3a413f65fe69cc525599ca183a66976ce0eaa7 (diff)
Gradient support part 2
Scatter gradients. Task-number: QTRD-2200 Change-Id: Ia6ac271440d0d26b7cae9332ef2ba4e7bf1a11fe Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests/scattertest')
-rw-r--r--tests/scattertest/main.cpp19
-rw-r--r--tests/scattertest/scatterchart.cpp34
-rw-r--r--tests/scattertest/scatterchart.h1
3 files changed, 54 insertions, 0 deletions
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index 1ac661df..8da3898c 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -30,6 +30,8 @@
#include <QLabel>
#include <QScreen>
#include <QFontDatabase>
+#include <QLinearGradient>
+#include <QPainter>
int main(int argc, char **argv)
{
@@ -101,6 +103,20 @@ int main(int argc, char **argv)
QPushButton *startTimerButton = new QPushButton(widget);
startTimerButton->setText(QStringLiteral("Start/stop timer"));
+ QLinearGradient grBtoY(0, 0, 100, 0);
+ grBtoY.setColorAt(1.0, Qt::black);
+ grBtoY.setColorAt(0.67, Qt::blue);
+ grBtoY.setColorAt(0.33, Qt::red);
+ grBtoY.setColorAt(0.0, Qt::yellow);
+ QPixmap pm(100, 24);
+ QPainter pmp(&pm);
+ pmp.setBrush(QBrush(grBtoY));
+ pmp.setPen(Qt::NoPen);
+ pmp.drawRect(0, 0, 100, 24);
+ QPushButton *gradientBtoYPB = new QPushButton(widget);
+ gradientBtoYPB->setIcon(QIcon(pm));
+ gradientBtoYPB->setIconSize(QSize(100, 24));
+
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
backgroundCheckBox->setChecked(true);
@@ -143,6 +159,7 @@ int main(int argc, char **argv)
vLayout->addWidget(removeBunchButton, 0, Qt::AlignTop);
vLayout->addWidget(setSelectedItemButton, 0, Qt::AlignTop);
vLayout->addWidget(startTimerButton, 0, Qt::AlignTop);
+ vLayout->addWidget(gradientBtoYPB, 0, Qt::AlignTop);
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
@@ -187,6 +204,8 @@ int main(int argc, char **argv)
&ScatterDataModifier::selectItem);
QObject::connect(startTimerButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::startStopTimer);
+ QObject::connect(gradientBtoYPB, &QPushButton::clicked, modifier,
+ &ScatterDataModifier::setGradient);
QObject::connect(themeButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::changeTheme);
QObject::connect(labelButton, &QPushButton::clicked, modifier,
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index f276c5a8..ed188e68 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -328,6 +328,40 @@ void ScatterDataModifier::handleSelectionChange(int index)
qDebug() << "Selected item index:" << index;
}
+void ScatterDataModifier::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::lightGray);
+ singleHighlightGradient.setColorAt(0.75, Qt::blue);
+ singleHighlightGradient.setColorAt(0.50, Qt::red);
+ singleHighlightGradient.setColorAt(0.25, Qt::yellow);
+ singleHighlightGradient.setColorAt(0.0, Qt::white);
+
+ m_chart->setItemColor(Qt::green);
+ m_chart->setSingleHighlightColor(Qt::white);
+
+ m_chart->setItemGradient(barGradient);
+ m_chart->setSingleHighlightGradient(singleHighlightGradient);
+
+ 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);
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality);
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index 2d97c236..db7f3ac0 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -62,6 +62,7 @@ public slots:
void startStopTimer();
void selectItem();
void handleSelectionChange(int index);
+ void setGradient();
signals:
void shadowQualityChanged(int quality);