summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-23 16:06:28 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-27 10:23:53 +0300
commitd9cb05d0f46efc58e508c233a3c67542a4c177fa (patch)
tree326badf5c83c5fac683e84819de902d88cd534ee /tests
parent1da51fd24458710d6b740feaba73c21fe2b1273a (diff)
Optionally show axis titles on the graph
Task-number: QTRD-2961 Change-Id: I6a344156bd29fa8fb1ede0546af4d0e67e5e2db4 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/scattertest/main.cpp28
-rw-r--r--tests/scattertest/scatterchart.cpp27
-rw-r--r--tests/scattertest/scatterchart.h4
-rw-r--r--tests/surfacetest/graphmodifier.cpp21
-rw-r--r--tests/surfacetest/graphmodifier.h3
-rw-r--r--tests/surfacetest/main.cpp25
6 files changed, 102 insertions, 6 deletions
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index ad147b0d..50c73901 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -232,6 +232,21 @@ int main(int argc, char **argv)
aspectRatioSlider->setValue(20);
aspectRatioSlider->setMaximum(100);
+ QCheckBox *axisTitlesVisibleCB = new QCheckBox(widget);
+ axisTitlesVisibleCB->setText(QStringLiteral("Axis titles visible"));
+ axisTitlesVisibleCB->setChecked(false);
+
+ QCheckBox *axisTitlesFixedCB = new QCheckBox(widget);
+ axisTitlesFixedCB->setText(QStringLiteral("Axis titles fixed"));
+ axisTitlesFixedCB->setChecked(true);
+
+ QSlider *axisLabelRotationSlider = new QSlider(Qt::Horizontal, widget);
+ axisLabelRotationSlider->setTickInterval(10);
+ axisLabelRotationSlider->setTickPosition(QSlider::TicksBelow);
+ axisLabelRotationSlider->setMinimum(0);
+ axisLabelRotationSlider->setValue(0);
+ axisLabelRotationSlider->setMaximum(90);
+
vLayout->addWidget(themeButton, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
@@ -276,9 +291,13 @@ int main(int argc, char **argv)
vLayout2->addWidget(new QLabel(QStringLiteral("Change font")));
vLayout2->addWidget(fontList);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust font size")));
- vLayout2->addWidget(fontSizeSlider, 0, Qt::AlignTop);
+ vLayout2->addWidget(fontSizeSlider);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust aspect ratio")));
vLayout2->addWidget(aspectRatioSlider, 1, Qt::AlignTop);
+ vLayout2->addWidget(axisTitlesVisibleCB);
+ vLayout2->addWidget(axisTitlesFixedCB);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
+ vLayout2->addWidget(axisLabelRotationSlider, 1, Qt::AlignTop);
widget->show();
@@ -366,7 +385,12 @@ int main(int argc, char **argv)
&ScatterDataModifier::setMaxY);
QObject::connect(maxSliderZ, &QSlider::valueChanged, modifier,
&ScatterDataModifier::setMaxZ);
-
+ QObject::connect(axisTitlesVisibleCB, &QCheckBox::stateChanged, modifier,
+ &ScatterDataModifier::toggleAxisTitleVisibility);
+ QObject::connect(axisTitlesFixedCB, &QCheckBox::stateChanged, modifier,
+ &ScatterDataModifier::toggleAxisTitleFixed);
+ QObject::connect(axisLabelRotationSlider, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::changeLabelRotation);
QObject::connect(aspectRatioSlider, &QSlider::valueChanged, modifier,
&ScatterDataModifier::setAspectRatio);
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index 3f900909..dce73e61 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -478,9 +478,9 @@ void ScatterDataModifier::testAxisReverse()
void ScatterDataModifier::addData()
{
// Add labels
- m_chart->axisX()->setTitle("X");
- m_chart->axisY()->setTitle("Y");
- m_chart->axisZ()->setTitle("Z");
+ m_chart->axisX()->setTitle("X - Axis");
+ m_chart->axisY()->setTitle("Y - Axis");
+ m_chart->axisZ()->setTitle("Z - Axis");
m_chart->axisX()->setRange(-50.0f, 50.0f);
m_chart->axisY()->setRange(-1.0f, 1.2f);
m_chart->axisZ()->setRange(-50.0f, 50.0f);
@@ -921,6 +921,27 @@ void ScatterDataModifier::handleFpsChange(qreal fps)
m_fpsLabel->setText(fpsPrefix + QString::number(qRound(fps)));
}
+void ScatterDataModifier::changeLabelRotation(int rotation)
+{
+ m_chart->axisX()->setLabelAutoRotation(float(rotation));
+ m_chart->axisY()->setLabelAutoRotation(float(rotation));
+ m_chart->axisZ()->setLabelAutoRotation(float(rotation));
+}
+
+void ScatterDataModifier::toggleAxisTitleVisibility(bool enabled)
+{
+ m_chart->axisX()->setTitleVisible(enabled);
+ m_chart->axisY()->setTitleVisible(enabled);
+ m_chart->axisZ()->setTitleVisible(enabled);
+}
+
+void ScatterDataModifier::toggleAxisTitleFixed(bool enabled)
+{
+ m_chart->axisX()->setTitleFixed(enabled);
+ m_chart->axisY()->setTitleFixed(enabled);
+ m_chart->axisZ()->setTitleFixed(enabled);
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QAbstract3DGraph::ShadowQuality sq = QAbstract3DGraph::ShadowQuality(quality);
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index 34826aba..420c68e3 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -85,11 +85,13 @@ public slots:
void removeSeries();
void toggleSeriesVisibility();
void changeSeriesName();
-
void handleAxisXChanged(QValue3DAxis *axis);
void handleAxisYChanged(QValue3DAxis *axis);
void handleAxisZChanged(QValue3DAxis *axis);
void handleFpsChange(qreal fps);
+ void changeLabelRotation(int rotation);
+ void toggleAxisTitleVisibility(bool enabled);
+ void toggleAxisTitleFixed(bool enabled);
signals:
void shadowQualityChanged(int quality);
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index 442e7742..13cf9fad 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -700,6 +700,27 @@ void GraphModifier::handleFpsChange(qreal fps)
qDebug() << "FPS:" << fps;
}
+void GraphModifier::changeLabelRotation(int rotation)
+{
+ m_graph->axisX()->setLabelAutoRotation(float(rotation));
+ m_graph->axisY()->setLabelAutoRotation(float(rotation));
+ m_graph->axisZ()->setLabelAutoRotation(float(rotation));
+}
+
+void GraphModifier::toggleAxisTitleVisibility(bool enabled)
+{
+ m_graph->axisX()->setTitleVisible(enabled);
+ m_graph->axisY()->setTitleVisible(enabled);
+ m_graph->axisZ()->setTitleVisible(enabled);
+}
+
+void GraphModifier::toggleAxisTitleFixed(bool enabled)
+{
+ m_graph->axisX()->setTitleFixed(enabled);
+ m_graph->axisY()->setTitleFixed(enabled);
+ m_graph->axisZ()->setTitleFixed(enabled);
+}
+
void GraphModifier::resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX, float maxX)
{
m_axisMinSliderX->setValue(minX);
diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h
index ff0b325e..1cf13b97 100644
--- a/tests/surfacetest/graphmodifier.h
+++ b/tests/surfacetest/graphmodifier.h
@@ -126,6 +126,9 @@ public slots:
void handleAxisYChanged(QValue3DAxis *axis);
void handleAxisZChanged(QValue3DAxis *axis);
void handleFpsChange(qreal fps);
+ void changeLabelRotation(int rotation);
+ void toggleAxisTitleVisibility(bool enabled);
+ void toggleAxisTitleFixed(bool enabled);
private:
void fillSeries();
diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp
index 7444a66a..0b146678 100644
--- a/tests/surfacetest/main.cpp
+++ b/tests/surfacetest/main.cpp
@@ -370,6 +370,21 @@ int main(int argc, char *argv[])
line3->setFrameShape(QFrame::HLine);
line3->setFrameShadow(QFrame::Sunken);
+ QCheckBox *axisTitlesVisibleCB = new QCheckBox(widget);
+ axisTitlesVisibleCB->setText(QStringLiteral("Axis titles visible"));
+ axisTitlesVisibleCB->setChecked(false);
+
+ QCheckBox *axisTitlesFixedCB = new QCheckBox(widget);
+ axisTitlesFixedCB->setText(QStringLiteral("Axis titles fixed"));
+ axisTitlesFixedCB->setChecked(true);
+
+ QSlider *axisLabelRotationSlider = new QSlider(Qt::Horizontal, widget);
+ axisLabelRotationSlider->setTickInterval(10);
+ axisLabelRotationSlider->setTickPosition(QSlider::TicksBelow);
+ axisLabelRotationSlider->setMinimum(0);
+ axisLabelRotationSlider->setValue(0);
+ axisLabelRotationSlider->setMaximum(90);
+
// Add controls to the layout
#ifdef MULTI_SERIES
vLayout->addWidget(series1CB);
@@ -450,6 +465,10 @@ int main(int argc, char *argv[])
vLayout2->addWidget(massiveDataTestButton);
vLayout2->addWidget(testReverseButton);
vLayout2->addWidget(testDataOrderingButton);
+ vLayout2->addWidget(axisTitlesVisibleCB);
+ vLayout2->addWidget(axisTitlesFixedCB);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
+ vLayout2->addWidget(axisLabelRotationSlider, 1, Qt::AlignTop);
widget->show();
@@ -611,6 +630,12 @@ int main(int argc, char *argv[])
modifier, &GraphModifier::testAxisReverse);
QObject::connect(testDataOrderingButton, &QPushButton::clicked,
modifier, &GraphModifier::testDataOrdering);
+ QObject::connect(axisTitlesVisibleCB, &QCheckBox::stateChanged,
+ modifier, &GraphModifier::toggleAxisTitleVisibility);
+ QObject::connect(axisTitlesFixedCB, &QCheckBox::stateChanged,
+ modifier, &GraphModifier::toggleAxisTitleFixed);
+ QObject::connect(axisLabelRotationSlider, &QSlider::valueChanged, modifier,
+ &GraphModifier::changeLabelRotation);
QObject::connect(aspectRatioSlider, &QSlider::valueChanged,
modifier, &GraphModifier::setAspectRatio);