diff options
Diffstat (limited to 'app/qcheapruler.hpp')
-rw-r--r-- | app/qcheapruler.hpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/app/qcheapruler.hpp b/app/qcheapruler.hpp deleted file mode 100644 index 8d3d7bb..0000000 --- a/app/qcheapruler.hpp +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#include <QGeoCoordinate> -#include <QJSValue> -#include <QObject> -#include <QtCore> - -#include <mapbox/cheap_ruler.hpp> /* BSD3 LICENSE */ - -namespace cr = mapbox::cheap_ruler; - -class QCheapRuler : public QObject{ - Q_OBJECT - //registy the read write¬ify function for qml - //the distance from start point to end point(read only) - Q_PROPERTY(double distance READ distance) - //the distance from start point to current postion along the route(read notify) - Q_PROPERTY(double currentDistance READ currentDistance NOTIFY currentDistanceChanged) - //the coordinate info of current postion(read) - Q_PROPERTY(QGeoCoordinate currentPosition READ currentPosition NOTIFY currentPositionChanged) - //the route path info postion(read write¬ify) - Q_PROPERTY(QJSValue path READ path WRITE setPath NOTIFY pathChanged) - -public: - QCheapRuler(); - ~QCheapRuler(); - - //read write¬ify function for qml - double distance() const; - double currentDistance() const; - QGeoCoordinate currentPosition() const; - QJSValue path() const; - void setPath(const QJSValue &value); - void setCurrentPosition(double, double); - - //functions that can called by qml(Q_INVOKABLE) - Q_INVOKABLE void setCurrentCoordinate(QString,QString); - Q_INVOKABLE void setCurrentDistance(QString); - -signals: - //notify signals to qml - //notify signal when the distance from start point to current postion changed - void currentDistanceChanged(); - //notify signal when currentPosition changed - void currentPositionChanged(); - //notify signal when the distance from start point to current postion changed - void pathChanged(); - -private: - cr::CheapRuler ruler() const; - - double m_distance = 0.; - double m_currentDistance = 0.; - QGeoCoordinate m_currentPosition; - - cr::line_string m_path; -}; |