From a1293a58e0909d56e34654549ba719bacfdda1bb Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 30 Jun 2014 10:33:33 +0300 Subject: Added horizontal aspect ratio property for abstract graphs Value 0.0 indicates automatic scaling (the default). Task-number: QTRD-3192 Change-Id: I5e4cc1b7a03c0ba811e2ed3916a440906429af57 Reviewed-by: Mika Salmela --- tests/scattertest/main.cpp | 15 +++++++++++++-- tests/scattertest/scatterchart.cpp | 8 +++++++- tests/scattertest/scatterchart.h | 1 + tests/surfacetest/graphmodifier.cpp | 8 +++++++- tests/surfacetest/graphmodifier.h | 1 + tests/surfacetest/main.cpp | 11 ++++++++++- 6 files changed, 39 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp index 53e94083..55515cb0 100644 --- a/tests/scattertest/main.cpp +++ b/tests/scattertest/main.cpp @@ -235,6 +235,13 @@ int main(int argc, char **argv) aspectRatioSlider->setValue(20); aspectRatioSlider->setMaximum(100); + QSlider *horizontalAspectRatioSlider = new QSlider(Qt::Horizontal, widget); + horizontalAspectRatioSlider->setTickInterval(30); + horizontalAspectRatioSlider->setTickPosition(QSlider::TicksBelow); + horizontalAspectRatioSlider->setMinimum(0); + horizontalAspectRatioSlider->setValue(0); + horizontalAspectRatioSlider->setMaximum(300); + QCheckBox *optimizationStaticCB = new QCheckBox(widget); optimizationStaticCB->setText(QStringLiteral("Static optimization")); optimizationStaticCB->setChecked(false); @@ -315,8 +322,10 @@ int main(int argc, char **argv) vLayout2->addWidget(fontList); vLayout2->addWidget(new QLabel(QStringLiteral("Adjust font size"))); vLayout2->addWidget(fontSizeSlider); - vLayout2->addWidget(new QLabel(QStringLiteral("Adjust aspect ratio"))); - vLayout2->addWidget(aspectRatioSlider, 1, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust vertical aspect ratio"))); + vLayout2->addWidget(aspectRatioSlider); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio"))); + vLayout2->addWidget(horizontalAspectRatioSlider, 1, Qt::AlignTop); vLayout2->addWidget(optimizationStaticCB); vLayout2->addWidget(orthoCB); vLayout2->addWidget(polarCB); @@ -427,6 +436,8 @@ int main(int argc, char **argv) &ScatterDataModifier::changeLabelRotation); QObject::connect(aspectRatioSlider, &QSlider::valueChanged, modifier, &ScatterDataModifier::setAspectRatio); + QObject::connect(horizontalAspectRatioSlider, &QSlider::valueChanged, modifier, + &ScatterDataModifier::setHorizontalAspectRatio); QObject::connect(radialLabelSlider, &QSlider::valueChanged, modifier, &ScatterDataModifier::changeRadialLabelOffset); diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp index 5a0a5976..5db772b5 100644 --- a/tests/scattertest/scatterchart.cpp +++ b/tests/scattertest/scatterchart.cpp @@ -1042,10 +1042,16 @@ void ScatterDataModifier::setMaxZ(int max) void ScatterDataModifier::setAspectRatio(int ratio) { - float aspectRatio = float(ratio) / 10.0f; + qreal aspectRatio = qreal(ratio) / 10.0; m_chart->setAspectRatio(aspectRatio); } +void ScatterDataModifier::setHorizontalAspectRatio(int ratio) +{ + qreal aspectRatio = qreal(ratio) / 100.0; + m_chart->setHorizontalAspectRatio(aspectRatio); +} + QVector3D ScatterDataModifier::randVector() { QVector3D retvec = QVector3D( diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h index e2e979f3..df2494b6 100644 --- a/tests/scattertest/scatterchart.h +++ b/tests/scattertest/scatterchart.h @@ -53,6 +53,7 @@ public: void setMaxY(int max); void setMaxZ(int max); void setAspectRatio(int ratio); + void setHorizontalAspectRatio(int ratio); void start(); void massiveDataTest(); void massiveTestScroll(); diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp index 56cd23cc..1f5a2f8f 100644 --- a/tests/surfacetest/graphmodifier.cpp +++ b/tests/surfacetest/graphmodifier.cpp @@ -1574,6 +1574,12 @@ void GraphModifier::updateSamples() void GraphModifier::setAspectRatio(int ratio) { - float aspectRatio = float(ratio) / 10.0f; + qreal aspectRatio = qreal(ratio) / 10.0; m_graph->setAspectRatio(aspectRatio); } + +void GraphModifier::setHorizontalAspectRatio(int ratio) +{ + qreal aspectRatio = qreal(ratio) / 100.0; + m_graph->setHorizontalAspectRatio(aspectRatio); +} diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h index e70d35f2..f472c1ec 100644 --- a/tests/surfacetest/graphmodifier.h +++ b/tests/surfacetest/graphmodifier.h @@ -114,6 +114,7 @@ public: void testDataOrdering(); void setAspectRatio(int ratio); + void setHorizontalAspectRatio(int ratio); public slots: void changeShadowQuality(int quality); diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp index 87f009cb..95d4637e 100644 --- a/tests/surfacetest/main.cpp +++ b/tests/surfacetest/main.cpp @@ -223,6 +223,11 @@ int main(int argc, char *argv[]) aspectRatioSlider->setValue(20); aspectRatioSlider->setMaximum(100); + QSlider *horizontalAspectRatioSlider = new QSlider(Qt::Horizontal, widget); + horizontalAspectRatioSlider->setMinimum(0); + horizontalAspectRatioSlider->setValue(0); + horizontalAspectRatioSlider->setMaximum(300); + QLinearGradient gr(0, 0, 100, 1); gr.setColorAt(0.0, Qt::black); gr.setColorAt(0.33, Qt::blue); @@ -435,8 +440,10 @@ int main(int argc, char *argv[]) vLayout->addWidget(gridSliderX); vLayout->addWidget(gridSliderZ); #endif - vLayout->addWidget(new QLabel(QStringLiteral("Adjust aspect ratio"))); + vLayout->addWidget(new QLabel(QStringLiteral("Adjust vertical aspect ratio"))); vLayout->addWidget(aspectRatioSlider); + vLayout->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio"))); + vLayout->addWidget(horizontalAspectRatioSlider); vLayout->addWidget(new QLabel(QStringLiteral("Adjust axis range"))); vLayout->addWidget(axisRangeSliderX); vLayout->addWidget(axisRangeSliderY); @@ -660,6 +667,8 @@ int main(int argc, char *argv[]) QObject::connect(aspectRatioSlider, &QSlider::valueChanged, modifier, &GraphModifier::setAspectRatio); + QObject::connect(horizontalAspectRatioSlider, &QSlider::valueChanged, + modifier, &GraphModifier::setHorizontalAspectRatio); #ifdef MULTI_SERIES modifier->setSeries1CB(series1CB); -- cgit v1.2.3