summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSami Varanka <sami.varanka@qt.io>2021-08-18 14:33:26 +0300
committerSami Varanka <sami.varanka@qt.io>2021-08-24 07:25:12 +0000
commitd01fa6654f9b3d5ae4b542a85f10277318cfebd4 (patch)
treeceb71e9903b00181cca3623d77758544182b12d5 /tests
parent6248cca3f2a801b27059ffc0a720db1686832f41 (diff)
Add: Margin between series columns in Bars3D
Added a new property to Bars3D. The property controls the margin between the columns of series. It can be used to show bars belonging to same column, but different series side by side. Also added autotest for qml and cpp. Fixes: QTBUG-69036 Change-Id: I3c353e9097a8be8cafc05f8f5120e4266baa4a5c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/cpptest/q3dbars/tst_bars.cpp3
-rw-r--r--tests/auto/qmltest/bars3d/tst_bars.qml6
-rw-r--r--tests/auto/qmltest/bars3d/tst_barseries.qml2
-rw-r--r--tests/auto/qmltest/bars3d/tst_basic.qml18
-rw-r--r--tests/auto/qmltest/bars3d/tst_proxy.qml2
-rw-r--r--tests/manual/barstest/chart.cpp14
-rw-r--r--tests/manual/barstest/chart.h4
-rw-r--r--tests/manual/barstest/main.cpp20
8 files changed, 58 insertions, 11 deletions
diff --git a/tests/auto/cpptest/q3dbars/tst_bars.cpp b/tests/auto/cpptest/q3dbars/tst_bars.cpp
index 02de1fba..47529285 100644
--- a/tests/auto/cpptest/q3dbars/tst_bars.cpp
+++ b/tests/auto/cpptest/q3dbars/tst_bars.cpp
@@ -121,6 +121,7 @@ void tst_bars::initialProperties()
QCOMPARE(m_graph->isMultiSeriesUniform(), false);
QCOMPARE(m_graph->barThickness(), 1.0);
QCOMPARE(m_graph->barSpacing(), QSizeF(1.0f, 1.0f));
+ QCOMPARE(m_graph->barSeriesMargin(), QSizeF(0.0f, 0.0f));
QCOMPARE(m_graph->isBarSpacingRelative(), true);
QCOMPARE(m_graph->seriesList().length(), 0);
QVERIFY(!m_graph->selectedSeries());
@@ -157,12 +158,14 @@ void tst_bars::initializeProperties()
m_graph->setMultiSeriesUniform(true);
m_graph->setBarThickness(0.2f);
m_graph->setBarSpacing(QSizeF(0.1f, 0.1f));
+ m_graph->setBarSeriesMargin(QSizeF(0.3f, 0.3f));
m_graph->setBarSpacingRelative(false);
m_graph->setFloorLevel(1.0f);
QCOMPARE(m_graph->isMultiSeriesUniform(), true);
QCOMPARE(m_graph->barThickness(), 0.2f);
QCOMPARE(m_graph->barSpacing(), QSizeF(0.1f, 0.1f));
+ QCOMPARE(m_graph->barSeriesMargin(), QSizeF(0.3f, 0.3f));
QCOMPARE(m_graph->isBarSpacingRelative(), false);
QCOMPARE(m_graph->floorLevel(), 1.0f);
diff --git a/tests/auto/qmltest/bars3d/tst_bars.qml b/tests/auto/qmltest/bars3d/tst_bars.qml
index 75cf10a2..349e28b2 100644
--- a/tests/auto/qmltest/bars3d/tst_bars.qml
+++ b/tests/auto/qmltest/bars3d/tst_bars.qml
@@ -28,7 +28,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.2
+import QtDataVisualization
import QtTest 1.0
Item {
@@ -41,7 +41,7 @@ Item {
function constructBars() {
bars3d = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
anchors.fill: parent
}", top)
@@ -104,7 +104,7 @@ Item {
function constructBarsWithCustomItemList() {
bars3d = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
anchors.fill: parent
customItemList: [item1, item2]
diff --git a/tests/auto/qmltest/bars3d/tst_barseries.qml b/tests/auto/qmltest/bars3d/tst_barseries.qml
index 3db19615..77eba61a 100644
--- a/tests/auto/qmltest/bars3d/tst_barseries.qml
+++ b/tests/auto/qmltest/bars3d/tst_barseries.qml
@@ -28,7 +28,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.2
+import QtDataVisualization
import QtTest 1.0
Item {
diff --git a/tests/auto/qmltest/bars3d/tst_basic.qml b/tests/auto/qmltest/bars3d/tst_basic.qml
index 3ef7101d..ea303356 100644
--- a/tests/auto/qmltest/bars3d/tst_basic.qml
+++ b/tests/auto/qmltest/bars3d/tst_basic.qml
@@ -28,7 +28,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.2
+import QtDataVisualization
import QtTest 1.0
Item {
@@ -44,7 +44,7 @@ Item {
function constructEmpty() {
empty = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
}", top)
}
@@ -52,13 +52,15 @@ Item {
function constructBasic() {
basic = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
anchors.fill: parent
multiSeriesUniform: true
barThickness: 0.1
barSpacing.width: 0.1
barSpacing.height: 0.1
+ barSeriesMargin.width: 0.3
+ barSeriesMargin.height: 0.3
barSpacingRelative: false
floorLevel: 1.0
}", top)
@@ -68,7 +70,7 @@ Item {
function constructCommon() {
common = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
anchors.fill: parent
}", top)
@@ -78,7 +80,7 @@ Item {
function constructCommonInit() {
common_init = Qt.createQmlObject("
import QtQuick 2.2
- import QtDataVisualization 1.2
+ import QtDataVisualization
Bars3D {
anchors.fill: parent
selectionMode: AbstractGraph3D.SelectionNone
@@ -112,6 +114,7 @@ Item {
compare(empty.multiSeriesUniform, false, "multiSeriesUniform")
compare(empty.barThickness, 1.0, "barThickness")
compare(empty.barSpacing, Qt.size(1.0, 1.0), "barSpacing")
+ compare(empty.barSeriesMargin, Qt.size(0.0, 0.0), "barSeriesMargin")
compare(empty.barSpacingRelative, true, "barSpacingRelative")
compare(empty.seriesList.length, 0, "seriesList")
compare(empty.selectedSeries, null, "selectedSeries")
@@ -140,6 +143,7 @@ Item {
compare(basic.multiSeriesUniform, true, "multiSeriesUniform")
compare(basic.barThickness, 0.1, "barThickness")
compare(basic.barSpacing, Qt.size(0.1, 0.1), "barSpacing")
+ compare(basic.barSeriesMargin, Qt.size(0.3, 0.3), "barSeriesMargin")
compare(basic.barSpacingRelative, false, "barSpacingRelative")
compare(basic.floorLevel, 1.0, "floorLevel")
waitForRendering(top)
@@ -149,11 +153,13 @@ Item {
basic.multiSeriesUniform = false
basic.barThickness = 0.5
basic.barSpacing = Qt.size(1.0, 0.0)
+ basic.barSeriesMargin = Qt.size(0.5, 0.0)
basic.barSpacingRelative = true
basic.floorLevel = 0.2
compare(basic.multiSeriesUniform, false, "multiSeriesUniform")
compare(basic.barThickness, 0.5, "barThickness")
compare(basic.barSpacing, Qt.size(1.0, 0.0), "barSpacing")
+ compare(basic.barSeriesMargin, Qt.size(0.5, 0.0), "barSeriesMargin")
compare(basic.barSpacingRelative, true, "barSpacingRelative")
compare(basic.floorLevel, 0.2, "floorLevel")
waitForRendering(top)
@@ -162,8 +168,10 @@ Item {
function test_3_basic_change_invalid() {
basic.barThickness = -1
basic.barSpacing = Qt.size(-1.0, -1.0)
+ basic.barSeriesMargin = Qt.size(-1.0, -1.0)
compare(basic.barThickness, -1/*0.5*/, "barThickness") // TODO: Fix once QTRD-3367 is done
compare(basic.barSpacing, Qt.size(-1.0, -1.0), "barSpacing")
+ compare(basic.barSeriesMargin, Qt.size(-1.0, -1.0), "barSeriesMargin")
waitForRendering(top)
basic.destroy()
waitForRendering(top)
diff --git a/tests/auto/qmltest/bars3d/tst_proxy.qml b/tests/auto/qmltest/bars3d/tst_proxy.qml
index ca8b8516..428000ac 100644
--- a/tests/auto/qmltest/bars3d/tst_proxy.qml
+++ b/tests/auto/qmltest/bars3d/tst_proxy.qml
@@ -28,7 +28,7 @@
****************************************************************************/
import QtQuick 2.0
-import QtDataVisualization 1.2
+import QtDataVisualization
import QtTest 1.0
Item {
diff --git a/tests/manual/barstest/chart.cpp b/tests/manual/barstest/chart.cpp
index 7d878046..4f006024 100644
--- a/tests/manual/barstest/chart.cpp
+++ b/tests/manual/barstest/chart.cpp
@@ -54,6 +54,8 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog)
m_static(true),
m_barSpacingX(0.1f),
m_barSpacingZ(0.1f),
+ m_barSeriesMarginX(0.0f),
+ m_barSeriesMarginZ(0.0f),
m_fontSize(20),
m_segments(10),
m_subSegments(3),
@@ -1624,6 +1626,18 @@ void GraphModifier::setSpacingSpecsZ(int spacing)
m_graph->setBarSpacing(QSizeF(m_barSpacingX, m_barSpacingZ));
}
+void GraphModifier::setMarginX(int margin)
+{
+ m_barSeriesMarginX = (float)margin / 100.0f;
+ m_graph->setBarSeriesMargin(QSizeF(m_barSeriesMarginX, m_barSeriesMarginZ));
+}
+
+void GraphModifier::setMarginZ(int margin)
+{
+ m_barSeriesMarginZ = (float)margin / 100.0f;
+ m_graph->setBarSeriesMargin(QSizeF(m_barSeriesMarginX, m_barSeriesMarginZ));
+}
+
void GraphModifier::setSampleCountX(int samples)
{
m_columnCount = samples;
diff --git a/tests/manual/barstest/chart.h b/tests/manual/barstest/chart.h
index 9a4cd60e..dabaa5e2 100644
--- a/tests/manual/barstest/chart.h
+++ b/tests/manual/barstest/chart.h
@@ -75,6 +75,8 @@ public:
void setSpecsZ(int bardepth);
void setSpacingSpecsX(int spacing);
void setSpacingSpecsZ(int spacing);
+ void setMarginX(int margin);
+ void setMarginZ(int margin);
void setSampleCountX(int samples);
void setSampleCountZ(int samples);
void setMinX(int min);
@@ -153,6 +155,8 @@ private:
bool m_static;
float m_barSpacingX;
float m_barSpacingZ;
+ float m_barSeriesMarginX;
+ float m_barSeriesMarginZ;
int m_fontSize;
int m_segments;
int m_subSegments;
diff --git a/tests/manual/barstest/main.cpp b/tests/manual/barstest/main.cpp
index a0379fd7..1b14d08d 100644
--- a/tests/manual/barstest/main.cpp
+++ b/tests/manual/barstest/main.cpp
@@ -304,6 +304,18 @@ int main(int argc, char **argv)
spacingSliderZ->setValue(10);
spacingSliderZ->setMaximum(200);
+ QSlider *marginSliderX = new QSlider(Qt::Horizontal, widget);
+ marginSliderX->setTickInterval(1);
+ marginSliderX->setMinimum(0);
+ marginSliderX->setValue(0);
+ marginSliderX->setMaximum(100);
+
+ QSlider *marginSliderZ = new QSlider(Qt::Horizontal, widget);
+ marginSliderZ->setTickInterval(1);
+ marginSliderZ->setMinimum(0);
+ marginSliderZ->setValue(0);
+ marginSliderZ->setMaximum(100);
+
QSlider *sampleSliderX = new QSlider(Qt::Horizontal, widget);
sampleSliderX->setTickInterval(1);
sampleSliderX->setMinimum(1);
@@ -433,6 +445,9 @@ int main(int argc, char **argv)
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust relative bar spacing")), 0, Qt::AlignTop);
vLayout2->addWidget(spacingSliderX, 0, Qt::AlignTop);
vLayout2->addWidget(spacingSliderZ, 0, Qt::AlignTop);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust margin")), 0, Qt::AlignTop);
+ vLayout2->addWidget(marginSliderX, 0, Qt::AlignTop);
+ vLayout2->addWidget(marginSliderZ, 0, Qt::AlignTop);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust sample count")), 0, Qt::AlignTop);
vLayout2->addWidget(sampleSliderX, 0, Qt::AlignTop);
vLayout2->addWidget(sampleSliderZ, 0, Qt::AlignTop);
@@ -472,7 +487,7 @@ int main(int argc, char **argv)
vLayout3->addWidget(toggleCustomItemButton, 0, Qt::AlignTop);
vLayout3->addWidget(new QLabel(QStringLiteral("Adjust floor level")), 0, Qt::AlignTop);
vLayout3->addWidget(floorLevelSlider, 0, Qt::AlignTop);
- vLayout3->addWidget(new QLabel(QStringLiteral("Adjust margin")), 0, Qt::AlignTop);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Adjust bar series margin")), 0, Qt::AlignTop);
vLayout3->addWidget(marginSlider, 1, Qt::AlignTop);
widget->show();
@@ -489,6 +504,9 @@ int main(int argc, char **argv)
QObject::connect(spacingSliderZ, &QSlider::valueChanged, modifier,
&GraphModifier::setSpacingSpecsZ);
+ QObject::connect(marginSliderX, &QSlider::valueChanged, modifier, &GraphModifier::setMarginX);
+ QObject::connect(marginSliderZ, &QSlider::valueChanged, modifier, &GraphModifier::setMarginZ);
+
QObject::connect(sampleSliderX, &QSlider::valueChanged, modifier,
&GraphModifier::setSampleCountX);
QObject::connect(sampleSliderZ, &QSlider::valueChanged, modifier,