summaryrefslogtreecommitdiffstats
path: root/tests/scattertest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scattertest')
-rw-r--r--tests/scattertest/main.cpp80
-rw-r--r--tests/scattertest/scatterchart.cpp53
-rw-r--r--tests/scattertest/scatterchart.h6
3 files changed, 127 insertions, 12 deletions
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index 30382ca5..fbe257f5 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -40,6 +40,7 @@ int main(int argc, char **argv)
QWidget *widget = new QWidget;
QHBoxLayout *hLayout = new QHBoxLayout(widget);
QVBoxLayout *vLayout = new QVBoxLayout();
+ QVBoxLayout *vLayout2 = new QVBoxLayout();
Q3DScatter *chart = new Q3DScatter();
QSize screenSize = chart->screen()->size();
@@ -54,6 +55,7 @@ int main(int argc, char **argv)
hLayout->addWidget(container, 1);
hLayout->addLayout(vLayout);
+ hLayout->addLayout(vLayout2);
QPushButton *themeButton = new QPushButton(widget);
themeButton->setText(QStringLiteral("Change theme"));
@@ -161,6 +163,48 @@ int main(int argc, char **argv)
pointSizeSlider->setValue(30);
pointSizeSlider->setMaximum(100);
+ QSlider *minSliderX = new QSlider(Qt::Horizontal, widget);
+ minSliderX->setTickInterval(1);
+ minSliderX->setTickPosition(QSlider::TicksBelow);
+ minSliderX->setMinimum(-100);
+ minSliderX->setValue(-50);
+ minSliderX->setMaximum(100);
+
+ QSlider *minSliderY = new QSlider(Qt::Horizontal, widget);
+ minSliderY->setTickInterval(1);
+ minSliderY->setTickPosition(QSlider::TicksBelow);
+ minSliderY->setMinimum(-200);
+ minSliderY->setValue(-100);
+ minSliderY->setMaximum(200);
+
+ QSlider *minSliderZ = new QSlider(Qt::Horizontal, widget);
+ minSliderZ->setTickInterval(1);
+ minSliderZ->setTickPosition(QSlider::TicksBelow);
+ minSliderZ->setMinimum(-100);
+ minSliderZ->setValue(-50);
+ minSliderZ->setMaximum(100);
+
+ QSlider *maxSliderX = new QSlider(Qt::Horizontal, widget);
+ maxSliderX->setTickInterval(1);
+ maxSliderX->setTickPosition(QSlider::TicksAbove);
+ maxSliderX->setMinimum(-100);
+ maxSliderX->setValue(50);
+ maxSliderX->setMaximum(100);
+
+ QSlider *maxSliderY = new QSlider(Qt::Horizontal, widget);
+ maxSliderY->setTickInterval(1);
+ maxSliderY->setTickPosition(QSlider::TicksAbove);
+ maxSliderY->setMinimum(-200);
+ maxSliderY->setValue(120);
+ maxSliderY->setMaximum(200);
+
+ QSlider *maxSliderZ = new QSlider(Qt::Horizontal, widget);
+ maxSliderZ->setTickInterval(1);
+ maxSliderZ->setTickPosition(QSlider::TicksAbove);
+ maxSliderZ->setMinimum(-100);
+ maxSliderZ->setValue(50);
+ maxSliderZ->setMaximum(100);
+
vLayout->addWidget(themeButton, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
@@ -185,13 +229,21 @@ int main(int argc, char **argv)
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
- vLayout->addWidget(shadowQuality);
- vLayout->addWidget(new QLabel(QStringLiteral("Change font")));
- vLayout->addWidget(fontList);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust font size")));
- vLayout->addWidget(fontSizeSlider, 1, Qt::AlignTop);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust point size")));
- vLayout->addWidget(pointSizeSlider, 1, Qt::AlignTop);
+ vLayout->addWidget(shadowQuality, 1, Qt::AlignTop);
+
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust point size")));
+ vLayout2->addWidget(pointSizeSlider, 0, Qt::AlignTop);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust data window")));
+ vLayout2->addWidget(minSliderX, 0, Qt::AlignTop);
+ vLayout2->addWidget(maxSliderX, 0, Qt::AlignTop);
+ vLayout2->addWidget(minSliderY, 0, Qt::AlignTop);
+ vLayout2->addWidget(maxSliderY, 0, Qt::AlignTop);
+ vLayout2->addWidget(minSliderZ, 0, Qt::AlignTop);
+ vLayout2->addWidget(maxSliderZ, 0, Qt::AlignTop);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Change font")));
+ vLayout2->addWidget(fontList);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust font size")));
+ vLayout2->addWidget(fontSizeSlider, 1, Qt::AlignTop);
widget->show();
@@ -257,6 +309,20 @@ int main(int argc, char **argv)
QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier,
&ScatterDataModifier::setGridEnabled);
+ QObject::connect(minSliderX, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMinX);
+ QObject::connect(minSliderY, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMinY);
+ QObject::connect(minSliderZ, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMinZ);
+ QObject::connect(maxSliderX, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMaxX);
+ QObject::connect(maxSliderY, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMaxY);
+ QObject::connect(maxSliderZ, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setMaxZ);
+
+
modifier->start();
return app.exec();
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index aa0c5454..a589919f 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -83,6 +83,12 @@ 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->axisY()->setSegmentCount(4);
+ m_chart->axisZ()->setSegmentCount(9);
+ m_chart->axisX()->setSubSegmentCount(2);
+ m_chart->axisY()->setSubSegmentCount(3);
+ m_chart->axisZ()->setSubSegmentCount(1);
QScatterDataArray *dataArray = new QScatterDataArray;
dataArray->resize(numberOfItems);
@@ -229,9 +235,12 @@ void ScatterDataModifier::resetAxes()
m_chart->setAxisX(new QValue3DAxis);
m_chart->setAxisY(new QValue3DAxis);
m_chart->setAxisZ(new QValue3DAxis);
- m_chart->axisX()->setSegmentCount(5);
- m_chart->axisY()->setSegmentCount(5);
- m_chart->axisZ()->setSegmentCount(5);
+ m_chart->axisX()->setSegmentCount(6);
+ m_chart->axisY()->setSegmentCount(4);
+ m_chart->axisZ()->setSegmentCount(9);
+ m_chart->axisX()->setSubSegmentCount(2);
+ m_chart->axisY()->setSubSegmentCount(3);
+ m_chart->axisZ()->setSubSegmentCount(1);
m_chart->axisX()->setTitle("X");
m_chart->axisY()->setTitle("Y");
m_chart->axisZ()->setTitle("Z");
@@ -516,12 +525,46 @@ void ScatterDataModifier::setGridEnabled(int enabled)
m_chart->activeTheme()->setGridEnabled((bool)enabled);
}
+void ScatterDataModifier::setMinX(int min)
+{
+ m_chart->axisX()->setMin(min);
+}
+
+void ScatterDataModifier::setMinY(int min)
+{
+ m_chart->axisY()->setMin(float(min) / 100.0f);
+}
+
+void ScatterDataModifier::setMinZ(int min)
+{
+ m_chart->axisZ()->setMin(min);
+}
+
+void ScatterDataModifier::setMaxX(int max)
+{
+ m_chart->axisX()->setMax(max);
+}
+
+void ScatterDataModifier::setMaxY(int max)
+{
+ m_chart->axisY()->setMax(float(max) / 100.0f);
+}
+
+void ScatterDataModifier::setMaxZ(int max)
+{
+ m_chart->axisZ()->setMax(max);
+}
+
QVector3D ScatterDataModifier::randVector()
{
- return QVector3D(
+ QVector3D retvec = QVector3D(
(float)(rand() % 100) / 2.0f - (float)(rand() % 100) / 2.0f,
(float)(rand() % 100) / 100.0f - (float)(rand() % 100) / 100.0f,
(float)(rand() % 100) / 2.0f - (float)(rand() % 100) / 2.0f);
+
+ qDebug() << __FUNCTION__ << retvec;
+
+ return retvec;
}
QScatter3DSeries *ScatterDataModifier::createAndAddSeries()
@@ -535,7 +578,7 @@ QScatter3DSeries *ScatterDataModifier::createAndAddSeries()
m_chart->addSeries(series);
series->setName(QString("Series %1").arg(counter++));
- series->setItemLabelFormat(QStringLiteral("@seriesName: @xLabel - @yLabel - @zLabel"));
+ series->setItemLabelFormat(QStringLiteral("@seriesName: (X:@xLabel / Z:@zLabel) Y:@yLabel"));
series->setMesh(QAbstract3DSeries::MeshSphere);
series->setMeshSmooth(true);
series->setBaseColor(QColor(rand() % 256, rand() % 256, rand() % 256));
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index 21357d62..23071c85 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -45,6 +45,12 @@ public:
void changePointSize(int pointSize);
void setBackgroundEnabled(int enabled);
void setGridEnabled(int enabled);
+ void setMinX(int min);
+ void setMinY(int min);
+ void setMinZ(int min);
+ void setMaxX(int max);
+ void setMaxY(int max);
+ void setMaxZ(int max);
void start();
public slots: