summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-06 09:52:24 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-08 08:37:17 +0300
commit8ff45fe94c3f3f6916f8f673c3ce0b574a69cfdf (patch)
tree8a085097595201ad14a0afcdd794f75feb365e89 /tests
parentd6c1aadb3ee366ce8fd40da43fb65128ab3b2d44 (diff)
Value axis reversing support
Task-number: QTRD-2428 Change-Id: I51b3a1f8f974d5b72b36ee1188b7557539b9609b Reviewed-by: Titta Heikkala <titta.heikkala@digia.com> Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/barstest/chart.cpp5
-rw-r--r--tests/barstest/chart.h1
-rw-r--r--tests/barstest/main.cpp7
-rw-r--r--tests/scattertest/main.cpp8
-rw-r--r--tests/scattertest/scatterchart.cpp80
-rw-r--r--tests/scattertest/scatterchart.h3
-rw-r--r--tests/surfacetest/graphmodifier.cpp83
-rw-r--r--tests/surfacetest/graphmodifier.h3
-rw-r--r--tests/surfacetest/main.cpp8
9 files changed, 196 insertions, 2 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index 9bf21cbd..4e5c8976 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -1400,6 +1400,11 @@ void GraphModifier::testItemAndRowChanges()
counter++;
}
+void GraphModifier::reverseValueAxis(int enabled)
+{
+ m_graph->valueAxis()->setReversed(enabled);
+}
+
void GraphModifier::changeValueAxisSegments(int value)
{
qDebug() << __FUNCTION__ << value;
diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h
index 385e139c..47d29c25 100644
--- a/tests/barstest/chart.h
+++ b/tests/barstest/chart.h
@@ -93,6 +93,7 @@ public:
void setFpsLabel(QLabel *fpsLabel) { m_fpsLabel = fpsLabel; }
void addRemoveSeries();
void testItemAndRowChanges();
+ void reverseValueAxis(int enabled);
public slots:
void flipViews();
diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp
index 1182ffdf..5ecf63a4 100644
--- a/tests/barstest/main.cpp
+++ b/tests/barstest/main.cpp
@@ -201,6 +201,10 @@ int main(int argc, char **argv)
fpsCheckBox->setText(QStringLiteral("Measure Fps"));
fpsCheckBox->setChecked(false);
+ QCheckBox *reverseValueAxisCheckBox = new QCheckBox(widget);
+ reverseValueAxisCheckBox->setText(QStringLiteral("Reverse value axis"));
+ reverseValueAxisCheckBox->setChecked(false);
+
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
backgroundCheckBox->setChecked(true);
@@ -364,6 +368,7 @@ int main(int argc, char **argv)
vLayout2->addWidget(maxSliderY, 0, Qt::AlignTop);
vLayout2->addWidget(fpsLabel, 0, Qt::AlignTop);
vLayout2->addWidget(fpsCheckBox, 0, Qt::AlignTop);
+ vLayout2->addWidget(reverseValueAxisCheckBox, 0, Qt::AlignTop);
vLayout2->addWidget(backgroundCheckBox, 0, Qt::AlignTop);
vLayout2->addWidget(gridCheckBox, 0, Qt::AlignTop);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")), 0, Qt::AlignTop);
@@ -477,6 +482,8 @@ int main(int argc, char **argv)
QObject::connect(fpsCheckBox, &QCheckBox::stateChanged, modifier,
&GraphModifier::setFpsMeasurement);
+ QObject::connect(reverseValueAxisCheckBox, &QCheckBox::stateChanged, modifier,
+ &GraphModifier::reverseValueAxis);
QObject::connect(backgroundCheckBox, &QCheckBox::stateChanged, modifier,
&GraphModifier::setBackgroundEnabled);
QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier,
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index 82d025aa..b0e52c8c 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -126,6 +126,9 @@ int main(int argc, char **argv)
QPushButton *testItemChangesButton = new QPushButton(widget);
testItemChangesButton->setText(QStringLiteral("Test Item changing"));
+ QPushButton *testReverseButton = new QPushButton(widget);
+ testReverseButton->setText(QStringLiteral("Test Axis Reversing"));
+
QLinearGradient grBtoY(0, 0, 100, 0);
grBtoY.setColorAt(1.0, Qt::black);
grBtoY.setColorAt(0.67, Qt::blue);
@@ -242,7 +245,8 @@ int main(int argc, char **argv)
vLayout->addWidget(changeSeriesNameButton, 0, Qt::AlignTop);
vLayout->addWidget(startTimerButton, 0, Qt::AlignTop);
vLayout->addWidget(massiveDataTestButton, 0, Qt::AlignTop);
- vLayout->addWidget(testItemChangesButton, 1, Qt::AlignTop);
+ vLayout->addWidget(testItemChangesButton, 0, Qt::AlignTop);
+ vLayout->addWidget(testReverseButton, 1, Qt::AlignTop);
vLayout2->addWidget(gradientBtoYPB, 0, Qt::AlignTop);
vLayout2->addWidget(fpsLabel, 0, Qt::AlignTop);
@@ -316,6 +320,8 @@ int main(int argc, char **argv)
&ScatterDataModifier::massiveDataTest);
QObject::connect(testItemChangesButton, &QPushButton::clicked, modifier,
&ScatterDataModifier::testItemChanges);
+ QObject::connect(testReverseButton, &QPushButton::clicked, modifier,
+ &ScatterDataModifier::testAxisReverse);
QObject::connect(gradientBtoYPB, &QPushButton::clicked, modifier,
&ScatterDataModifier::setGradient);
QObject::connect(themeButton, &QPushButton::clicked, modifier,
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index 13a0f040..430279c3 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -411,6 +411,70 @@ void ScatterDataModifier::testItemChanges()
counter++;
}
+void ScatterDataModifier::testAxisReverse()
+{
+ static int counter = 0;
+ const int rowCount = 16;
+ const int colCount = 16;
+ static QScatter3DSeries *series0 = 0;
+ static QScatter3DSeries *series1 = 0;
+
+ switch (counter) {
+ case 0: {
+ qDebug() << __FUNCTION__ << counter << "Setup test";
+ foreach (QScatter3DSeries *series, m_chart->seriesList())
+ m_chart->removeSeries(series);
+ foreach (QValue3DAxis *axis, m_chart->axes())
+ m_chart->releaseAxis(axis);
+ delete series0;
+ delete series1;
+ series0 = new QScatter3DSeries;
+ series1 = new QScatter3DSeries;
+ populateRisingSeries(series0, rowCount, colCount, 0.0f, 50.0f);
+ populateRisingSeries(series1, rowCount, colCount, -20.0f, 30.0f);
+ m_chart->axisX()->setRange(0.0f, 10.0f);
+ m_chart->axisY()->setRange(-20.0f, 50.0f);
+ m_chart->axisZ()->setRange(5.0f, 15.0f);
+ m_chart->addSeries(series0);
+ m_chart->addSeries(series1);
+ }
+ break;
+ case 1: {
+ qDebug() << __FUNCTION__ << counter << "Reverse X axis";
+ m_chart->axisX()->setReversed(true);
+ }
+ break;
+ case 2: {
+ qDebug() << __FUNCTION__ << counter << "Reverse Y axis";
+ m_chart->axisY()->setReversed(true);
+ }
+ break;
+ case 3: {
+ qDebug() << __FUNCTION__ << counter << "Reverse Z axis";
+ m_chart->axisZ()->setReversed(true);
+ }
+ break;
+ case 4: {
+ qDebug() << __FUNCTION__ << counter << "Return all axes to normal";
+ m_chart->axisX()->setReversed(false);
+ m_chart->axisY()->setReversed(false);
+ m_chart->axisZ()->setReversed(false);
+ }
+ break;
+ case 5: {
+ qDebug() << __FUNCTION__ << counter << "Reverse all axes";
+ m_chart->axisX()->setReversed(true);
+ m_chart->axisY()->setReversed(true);
+ m_chart->axisZ()->setReversed(true);
+ }
+ break;
+ default:
+ qDebug() << __FUNCTION__ << "Resetting test";
+ counter = -1;
+ }
+ counter++;
+}
+
void ScatterDataModifier::addData()
{
// Add labels
@@ -950,3 +1014,19 @@ void ScatterDataModifier::populateFlatSeries(QScatter3DSeries *series, int rows,
}
series->dataProxy()->resetArray(dataArray);
}
+
+void ScatterDataModifier::populateRisingSeries(QScatter3DSeries *series, int rows, int columns,
+ float minValue, float maxValue)
+{
+ QScatterDataArray *dataArray = new QScatterDataArray;
+ int arraySize = rows * columns;
+ dataArray->resize(arraySize);
+ float range = maxValue - minValue;
+ for (int i = 0; i < rows; i++) {
+ for (int j = 0; j < columns; j++) {
+ float yValue = minValue + (range * i * j / arraySize);
+ (*dataArray)[i * columns + j].setPosition(QVector3D(float(i), yValue, float(j)));
+ }
+ }
+ series->dataProxy()->resetArray(dataArray);
+}
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index f239cb73..977e1201 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -59,6 +59,7 @@ public:
void setFpsMeasurement(bool enable);
void setFpsLabel(QLabel *fpsLabel) { m_fpsLabel = fpsLabel; }
void testItemChanges();
+ void testAxisReverse();
public slots:
void changeShadowQuality(int quality);
@@ -96,6 +97,8 @@ private:
QVector3D randVector();
QScatter3DSeries *createAndAddSeries();
void populateFlatSeries(QScatter3DSeries *series, int rows, int columns, float value);
+ void populateRisingSeries(QScatter3DSeries *series, int rows, int columns, float minValue,
+ float maxValue);
Q3DScatter *m_chart;
int m_fontSize;
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index 0f3aa985..6dd20de7 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -781,6 +781,25 @@ QSurfaceDataRow *GraphModifier::createMultiRow(int row, int series, bool change)
return newRow;
}
+void GraphModifier::populateRisingSeries(QSurface3DSeries *series, int rows, int columns,
+ float minValue, float maxValue)
+{
+ QSurfaceDataArray *dataArray = new QSurfaceDataArray;
+ dataArray->reserve(rows);
+ float range = maxValue - minValue;
+ int arraySize = rows * columns;
+ for (int i = 0; i < rows; i++) {
+ QSurfaceDataRow *dataRow = new QSurfaceDataRow(columns);
+ for (int j = 0; j < columns; j++) {
+ float yValue = minValue + (range * i * j / arraySize);
+ (*dataRow)[j].setPosition(QVector3D(float(j), yValue, float(i)));
+ }
+ dataArray->append(dataRow);
+ }
+ series->dataProxy()->resetArray(dataArray);
+
+}
+
void GraphModifier::changeRows()
{
if (m_activeSample == GraphModifier::SqrtSin) {
@@ -1278,6 +1297,70 @@ void GraphModifier::massiveTestAppendAndScroll()
m_graph->axisZ()->setRange(min, max);
}
+void GraphModifier::testAxisReverse()
+{
+ static int counter = 0;
+ const int rowCount = 16;
+ const int colCount = 16;
+ static QSurface3DSeries *series0 = 0;
+ static QSurface3DSeries *series1 = 0;
+
+ switch (counter) {
+ case 0: {
+ qDebug() << __FUNCTION__ << counter << "Setup test";
+ foreach (QSurface3DSeries *series, m_graph->seriesList())
+ m_graph->removeSeries(series);
+ foreach (QValue3DAxis *axis, m_graph->axes())
+ m_graph->releaseAxis(axis);
+ delete series0;
+ delete series1;
+ series0 = new QSurface3DSeries;
+ series1 = new QSurface3DSeries;
+ populateRisingSeries(series0, rowCount, colCount, 0.0f, 50.0f);
+ populateRisingSeries(series1, rowCount, colCount, -20.0f, 30.0f);
+ m_graph->axisX()->setRange(0.0f, 10.0f);
+ m_graph->axisY()->setRange(-20.0f, 50.0f);
+ m_graph->axisZ()->setRange(5.0f, 15.0f);
+ m_graph->addSeries(series0);
+ m_graph->addSeries(series1);
+ }
+ break;
+ case 1: {
+ qDebug() << __FUNCTION__ << counter << "Reverse X axis";
+ m_graph->axisX()->setReversed(true);
+ }
+ break;
+ case 2: {
+ qDebug() << __FUNCTION__ << counter << "Reverse Y axis";
+ m_graph->axisY()->setReversed(true);
+ }
+ break;
+ case 3: {
+ qDebug() << __FUNCTION__ << counter << "Reverse Z axis";
+ m_graph->axisZ()->setReversed(true);
+ }
+ break;
+ case 4: {
+ qDebug() << __FUNCTION__ << counter << "Return all axes to normal";
+ m_graph->axisX()->setReversed(false);
+ m_graph->axisY()->setReversed(false);
+ m_graph->axisZ()->setReversed(false);
+ }
+ break;
+ case 5: {
+ qDebug() << __FUNCTION__ << counter << "Reverse all axes";
+ m_graph->axisX()->setReversed(true);
+ m_graph->axisY()->setReversed(true);
+ m_graph->axisZ()->setReversed(true);
+ }
+ break;
+ default:
+ qDebug() << __FUNCTION__ << "Resetting test";
+ counter = -1;
+ }
+ counter++;
+}
+
void GraphModifier::changeMesh()
{
static int model = 0;
diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h
index f79055df..f3e95a1b 100644
--- a/tests/surfacetest/graphmodifier.h
+++ b/tests/surfacetest/graphmodifier.h
@@ -110,6 +110,7 @@ public:
void massiveDataTest();
void massiveTestScroll();
void massiveTestAppendAndScroll();
+ void testAxisReverse();
public slots:
void changeShadowQuality(int quality);
@@ -128,6 +129,8 @@ private:
void resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX,
float maxX);
QSurfaceDataRow *createMultiRow(int row, int series, bool change);
+ void populateRisingSeries(QSurface3DSeries *series, int rows, int columns, float minValue,
+ float maxValue);
Q3DSurface *m_graph;
QSurface3DSeries *m_multiseries[4];
diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp
index aa300207..8371e2cf 100644
--- a/tests/surfacetest/main.cpp
+++ b/tests/surfacetest/main.cpp
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
surfaceGraph->activeTheme()->setType(Q3DTheme::Theme(initialTheme));
QWidget *container = QWidget::createWindowContainer(surfaceGraph);
- container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));
+ container->setMinimumSize(QSize(screenSize.width() / 4, screenSize.height() / 4));
container->setMaximumSize(screenSize);
container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
container->setFocusPolicy(Qt::StrongFocus);
@@ -347,6 +347,9 @@ int main(int argc, char *argv[])
QPushButton *massiveDataTestButton = new QPushButton(widget);
massiveDataTestButton->setText(QStringLiteral("Massive data test"));
+ QPushButton *testReverseButton = new QPushButton(widget);
+ testReverseButton->setText(QStringLiteral("Test Axis Reversing"));
+
QFrame* line = new QFrame();
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);
@@ -435,6 +438,7 @@ int main(int argc, char *argv[])
vLayout2->addWidget(resetArrayButton);
vLayout2->addWidget(resetArrayEmptyButton);
vLayout2->addWidget(massiveDataTestButton);
+ vLayout2->addWidget(testReverseButton);
widget->show();
@@ -592,6 +596,8 @@ int main(int argc, char *argv[])
modifier, &GraphModifier::resetArrayEmpty);
QObject::connect(massiveDataTestButton,&QPushButton::clicked,
modifier, &GraphModifier::massiveDataTest);
+ QObject::connect(testReverseButton, &QPushButton::clicked,
+ modifier, &GraphModifier::testAxisReverse);
#ifdef MULTI_SERIES
modifier->setSeries1CB(series1CB);