diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-05-23 16:06:28 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-05-27 10:23:53 +0300 |
commit | d9cb05d0f46efc58e508c233a3c67542a4c177fa (patch) | |
tree | 326badf5c83c5fac683e84819de902d88cd534ee /tests/surfacetest | |
parent | 1da51fd24458710d6b740feaba73c21fe2b1273a (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/surfacetest')
-rw-r--r-- | tests/surfacetest/graphmodifier.cpp | 21 | ||||
-rw-r--r-- | tests/surfacetest/graphmodifier.h | 3 | ||||
-rw-r--r-- | tests/surfacetest/main.cpp | 25 |
3 files changed, 49 insertions, 0 deletions
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); |