From b842a6cdcce0ee43a48ec084180d9dc065b599a1 Mon Sep 17 00:00:00 2001 From: Matthias Rauter Date: Thu, 9 Feb 2023 14:28:14 +0100 Subject: Use new handler API in GeoJson Viewer example Pick-to: 6.5 Change-Id: I8408c37a2692e93dd420c558147071d07d85523f Reviewed-by: Volker Hilsheimer --- .../location/geojson_viewer/GeoJsonDelegate.qml | 41 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/examples/location/geojson_viewer/GeoJsonDelegate.qml b/examples/location/geojson_viewer/GeoJsonDelegate.qml index a733e9e6..3e2cd257 100644 --- a/examples/location/geojson_viewer/GeoJsonDelegate.qml +++ b/examples/location/geojson_viewer/GeoJsonDelegate.qml @@ -21,12 +21,27 @@ DelegateChooser { geoShape: modelData.data radius: 20*1000 border.width: 3 + border.color: hh.hovered ? "magenta" : "black" opacity: dc.defaultOpacity /* The expression below is equivalent to: ((props !== undefined && props["color"] !== undefined) ? props["color"] : ((parent && parent.props !== undefined && parent.props["color"] !== undefined) ? parent.props["color"] : dc.defaultColor)) */ color: (props && props.color) || (parent && parent.props && parent.props.color) || dc.defaultColor + + TapHandler { + onTapped: { + if (props !== undefined) + console.log(props.name) + else if (parent.parent.geojsonType == "MultiPoint") + console.log(parent.parent.props.name) + else + console.log("NO NAME!", props) + } + } + HoverHandler { + id: hh + } } } @@ -38,7 +53,21 @@ DelegateChooser { geoShape: modelData.data line.width: 4 opacity: dc.defaultOpacity - line.color: (props && props.color) || (parent && parent.props && parent.props.color) || dc.defaultColor + line.color: hh.hovered ? "magenta" : (props && props.color) || (parent && parent.props && parent.props.color) || dc.defaultColor + + TapHandler { + onTapped: { + if (props !== undefined) + console.log(props.name) + else if (parent.parent.geojsonType == "MultiLineString") + console.log(parent.parent.props.name) + else + console.log("NO NAME!", props) + } + } + HoverHandler { + id: hh + } } } @@ -51,10 +80,9 @@ DelegateChooser { opacity: dc.defaultOpacity color: (props && props.color) || (parent && parent.props && parent.props.color) || dc.defaultColor border.width: 4 - border.color: 'black' - MouseArea { - anchors.fill: parent - onClicked: { + border.color: hh.hovered ? "magenta" : "black" + TapHandler { + onTapped: { if (props !== undefined) console.log(props.name) else if (parent.parent.geojsonType == "MultiPolygon") @@ -63,6 +91,9 @@ DelegateChooser { console.log("NO NAME!", props) } } + HoverHandler { + id: hh + } } } -- cgit v1.2.1