summaryrefslogtreecommitdiffstats
path: root/src/imports/location/qdeclarativegeocircle.h
diff options
context:
space:
mode:
authorAaron McCarthy <aaron.mccarthy@nokia.com>2012-08-16 13:32:43 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-28 10:07:49 +0200
commit059388adce26be48868cd741b4c5d751298fb4d8 (patch)
tree1a8a41c0f280b7ab3c502b49527bd609d1c0884a /src/imports/location/qdeclarativegeocircle.h
parent7dd46f8c96a4bdaca2809ff97b773f358392516f (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.h33
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