summaryrefslogtreecommitdiff
path: root/src/location/labs/qmappolylineobject.cpp
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2018-12-08 18:45:36 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2019-02-01 14:09:48 +0000
commit587b8812c9b2fc7ed7ad4ab35d27114ee98eafc6 (patch)
tree4589a6518d38b504a6941524a959d871cbf2537c /src/location/labs/qmappolylineobject.cpp
parent8e923d801b460ccc6fdc92d4a7bc8750410ad042 (diff)
downloadqtlocation-587b8812c9b2fc7ed7ad4ab35d27114ee98eafc6.tar.gz
Introduce QGeoMapObject::geoShape property
In this way MapObjects become a little closer to MapItems, and this property can be used to, for example, center the map on one specific object or object group. Fixes: QTBUG-69640 Change-Id: I4dbead9e670bf5d1eeaccb2bd09d956b8de7da87 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/location/labs/qmappolylineobject.cpp')
-rw-r--r--src/location/labs/qmappolylineobject.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/location/labs/qmappolylineobject.cpp b/src/location/labs/qmappolylineobject.cpp
index 1c351962..c6d3cdaf 100644
--- a/src/location/labs/qmappolylineobject.cpp
+++ b/src/location/labs/qmappolylineobject.cpp
@@ -37,6 +37,7 @@
#include "qmappolylineobject_p.h"
#include "qmappolylineobject_p_p.h"
#include <QtLocation/private/locationvaluetypehelper_p.h>
+#include <QtPositioning/QGeoPath>
QT_BEGIN_NAMESPACE
@@ -127,6 +128,23 @@ bool QMapPolylineObjectPrivate::equals(const QGeoMapObjectPrivate &other) const
&& width() == o.width());
}
+QGeoShape QMapPolylineObjectPrivate::geoShape() const
+{
+ return QGeoPath(path());
+}
+
+void QMapPolylineObjectPrivate::setGeoShape(const QGeoShape &shape)
+{
+ const QGeoPath p(shape);
+ if (p == path())
+ return;
+
+ setPath(p.path()); // to handle overrides
+ emit static_cast<QMapPolylineObject *>(q)->pathChanged();
+}
+
+
+
QGeoMapObjectPrivate *QMapPolylineObjectPrivateDefault::clone()
{
return new QMapPolylineObjectPrivateDefault(static_cast<QMapPolylineObjectPrivate &>(*this));