• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
  • routing
RoutingLayer.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2010 Dennis Nienhüser <earthwings@gentoo.org>
9 //
10 
11 #ifndef MARBLE_ROUTINGLAYER_H
12 #define MARBLE_ROUTINGLAYER_H
13 
14 #include "GeoDataCoordinates.h"
15 #include "LayerInterface.h"
16 #include "RoutingManager.h"
17 
18 #include <QModelIndex>
19 #include <QRect>
20 #include <QItemSelection>
21 
22 class QAbstractProxyModel;
23 
24 namespace Marble
25 {
26 
27 class MarbleWidget;
28 class RoutingModel;
29 class MarblePlacemarkModel;
30 class RoutingLayerPrivate;
31 class AlternativeRoutesModel;
32 
36 class RoutingLayer: public QObject, public LayerInterface
37 {
38  Q_OBJECT
39 
40 public:
47  explicit RoutingLayer( MarbleWidget *widget, QWidget *parent = 0 );
48 
50  ~RoutingLayer();
51 
53  QStringList renderPosition() const;
54 
56  qreal zValue() const;
57 
59  bool render( GeoPainter *painter, ViewportParams *viewport,
60  const QString &renderPos = "NONE", GeoSceneLayer *layer = 0 );
61 
62  RenderState renderState() const;
63 
69  void synchronizeWith( QItemSelectionModel *selection );
70 
74  void setPlacemarkModel ( MarblePlacemarkModel *model );
75 
79  void setViewContext( ViewContext viewContext );
80 
85  void setInteractive( bool interactive );
86 
91  bool isInteractive() const;
92 
93 Q_SIGNALS:
98  void placemarkSelected( const QModelIndex &index );
99 
100  void repaintNeeded( const QRect &rect = QRect() );
101 
102 public:
104  bool eventFilter( QObject *obj, QEvent *event );
105 
106 private Q_SLOTS:
107  void removeViaPoint();
108 
109  void showAlternativeRoutes();
110 
112  void exportRoute();
113 
117  void updateRouteState( RoutingManager::State state );
118 
122  void setViewportChanged();
123 
124 private:
125  RoutingLayerPrivate *const d;
126  friend class RoutingLayerPrivate;
127 
128 };
129 
130 } // namespace Marble
131 
132 #endif
QModelIndex
GeoDataCoordinates.h
QEvent
Marble::RoutingLayer::RoutingLayer
RoutingLayer(MarbleWidget *widget, QWidget *parent=0)
Constructor.
Definition: RoutingLayer.cpp:619
QWidget
Marble::MarblePlacemarkModel
This class represents a model of all place marks which are currently available through a given Placem...
Definition: MarblePlacemarkModel.h:37
Marble::RoutingLayer::eventFilter
bool eventFilter(QObject *obj, QEvent *event)
Overriding QWidget, used to make the layer interactive.
Definition: RoutingLayer.cpp:686
Marble::RoutingLayer::setViewContext
void setViewContext(ViewContext viewContext)
Set the view context to determine whether the map is used interactively.
Definition: RoutingLayer.cpp:784
Marble::RoutingLayer::repaintNeeded
void repaintNeeded(const QRect &rect=QRect())
QAbstractProxyModel
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::RoutingLayer::zValue
qreal zValue() const
Reimplemented from LayerInterface.
Definition: RoutingLayer.cpp:644
Marble::ViewContext
ViewContext
This enum is used to choose context in which map quality gets used.
Definition: MarbleGlobal.h:74
LayerInterface.h
Marble::LayerInterface
Definition: LayerInterface.h:26
Marble::RoutingLayer::isInteractive
bool isInteractive() const
Returns whether the route is interactive (true by default if not changed by setInteractive) ...
Definition: RoutingLayer.cpp:794
Marble::RoutingLayer::~RoutingLayer
~RoutingLayer()
Destructor.
Definition: RoutingLayer.cpp:634
Marble::RoutingLayer::placemarkSelected
void placemarkSelected(const QModelIndex &index)
A placemark was selected (clicked) by the user.
Marble::RoutingLayer
A paint layer that serves as a view on a route model.
Definition: RoutingLayer.h:36
Marble::MarbleWidget
A widget class that displays a view of the earth.
Definition: MarbleWidget.h:104
QObject::event
virtual bool event(QEvent *e)
QRect
RoutingManager.h
Marble::GeoSceneLayer
Layer of a GeoScene document.
Definition: GeoSceneLayer.h:43
Marble::RoutingLayer::RoutingLayerPrivate
friend class RoutingLayerPrivate
Definition: RoutingLayer.h:126
QObject
Marble::RoutingLayer::renderPosition
QStringList renderPosition() const
Reimplemented from LayerInterface.
Definition: RoutingLayer.cpp:639
Marble::RoutingLayer::render
bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos="NONE", GeoSceneLayer *layer=0)
Reimplemented from LayerInterface.
Definition: RoutingLayer.cpp:649
QString
Marble::RenderState
Definition: RenderState.h:22
QStringList
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::RoutingManager::State
State
Definition: RoutingManager.h:42
Marble::RoutingLayer::setPlacemarkModel
void setPlacemarkModel(MarblePlacemarkModel *model)
Set the placemark model to use.
Definition: RoutingLayer.cpp:712
Marble::RoutingLayer::synchronizeWith
void synchronizeWith(QItemSelectionModel *selection)
Set the proxy model another QAbstractItemView uses that should share its selection model with us...
Definition: RoutingLayer.cpp:718
MarbleWidget
Wraps a Marble::MarbleWidget, providing access to important properties and methods.
Definition: MarbleDeclarativeWidget.h:50
QItemSelectionModel
QObject::parent
QObject * parent() const
Marble::RoutingLayer::renderState
RenderState renderState() const
Definition: RoutingLayer.cpp:681
Marble::RoutingLayer::setInteractive
void setInteractive(bool interactive)
Determine whether the route can be edited by the user (via points added, route cleared) ...
Definition: RoutingLayer.cpp:789
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:41 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal