summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-26 10:59:04 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-26 13:53:18 +0300
commit47cc882034d9062a32ad2fa96377565ae0ab93be (patch)
tree1b6e342d93f5ab52cb5d4ce9fed07a1269db385b /tests
parentffba0218893cd25b08718d4d6fd0c40c95aecf47 (diff)
Polar chart for scatter
Task-number: QTRD-3184 Change-Id: Ie8e10050e58a3630eda87ec44fb342776d667ae6 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/scattertest/main.cpp34
-rw-r--r--tests/scattertest/scatterchart.cpp27
-rw-r--r--tests/scattertest/scatterchart.h4
3 files changed, 62 insertions, 3 deletions
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index 207da530..f434e324 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -235,6 +235,18 @@ int main(int argc, char **argv)
aspectRatioSlider->setValue(20);
aspectRatioSlider->setMaximum(100);
+ QCheckBox *optimizationStaticCB = new QCheckBox(widget);
+ optimizationStaticCB->setText(QStringLiteral("Static optimization"));
+ optimizationStaticCB->setChecked(false);
+
+ QCheckBox *orthoCB = new QCheckBox(widget);
+ orthoCB->setText(QStringLiteral("Orthogonal projection"));
+ orthoCB->setChecked(false);
+
+ QCheckBox *polarCB = new QCheckBox(widget);
+ polarCB->setText(QStringLiteral("Polar graph"));
+ polarCB->setChecked(false);
+
QCheckBox *axisTitlesVisibleCB = new QCheckBox(widget);
axisTitlesVisibleCB->setText(QStringLiteral("Axis titles visible"));
axisTitlesVisibleCB->setChecked(false);
@@ -250,6 +262,13 @@ int main(int argc, char **argv)
axisLabelRotationSlider->setValue(0);
axisLabelRotationSlider->setMaximum(90);
+ QSlider *radialLabelSlider = new QSlider(Qt::Horizontal, widget);
+ radialLabelSlider->setTickInterval(10);
+ radialLabelSlider->setTickPosition(QSlider::TicksBelow);
+ radialLabelSlider->setMinimum(0);
+ radialLabelSlider->setValue(100);
+ radialLabelSlider->setMaximum(150);
+
vLayout->addWidget(themeButton, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
@@ -298,10 +317,15 @@ int main(int argc, char **argv)
vLayout2->addWidget(fontSizeSlider);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust aspect ratio")));
vLayout2->addWidget(aspectRatioSlider, 1, Qt::AlignTop);
+ vLayout2->addWidget(optimizationStaticCB);
+ vLayout2->addWidget(orthoCB);
+ vLayout2->addWidget(polarCB);
vLayout2->addWidget(axisTitlesVisibleCB);
vLayout2->addWidget(axisTitlesFixedCB);
vLayout2->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
- vLayout2->addWidget(axisLabelRotationSlider, 1, Qt::AlignTop);
+ vLayout2->addWidget(axisLabelRotationSlider);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Radial label offset")));
+ vLayout2->addWidget(radialLabelSlider, 1, Qt::AlignTop);
ScatterDataModifier *modifier = new ScatterDataModifier(chart);
@@ -389,6 +413,12 @@ int main(int argc, char **argv)
&ScatterDataModifier::setMaxY);
QObject::connect(maxSliderZ, &QSlider::valueChanged, modifier,
&ScatterDataModifier::setMaxZ);
+ QObject::connect(optimizationStaticCB, &QCheckBox::stateChanged, modifier,
+ &ScatterDataModifier::toggleStatic);
+ QObject::connect(orthoCB, &QCheckBox::stateChanged, modifier,
+ &ScatterDataModifier::toggleOrtho);
+ QObject::connect(polarCB, &QCheckBox::stateChanged, modifier,
+ &ScatterDataModifier::togglePolar);
QObject::connect(axisTitlesVisibleCB, &QCheckBox::stateChanged, modifier,
&ScatterDataModifier::toggleAxisTitleVisibility);
QObject::connect(axisTitlesFixedCB, &QCheckBox::stateChanged, modifier,
@@ -397,6 +427,8 @@ int main(int argc, char **argv)
&ScatterDataModifier::changeLabelRotation);
QObject::connect(aspectRatioSlider, &QSlider::valueChanged, modifier,
&ScatterDataModifier::setAspectRatio);
+ QObject::connect(radialLabelSlider, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::changeRadialLabelOffset);
modifier->setFpsLabel(fpsLabel);
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index c00c526a..5a0a5976 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -484,9 +484,9 @@ void ScatterDataModifier::addData()
m_chart->axisX()->setRange(-50.0f, 50.0f);
m_chart->axisY()->setRange(-1.0f, 1.2f);
m_chart->axisZ()->setRange(-50.0f, 50.0f);
- m_chart->axisX()->setSegmentCount(6);
+ m_chart->axisX()->setSegmentCount(5);
m_chart->axisY()->setSegmentCount(4);
- m_chart->axisZ()->setSegmentCount(9);
+ m_chart->axisZ()->setSegmentCount(10);
m_chart->axisX()->setSubSegmentCount(2);
m_chart->axisY()->setSubSegmentCount(3);
m_chart->axisZ()->setSubSegmentCount(1);
@@ -934,6 +934,11 @@ void ScatterDataModifier::changeLabelRotation(int rotation)
m_chart->axisZ()->setLabelAutoRotation(float(rotation));
}
+void ScatterDataModifier::changeRadialLabelOffset(int offset)
+{
+ m_chart->setRadialLabelOffset(float(offset) / 100.0f);
+}
+
void ScatterDataModifier::toggleAxisTitleVisibility(bool enabled)
{
m_chart->axisX()->setTitleVisible(enabled);
@@ -970,6 +975,24 @@ void ScatterDataModifier::renderToImage()
}
}
+void ScatterDataModifier::togglePolar(bool enable)
+{
+ m_chart->setPolar(enable);
+}
+
+void ScatterDataModifier::toggleStatic(bool enable)
+{
+ if (enable)
+ m_chart->setOptimizationHints(QAbstract3DGraph::OptimizationStatic);
+ else
+ m_chart->setOptimizationHints(QAbstract3DGraph::OptimizationDefault);
+}
+
+void ScatterDataModifier::toggleOrtho(bool enable)
+{
+ m_chart->setOrthoProjection(enable);
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QAbstract3DGraph::ShadowQuality sq = QAbstract3DGraph::ShadowQuality(quality);
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index 97c3b1f9..e2e979f3 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -90,9 +90,13 @@ public slots:
void handleAxisZChanged(QValue3DAxis *axis);
void handleFpsChange(qreal fps);
void changeLabelRotation(int rotation);
+ void changeRadialLabelOffset(int offset);
void toggleAxisTitleVisibility(bool enabled);
void toggleAxisTitleFixed(bool enabled);
void renderToImage();
+ void togglePolar(bool enable);
+ void toggleStatic(bool enable);
+ void toggleOrtho(bool enable);
signals:
void shadowQualityChanged(int quality);