/usr/include/marble/RoutingWidget.h is in libmarble-dev 4:4.14.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | //
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2010 Dennis Nienhüser <earthwings@gentoo.org>
//
#ifndef MARBLE_ROUTINGWIDGET_H
#define MARBLE_ROUTINGWIDGET_H
#include "GeoDataCoordinates.h"
#include "GeoDataLineString.h"
#include "RoutingManager.h"
#include "marble_export.h"
#include <QModelIndex>
#include <QWidget>
namespace Marble
{
class MarbleWidget;
class RoutingInputWidget;
class RoutingWidgetPrivate;
class RouteSyncManager;
/**
* A widget consisting of input fields for places / routing destinations,
* a list view showing routing instructions and a interactive paint layer
* showing placemarks and the route
*/
class MARBLE_EXPORT RoutingWidget : public QWidget
{
Q_OBJECT
public:
/**
* @brief Constructor
* @param marbleWidget The marble widget used to register an event handler
* on. Must not be null.
* @param parent Optional parent widget
*/
explicit RoutingWidget( MarbleWidget *marbleWidget, QWidget *parent );
/** Destructor */
~RoutingWidget();
/** Show or hide the "open file..." button. Default is false (not visible) */
void setShowDirectionsButtonVisible( bool visible );
void setRouteSyncManager(RouteSyncManager* manager);
public Q_SLOTS:
/** Ask the user for a kml file to open */
void openRoute();
/** Ask the user for a kml file to save the current route to */
void saveRoute();
/** Upload route to the cloud */
void uploadToCloud();
/** Open cloud routes dialog */
void openCloudRoutesDialog();
/** Add another input field at the end */
void addInputWidget();
private Q_SLOTS:
/** Retrieve route directions */
void retrieveRoute();
/** User activated a route instruction element in the list view, synchronize paint layer */
void activateItem ( const QModelIndex &index );
/** Placemark search is finished in an input field, switch to its placemark model */
void handleSearchResult( RoutingInputWidget *widget );
/** Switch to the placemark model of an input field */
void centerOnInputWidget( RoutingInputWidget *widget );
/** A placemark was selected in the map, synchronize list view */
void activatePlacemark( const QModelIndex &index );
/** Insert another input field at the given position */
void insertInputWidget( int index );
/** Remove an existing input field */
void removeInputWidget( RoutingInputWidget *widget );
/** Remove an existing input field */
void removeInputWidget( int index );
/** Route state changed */
void updateRouteState( RoutingManager::State state );
/** An input field requests a position input from the map */
void requestMapPosition( RoutingInputWidget *widget, bool enabled );
/** Position in the map selected by the user after a previous slotMapInputRequested */
void retrieveSelectedPoint( const GeoDataCoordinates &coordinates );
/** Update the text of the Search / GetDirections button */
void adjustSearchButton();
/** The user canceled point selection from the map */
void pointSelectionCanceled();
/** show profile configuration dialog */
void configureProfile();
/** Progress animation update */
void updateProgress();
/** Toggle visibility of alternative routes */
void updateAlternativeRoutes();
/** Select the first routing profile if none is selected yet */
void selectFirstProfile();
/** Show the directions ListView */
void showDirections();
/** Update the route request with the given profile */
void setRoutingProfile( int index );
/** Determine route retrieval failures and inform the user */
void indicateRoutingFailure( GeoDataDocument* route );
/** Change selected routing profile to the one set in the shared request */
void updateActiveRoutingProfile();
/** Toggle cloud sync button visibility based on whether route sync is enabled */
void updateCloudSyncButtons();
/** Open a remote route and center on it */
void openCloudRoute( const QString &identifier );
void updateUploadProgress( qint64 sent, qint64 total );
protected:
bool eventFilter( QObject *o, QEvent *e );
void resizeEvent(QResizeEvent *e);
private:
RoutingWidgetPrivate *const d;
};
} // namespace Marble
#endif
|