summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2017-06-08 20:12:56 +0200
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-08-03 10:33:20 +0000
commit4511bc9b9bc85a0021ce59feab1a28c711dec691 (patch)
treee0133488479c1a42939d00000bf2c2c301f19a21 /tests
parente92bf21dfb0de4595a39e172fdbdc16b8ae8579c (diff)
downloadqtlocation-4511bc9b9bc85a0021ce59feab1a28c711dec691.tar.gz
Add setPath overload to QDeclarativePolylineMapItem
This patch adds a Q_INVOKABLE setPath overload that takes a QGeoPath. This can be beneficial when a path is already available and should be set without going through javascript array conversion. This method should come handy also when pushing polyline data from C++. [ChangeLog][QtLocation][MapPolyline] Added setPath overload taking a QGeoPath. Change-Id: I6916500473865b8234b48e8df08dfb465a2a75d2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative_ui/tst_map_item_details.qml38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/declarative_ui/tst_map_item_details.qml b/tests/auto/declarative_ui/tst_map_item_details.qml
index 80225c16..e7695288 100644
--- a/tests/auto/declarative_ui/tst_map_item_details.qml
+++ b/tests/auto/declarative_ui/tst_map_item_details.qml
@@ -157,6 +157,17 @@ Item {
}
MapPolyline {
+ id: polylineForSetpath
+ line.width: 3
+ path: [
+ { latitude: 20, longitude: 175 },
+ { latitude: 20, longitude: -175 },
+ { latitude: 10, longitude: -175 },
+ { latitude: 10, longitude: 175 }
+ ]
+ }
+
+ MapPolyline {
id: extMapPolylineDateline
line.width : 3
path: [
@@ -395,6 +406,33 @@ Item {
verify(extMapPolyline.path.length == 0)
}
+ function test_polyline_setpath()
+ {
+ compare (polylineForSetpath.line.width, 3.0)
+ verify(polylineForSetpath.path.length == 4)
+ compare(polylineForSetpath.path[0], QtPositioning.coordinate(20, 175))
+ compare(polylineForSetpath.path[3], QtPositioning.coordinate(10, 175))
+
+
+ var originalPath = QtPositioning.shapeToPath(polylineForSetpath.geoShape)
+
+ var geoPath = QtPositioning.path([ { latitude: 20, longitude: -15 },
+ { latitude: 20, longitude: -5 },
+ { latitude: 10, longitude: -5 },
+ { latitude: 10, longitude: -15 },
+ { latitude: 10, longitude: -105 } ], 50)
+
+ polylineForSetpath.setPath(geoPath)
+ verify(polylineForSetpath.path.length == 5)
+ compare(polylineForSetpath.path[0], QtPositioning.coordinate(20, -15))
+ compare(polylineForSetpath.path[3], QtPositioning.coordinate(10, -15))
+
+ polylineForSetpath.setPath(originalPath)
+ verify(polylineForSetpath.path.length == 4)
+ compare(polylineForSetpath.path[0], QtPositioning.coordinate(20, 175))
+ compare(polylineForSetpath.path[3], QtPositioning.coordinate(10, 175))
+ }
+
/*
(0,0) ---------------------------------------------------- (600,0)