diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-12-08 18:45:36 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-02-01 14:09:48 +0000 |
commit | 587b8812c9b2fc7ed7ad4ab35d27114ee98eafc6 (patch) | |
tree | 4589a6518d38b504a6941524a959d871cbf2537c /src/location/labs/qmappolylineobject.cpp | |
parent | 8e923d801b460ccc6fdc92d4a7bc8750410ad042 (diff) | |
download | qtlocation-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.cpp | 18 |
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)); |