diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-06-08 20:12:56 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-08-03 10:33:20 +0000 |
commit | 4511bc9b9bc85a0021ce59feab1a28c711dec691 (patch) | |
tree | e0133488479c1a42939d00000bf2c2c301f19a21 /tests | |
parent | e92bf21dfb0de4595a39e172fdbdc16b8ae8579c (diff) | |
download | qtlocation-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.qml | 38 |
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) |