diff options
Diffstat (limited to 'src/imports/location/qdeclarativegeoroutemodel_p.h')
-rw-r--r-- | src/imports/location/qdeclarativegeoroutemodel_p.h | 343 |
1 files changed, 0 insertions, 343 deletions
diff --git a/src/imports/location/qdeclarativegeoroutemodel_p.h b/src/imports/location/qdeclarativegeoroutemodel_p.h deleted file mode 100644 index 30fc1ecc..00000000 --- a/src/imports/location/qdeclarativegeoroutemodel_p.h +++ /dev/null @@ -1,343 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the QtLocation module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QDECLARATIVEGEOROUTEMODEL_H -#define QDECLARATIVEGEOROUTEMODEL_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include "qdeclarativegeoserviceprovider_p.h" - -#include <QtPositioning/QGeoCoordinate> -#include <QtPositioning/QGeoRectangle> - -#include <qgeorouterequest.h> -#include <qgeoroutereply.h> - -#include <QtQml/qqml.h> -#include <QtQml/QQmlParserStatus> -#include <QtQml/private/qv4engine_p.h> -#include <QAbstractListModel> - -#include <QObject> - -QT_BEGIN_NAMESPACE - -class QGeoServiceProvider; -class QGeoRoutingManager; -class QDeclarativeGeoRoute; -class QDeclarativeGeoRouteQuery; - -class QDeclarativeGeoRouteModel : public QAbstractListModel, public QQmlParserStatus -{ - Q_OBJECT - Q_ENUMS(Status) - Q_ENUMS(RouteError) - - Q_PROPERTY(QDeclarativeGeoServiceProvider *plugin READ plugin WRITE setPlugin NOTIFY pluginChanged) - Q_PROPERTY(QDeclarativeGeoRouteQuery *query READ query WRITE setQuery NOTIFY queryChanged) - Q_PROPERTY(int count READ count NOTIFY countChanged) - Q_PROPERTY(bool autoUpdate READ autoUpdate WRITE setAutoUpdate NOTIFY autoUpdateChanged) - Q_PROPERTY(Status status READ status NOTIFY statusChanged) - Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged) - Q_PROPERTY(RouteError error READ error NOTIFY errorChanged) - Q_PROPERTY(QLocale::MeasurementSystem measurementSystem READ measurementSystem WRITE setMeasurementSystem NOTIFY measurementSystemChanged) - - Q_INTERFACES(QQmlParserStatus) - -public: - enum Roles { - RouteRole = Qt::UserRole + 500 - }; - - enum Status { - Null, - Ready, - Loading, - Error - }; - - enum RouteError { - NoError = QGeoRouteReply::NoError, - EngineNotSetError = QGeoRouteReply::EngineNotSetError, - CommunicationError = QGeoRouteReply::CommunicationError, - ParseError = QGeoRouteReply::ParseError, - UnsupportedOptionError = QGeoRouteReply::UnsupportedOptionError, - UnknownError = QGeoRouteReply::UnknownError, - //we leave gap for future QGeoRouteReply errors - - //QGeoServiceProvider related errors start here - UnknownParameterError = 100, - MissingRequiredParameterError - }; - - explicit QDeclarativeGeoRouteModel(QObject *parent = 0); - ~QDeclarativeGeoRouteModel(); - - // From QQmlParserStatus - void classBegin() {} - void componentComplete(); - - // From QAbstractListModel - int rowCount(const QModelIndex &parent) const; - QVariant data(const QModelIndex &index, int role) const; - virtual QHash<int,QByteArray> roleNames() const; - - void setPlugin(QDeclarativeGeoServiceProvider *plugin); - QDeclarativeGeoServiceProvider *plugin() const; - - void setQuery(QDeclarativeGeoRouteQuery *query); - QDeclarativeGeoRouteQuery *query() const; - - void setAutoUpdate(bool autoUpdate); - bool autoUpdate() const; - - void setMeasurementSystem(QLocale::MeasurementSystem ms); - QLocale::MeasurementSystem measurementSystem() const; - - Status status() const; - QString errorString() const; - RouteError error() const; - - int count() const; - Q_INVOKABLE QDeclarativeGeoRoute *get(int index); - Q_INVOKABLE void reset(); - Q_INVOKABLE void cancel(); - -Q_SIGNALS: - void countChanged(); - void pluginChanged(); - void queryChanged(); - void autoUpdateChanged(); - void statusChanged(); - void errorChanged(); //emitted also for errorString notification - void routesChanged(); - void measurementSystemChanged(); - void abortRequested(); - -public Q_SLOTS: - void update(); - -private Q_SLOTS: - void routingFinished(QGeoRouteReply *reply); - void routingError(QGeoRouteReply *reply, - QGeoRouteReply::Error error, - const QString &errorString); - void queryDetailsChanged(); - void pluginReady(); - -private: - void setStatus(Status status); - void setError(RouteError error, const QString &errorString); - - bool complete_; - - QDeclarativeGeoServiceProvider *plugin_; - QDeclarativeGeoRouteQuery *routeQuery_; - - QList<QDeclarativeGeoRoute *> routes_; - bool autoUpdate_; - Status status_; - QString errorString_; - RouteError error_; -}; - -class QDeclarativeGeoRouteQuery : public QObject, public QQmlParserStatus -{ - Q_OBJECT - Q_ENUMS(TravelMode) - Q_ENUMS(FeatureType) - Q_ENUMS(FeatureWeight) - Q_ENUMS(SegmentDetail) - Q_ENUMS(ManeuverDetail) - Q_ENUMS(RouteOptimization) - Q_FLAGS(RouteOptimizations) - Q_FLAGS(ManeuverDetails) - Q_FLAGS(SegmentDetails) - Q_FLAGS(TravelModes) - - Q_PROPERTY(int numberAlternativeRoutes READ numberAlternativeRoutes WRITE setNumberAlternativeRoutes NOTIFY numberAlternativeRoutesChanged) - Q_PROPERTY(TravelModes travelModes READ travelModes WRITE setTravelModes NOTIFY travelModesChanged) - Q_PROPERTY(RouteOptimizations routeOptimizations READ routeOptimizations WRITE setRouteOptimizations NOTIFY routeOptimizationsChanged) - Q_PROPERTY(SegmentDetail segmentDetail READ segmentDetail WRITE setSegmentDetail NOTIFY segmentDetailChanged) - Q_PROPERTY(ManeuverDetail maneuverDetail READ maneuverDetail WRITE setManeuverDetail NOTIFY maneuverDetailChanged) - Q_PROPERTY(QJSValue waypoints READ waypoints WRITE setWaypoints NOTIFY waypointsChanged) - Q_PROPERTY(QJSValue excludedAreas READ excludedAreas WRITE setExcludedAreas NOTIFY excludedAreasChanged) - Q_PROPERTY(QList<int> featureTypes READ featureTypes NOTIFY featureTypesChanged) - Q_INTERFACES(QQmlParserStatus) - -public: - - explicit QDeclarativeGeoRouteQuery(QObject *parent = 0); - ~QDeclarativeGeoRouteQuery(); - - // From QQmlParserStatus - void classBegin() {} - void componentComplete(); - - QGeoRouteRequest routeRequest() const; - - enum TravelMode { - CarTravel = QGeoRouteRequest::CarTravel, - PedestrianTravel = QGeoRouteRequest::PedestrianTravel, - BicycleTravel = QGeoRouteRequest::BicycleTravel, - PublicTransitTravel = QGeoRouteRequest::PublicTransitTravel, - TruckTravel = QGeoRouteRequest::TruckTravel - }; - Q_DECLARE_FLAGS(TravelModes, TravelMode) - - enum FeatureType { - NoFeature = QGeoRouteRequest::NoFeature, - TollFeature = QGeoRouteRequest::TollFeature, - HighwayFeature = QGeoRouteRequest::HighwayFeature, - PublicTransitFeature = QGeoRouteRequest::PublicTransitFeature, - FerryFeature = QGeoRouteRequest::FerryFeature, - TunnelFeature = QGeoRouteRequest::TunnelFeature, - DirtRoadFeature = QGeoRouteRequest::DirtRoadFeature, - ParksFeature = QGeoRouteRequest::ParksFeature, - MotorPoolLaneFeature = QGeoRouteRequest::MotorPoolLaneFeature - }; - Q_DECLARE_FLAGS(FeatureTypes, FeatureType) - - enum FeatureWeight { - NeutralFeatureWeight = QGeoRouteRequest::NeutralFeatureWeight, - PreferFeatureWeight = QGeoRouteRequest::PreferFeatureWeight, - RequireFeatureWeight = QGeoRouteRequest::RequireFeatureWeight, - AvoidFeatureWeight = QGeoRouteRequest::AvoidFeatureWeight, - DisallowFeatureWeight = QGeoRouteRequest::DisallowFeatureWeight - }; - Q_DECLARE_FLAGS(FeatureWeights, FeatureWeight) - - enum RouteOptimization { - ShortestRoute = QGeoRouteRequest::ShortestRoute, - FastestRoute = QGeoRouteRequest::FastestRoute, - MostEconomicRoute = QGeoRouteRequest::MostEconomicRoute, - MostScenicRoute = QGeoRouteRequest::MostScenicRoute - }; - Q_DECLARE_FLAGS(RouteOptimizations, RouteOptimization) - - enum SegmentDetail { - NoSegmentData = 0x0000, - BasicSegmentData = 0x0001 - }; - Q_DECLARE_FLAGS(SegmentDetails, SegmentDetail) - - enum ManeuverDetail { - NoManeuvers = 0x0000, - BasicManeuvers = 0x0001 - }; - Q_DECLARE_FLAGS(ManeuverDetails, ManeuverDetail) - - void setNumberAlternativeRoutes(int numberAlternativeRoutes); - int numberAlternativeRoutes() const; - - //QList<FeatureType> featureTypes(); - QList<int> featureTypes(); - - - QJSValue waypoints(); - void setWaypoints(const QJSValue &value); - - // READ functions for list properties - QJSValue excludedAreas() const; - void setExcludedAreas(const QJSValue &value); - - Q_INVOKABLE void addWaypoint(const QGeoCoordinate &waypoint); - Q_INVOKABLE void removeWaypoint(const QGeoCoordinate &waypoint); - Q_INVOKABLE void clearWaypoints(); - - Q_INVOKABLE void addExcludedArea(const QGeoRectangle &area); - Q_INVOKABLE void removeExcludedArea(const QGeoRectangle &area); - Q_INVOKABLE void clearExcludedAreas(); - - Q_INVOKABLE void setFeatureWeight(FeatureType featureType, FeatureWeight featureWeight); - Q_INVOKABLE int featureWeight(FeatureType featureType); - Q_INVOKABLE void resetFeatureWeights(); - - /* - feature weights - */ - - void setTravelModes(TravelModes travelModes); - TravelModes travelModes() const; - - void setSegmentDetail(SegmentDetail segmentDetail); - SegmentDetail segmentDetail() const; - - void setManeuverDetail(ManeuverDetail maneuverDetail); - ManeuverDetail maneuverDetail() const; - - void setRouteOptimizations(RouteOptimizations optimization); - RouteOptimizations routeOptimizations() const; - -Q_SIGNALS: - void numberAlternativeRoutesChanged(); - void travelModesChanged(); - void routeOptimizationsChanged(); - - void waypointsChanged(); - void excludedAreasChanged(); - - void featureTypesChanged(); - void maneuverDetailChanged(); - void segmentDetailChanged(); - - void queryDetailsChanged(); - -private Q_SLOTS: - void excludedAreaCoordinateChanged(); - -private: - Q_INVOKABLE void doCoordinateChanged(); - - QGeoRouteRequest request_; - bool complete_; - bool m_excludedAreaCoordinateChanged; - -}; - -QT_END_NAMESPACE - -#endif |