• 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
  • plugins
  • declarative
Tracking.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 2011 Dennis Nienhüser <earthwings@gentoo.org>
9 //
10 
11 #ifndef MARBLE_DECLARATIVE_TRACKING_H
12 #define MARBLE_DECLARATIVE_TRACKING_H
13 
14 #include "PositionSource.h"
15 
16 #include <QObject>
17 #if QT_VERSION < 0x050000
18  #include <QtDeclarative/qdeclarative.h>
19 #else
20  #include <QtQml/qqml.h>
21 #endif
22 
23 class MarbleWidget;
24 
25 namespace Marble {
26 class AutoNavigation;
27 }
28 
29 class Tracking : public QObject
30 {
31  Q_OBJECT
32  Q_ENUMS( PositionMarkerType )
33 
34  Q_PROPERTY( MarbleWidget* map READ map WRITE setMap NOTIFY mapChanged )
35  Q_PROPERTY( bool showTrack READ showTrack WRITE setShowTrack NOTIFY showTrackChanged )
36  Q_PROPERTY( bool autoCenter READ autoCenter WRITE setAutoCenter NOTIFY autoCenterChanged )
37  Q_PROPERTY( bool autoZoom READ autoZoom WRITE setAutoZoom NOTIFY autoZoomChanged )
38  Q_PROPERTY( PositionSource* positionSource READ positionSource WRITE setPositionSource NOTIFY positionSourceChanged )
39  Q_PROPERTY( QObject* positionMarker READ positionMarker WRITE setPositionMarker NOTIFY positionMarkerChanged )
40  Q_PROPERTY( bool hasLastKnownPosition READ hasLastKnownPosition NOTIFY hasLastKnownPositionChanged )
41  Q_PROPERTY( Coordinate* lastKnownPosition READ lastKnownPosition WRITE setLastKnownPosition NOTIFY lastKnownPositionChanged )
42  Q_PROPERTY( PositionMarkerType positionMarkerType READ positionMarkerType WRITE setPositionMarkerType NOTIFY positionMarkerTypeChanged )
43  Q_PROPERTY( double distance READ distance NOTIFY distanceChanged )
44 
45 public:
46  enum PositionMarkerType {
47  None,
48  Circle,
49  Arrow
50  };
51 
52  explicit Tracking( QObject* parent = 0 );
53 
54  bool showTrack() const;
55 
56  void setShowTrack( bool show );
57 
58  PositionSource* positionSource();
59 
60  void setPositionSource( PositionSource* source );
61 
62  QObject* positionMarker();
63 
64  void setPositionMarker( QObject* marker );
65 
66  MarbleWidget* map();
67 
68  void setMap( MarbleWidget* widget );
69 
70  bool hasLastKnownPosition() const;
71 
72  Coordinate *lastKnownPosition();
73 
74  void setLastKnownPosition( Coordinate* lastKnownPosition );
75 
76  bool autoCenter() const;
77 
78  void setAutoCenter( bool enabled );
79 
80  bool autoZoom() const;
81 
82  void setAutoZoom( bool enabled );
83 
84  PositionMarkerType positionMarkerType() const;
85 
86  void setPositionMarkerType( PositionMarkerType type );
87 
88  double distance() const;
89 
90 public Q_SLOTS:
91  void saveTrack( const QString &fileName );
92 
93  void openTrack( const QString &fileName );
94 
95  void clearTrack();
96 
97 Q_SIGNALS:
98  void mapChanged();
99 
100  void showTrackChanged();
101 
102  void positionSourceChanged();
103 
104  void positionMarkerChanged();
105 
106  void hasLastKnownPositionChanged();
107 
108  void lastKnownPositionChanged();
109 
110  void autoCenterChanged();
111 
112  void autoZoomChanged();
113 
114  void positionMarkerTypeChanged();
115 
116  void distanceChanged();
117 
118 private Q_SLOTS:
119  void updatePositionMarker();
120 
121  void updateLastKnownPosition();
122 
123  void setHasLastKnownPosition();
124 
125 private:
126  void setShowPositionMarkerPlugin( bool visible );
127 
128  bool m_showTrack;
129 
130  PositionSource* m_positionSource;
131 
132  QObject* m_positionMarker;
133 
134  MarbleWidget* m_marbleWidget;
135 
136  bool m_hasLastKnownPosition;
137 
138  Coordinate m_lastKnownPosition;
139 
140  Marble::AutoNavigation* m_autoNavigation;
141 
142  PositionMarkerType m_positionMarkerType;
143 };
144 
145 
146 #endif
PositionSource.h
Tracking::autoCenterChanged
void autoCenterChanged()
Tracking::setAutoZoom
void setAutoZoom(bool enabled)
Definition: Tracking.cpp:240
Tracking::autoZoom
bool autoZoom() const
Tracking
Definition: Tracking.qml:16
Tracking::setPositionMarker
void setPositionMarker(QObject *marker)
Definition: Tracking.cpp:103
Tracking::saveTrack
void saveTrack(const QString &fileName)
Definition: Tracking.cpp:283
Tracking::setPositionMarkerType
void setPositionMarkerType(PositionMarkerType type)
Definition: Tracking.cpp:269
Tracking::distanceChanged
void distanceChanged()
Marble::AutoNavigation
Definition: AutoNavigation.h:27
Tracking::clearTrack
void clearTrack()
Definition: Tracking.cpp:301
Coordinate
Represents a coordinate with the properties of a name and coordinates.
Definition: Coordinate.h:28
Tracking::hasLastKnownPositionChanged
void hasLastKnownPositionChanged()
Tracking::positionMarkerType
PositionMarkerType positionMarkerType() const
Tracking::Arrow
Definition: Tracking.h:49
Tracking::setPositionSource
void setPositionSource(PositionSource *source)
Definition: Tracking.cpp:63
Tracking::distance
double distance() const
Tracking::setLastKnownPosition
void setLastKnownPosition(Coordinate *lastKnownPosition)
Definition: Tracking.cpp:190
Tracking::positionSourceChanged
void positionSourceChanged()
Tracking::positionMarkerTypeChanged
void positionMarkerTypeChanged()
Tracking::positionMarkerChanged
void positionMarkerChanged()
QObject
Tracking::positionSource
PositionSource * positionSource()
Tracking::autoCenter
bool autoCenter() const
Tracking::showTrackChanged
void showTrackChanged()
PositionSource
Definition: PositionSource.h:25
Tracking::Circle
Definition: Tracking.h:48
QString
Tracking::hasLastKnownPosition
bool hasLastKnownPosition() const
Tracking::autoZoomChanged
void autoZoomChanged()
Tracking::setShowTrack
void setShowTrack(bool show)
Definition: Tracking.cpp:45
Tracking::positionMarker
QObject * positionMarker()
Tracking::mapChanged
void mapChanged()
Tracking::lastKnownPosition
Coordinate * lastKnownPosition()
Tracking::showTrack
bool showTrack() const
Tracking::PositionMarkerType
PositionMarkerType
Definition: Tracking.h:46
Tracking::openTrack
void openTrack(const QString &fileName)
Definition: Tracking.cpp:292
Tracking::lastKnownPositionChanged
void lastKnownPositionChanged()
Tracking::map
MarbleWidget * map()
Tracking::setMap
void setMap(MarbleWidget *widget)
Definition: Tracking.cpp:86
MarbleWidget
Wraps a Marble::MarbleWidget, providing access to important properties and methods.
Definition: MarbleDeclarativeWidget.h:50
Tracking::None
Definition: Tracking.h:47
Tracking::Tracking
Tracking(QObject *parent=0)
Definition: Tracking.cpp:27
QObject::parent
QObject * parent() const
Tracking::setAutoCenter
void setAutoCenter(bool enabled)
Definition: Tracking.cpp:207
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 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