6#ifndef MARBLE_DECLARATIVE_ROUTING_H 
    7#define MARBLE_DECLARATIVE_ROUTING_H 
    9#include "routing/AlternativeRoutesModel.h" 
   13#include <RouteRequestModel.h> 
   14#include <routing/RoutingModel.h> 
   22class Routing : 
public QQuickItem
 
   27    Q_PROPERTY(MarbleMap *marbleMap READ marbleMap WRITE setMarbleMap NOTIFY marbleMapChanged)
 
   28    Q_PROPERTY(RoutingProfile routingProfile READ routingProfile WRITE setRoutingProfile NOTIFY routingProfileChanged)
 
   29    Q_PROPERTY(
bool hasRoute READ hasRoute NOTIFY hasRouteChanged)
 
   30    Q_PROPERTY(
bool hasWaypoints READ hasWaypoints NOTIFY hasWaypointsChanged)
 
   31    Q_PROPERTY(RoutingModel *routingModel READ routingModel NOTIFY routingModelChanged)
 
   32    Q_PROPERTY(QQmlComponent *waypointDelegate READ waypointDelegate WRITE setWaypointDelegate NOTIFY waypointDelegateChanged)
 
   33    Q_PROPERTY(RouteRequestModel *routeRequestModel READ routeRequestModel CONSTANT)
 
   34    Q_PROPERTY(AlternativeRoutesModel *alternativeRoutesModel READ alternativeRoutesModel NOTIFY marbleMapChanged)
 
   48    void setMarbleMap(MarbleMap *marbleMap);
 
   50    MarbleMap *marbleMap();
 
   52    RoutingProfile routingProfile() 
const;
 
   54    void setRoutingProfile(RoutingProfile profile);
 
   56    bool hasRoute() 
const;
 
   58    bool hasWaypoints() 
const;
 
   60    RoutingModel *routingModel();
 
   62    QQmlComponent *waypointDelegate() 
const;
 
   66    RouteRequestModel *routeRequestModel() 
const;
 
   68    AlternativeRoutesModel *alternativeRoutesModel() 
const;
 
   71    void addVia(qreal lon, qreal lat);
 
   73    void addViaAtIndex(
int index, qreal lon, qreal lat);
 
   75    void addViaByPlacemark(Placemark *placemark);
 
   77    void addViaByPlacemarkAtIndex(
int index, Placemark *placemark);
 
   79    void setVia(
int index, qreal lon, qreal lat);
 
   81    void removeVia(
int index);
 
   83    void swapVias(
int index1, 
int index2);
 
   91    void openRoute(
const QString &filename);
 
   93    void saveRoute(
const QString &filename);
 
   97    void setWaypointDelegate(QQmlComponent *waypointDelegate);
 
   99    int addSearchResultPlacemark(Placemark *placemark);
 
  101    void clearSearchResultPlacemarks();
 
  104    void marbleMapChanged();
 
  106    void routingProfileChanged();
 
  108    void hasRouteChanged();
 
  110    void hasWaypointsChanged();
 
  112    void routingModelChanged();
 
  114    void waypointDelegateChanged(QQmlComponent *waypointDelegate);
 
  116    void routeRequestModelChanged(RouteRequestModel *routeRequestModel);
 
  120    QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) 
override;
 
  123    void updateWaypointItems();
 
  125    void updateSearchResultPlacemarks();
 
  128    RoutingPrivate *
const d;
 
A class that can paint a view of the earth.
 
Binds a QML item to a specific geodetic location in screen coordinates.
 
QQuickItem(QQuickItem *parent)