diff options
author | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2012-08-16 13:32:43 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-28 10:07:49 +0200 |
commit | 059388adce26be48868cd741b4c5d751298fb4d8 (patch) | |
tree | 1a8a41c0f280b7ab3c502b49527bd609d1c0884a /src/imports/location/qdeclarativegeocircle.h | |
parent | 7dd46f8c96a4bdaca2809ff97b773f358392516f (diff) |
Convert GeoShape, GeoRectangle and GeoCircle into QML value types.v5.0.0-beta1
This replaces the GeoShape, GeoRectangle and GeoCircle QML elements with
value types. A value type is a better fit for shape types. It is very
similar to a rect with some utility functions.
Declare QGeoShape, QGeoRectangle and QGeoCircle as movable types.
Update documentation.
Change-Id: Id6c48e1e841c68f2f0c5c6a9c4a6580a57e2dfb6
Reviewed-by: abcd <amos.choy@nokia.com>
Diffstat (limited to 'src/imports/location/qdeclarativegeocircle.h')
-rw-r--r-- | src/imports/location/qdeclarativegeocircle.h | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/src/imports/location/qdeclarativegeocircle.h b/src/imports/location/qdeclarativegeocircle.h index 5a628147..5d0d6fe4 100644 --- a/src/imports/location/qdeclarativegeocircle.h +++ b/src/imports/location/qdeclarativegeocircle.h @@ -43,29 +43,19 @@ #define QDECLARATIVEGEOCIRCLE_H #include "qdeclarativegeoshape.h" -#include "qdeclarativecoordinate_p.h" - -#include <QtQml/qqml.h> -#include <QtLocation/QGeoCircle> QT_BEGIN_NAMESPACE -class QDeclarativeGeoCircle : public QDeclarativeGeoShape +class GeoCircleValueType : public GeoShapeValueType { Q_OBJECT - Q_PROPERTY(QGeoCircle circle READ circle WRITE setCircle) - Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter NOTIFY centerChanged) - Q_PROPERTY(qreal radius READ radius WRITE setRadius NOTIFY radiusChanged) + Q_PROPERTY(QGeoCoordinate center READ center WRITE setCenter) + Q_PROPERTY(qreal radius READ radius WRITE setRadius) public: - explicit QDeclarativeGeoCircle(QObject *parent = 0); - explicit QDeclarativeGeoCircle(const QGeoCircle &circle, QObject *parent = 0); - void setCircle(const QGeoCircle &circle); - QGeoCircle circle() const; - QGeoShape shape() const; - - Q_INVOKABLE bool contains(const QGeoCoordinate &coordinate); + explicit GeoCircleValueType(QObject *parent = 0); + ~GeoCircleValueType(); QGeoCoordinate center(); void setCenter(const QGeoCoordinate &coordinate); @@ -73,16 +63,13 @@ public: qreal radius() const; void setRadius(qreal radius); -Q_SIGNALS: - void centerChanged(); - void radiusChanged(); - -private: - QGeoCircle m_circle; + QString toString() const Q_DECL_OVERRIDE; + void setValue(const QVariant &value) Q_DECL_OVERRIDE; + QVariant value() Q_DECL_OVERRIDE; + void write(QObject *obj, int idx, QQmlPropertyPrivate::WriteFlags flags) Q_DECL_OVERRIDE; + void writeVariantValue(QObject *obj, int idx, QQmlPropertyPrivate::WriteFlags, QVariant *from) Q_DECL_OVERRIDE; }; QT_END_NAMESPACE -QML_DECLARE_TYPE(QDeclarativeGeoCircle) - #endif |