Marble

PlacemarkPositionProviderPlugin.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2011 Guillaume Martres <[email protected]>
4 // SPDX-FileCopyrightText: 2011, 2012 Bernhard Beschow <[email protected]>
5 //
6 
7 #ifndef PLACEMARKPOSITIONPROVIDERPLUGIN_H
8 #define PLACEMARKPOSITIONPROVIDERPLUGIN_H
9 
10 #include "PositionProviderPlugin.h"
11 
12 #include "GeoDataCoordinates.h"
13 #include "GeoDataAccuracy.h"
14 
15 #include <QDateTime>
16 
17 namespace Marble
18 {
19 
20 class GeoDataPlacemark;
21 class MarbleModel;
22 
23 class PlacemarkPositionProviderPlugin: public PositionProviderPlugin
24 {
25  Q_OBJECT
27 
28  public:
29  explicit PlacemarkPositionProviderPlugin( MarbleModel *marbleModel, QObject* parent=nullptr );
30 
31  QString name() const override;
32  QString nameId() const override;
33  QString guiString() const override;
34  QString version() const override;
35  QString description() const override;
36  QString copyrightYears() const override;
37  QVector<PluginAuthor> pluginAuthors() const override;
38  QIcon icon() const override;
39  void initialize() override;
40  bool isInitialized() const override;
41 
42  PositionProviderPlugin *newInstance() const override;
43 
44  PositionProviderStatus status() const override;
45  GeoDataCoordinates position() const override;
46  GeoDataAccuracy accuracy() const override;
47  qreal speed() const override;
48  qreal direction() const override;
49  QDateTime timestamp() const override;
50 
51  private:
52  MarbleModel *const m_marbleModel;
53  const GeoDataPlacemark *m_placemark;
54  GeoDataCoordinates m_coordinates;
55  QDateTime m_timestamp;
56  qreal m_speed;
57  qreal m_direction;
58 
59  PositionProviderStatus m_status;
60  GeoDataAccuracy m_accuracy;
61  bool m_isInitialized;
62 
63  private Q_SLOTS:
64  void setPlacemark( const GeoDataPlacemark *placemark );
65 
66  void updatePosition();
67 };
68 
69 }
70 
71 #endif // PLACEMARKPOSITIONPROVIDERPLUGIN_H
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
void initialize(StandardShortcut id)
Q_SCRIPTABLE CaptureState status()
Binds a QML item to a specific geodetic location in screen coordinates.
Q_INTERFACES(...)
The interface for position provider plugins.
unsigned int version()
QString name(StandardShortcut id)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:09 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.