• 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
  • render
  • positionmarker
PositionMarker.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 2007 Andrew Manson <g.real.ate@gmail.com>
9 // Copyright 2009 Eckhart Wörner <ewoerner@kde.org>
10 // Copyright 2010 Thibaut Gridel <tgridel@free.fr>
11 //
12 
13 #ifndef POSITION_MARKER_H
14 #define POSITION_MARKER_H
15 
16 #include <QObject>
17 #include <QHash>
18 #include <QVector>
19 #include <QColor>
20 #include <QAbstractButton>
21 
22 #include "DialogConfigurationInterface.h"
23 #include "RenderPlugin.h"
24 #include "GeoDataCoordinates.h"
25 #include "GeoDataLatLonAltBox.h"
26 
27 namespace Ui
28 {
29  class PositionMarkerConfigWidget;
30 }
31 
32 namespace Marble
33 {
34 
35 class PositionMarker : public RenderPlugin, public DialogConfigurationInterface
36 {
37  Q_OBJECT
38  Q_PLUGIN_METADATA( IID "org.kde.edu.marble.PositionMarker" )
39  Q_INTERFACES( Marble::RenderPluginInterface )
40  Q_INTERFACES( Marble::DialogConfigurationInterface )
41  MARBLE_PLUGIN( PositionMarker )
42  public:
43  explicit PositionMarker( const MarbleModel *marbleModel = 0 );
44  ~PositionMarker ();
45 
46  QStringList renderPosition() const;
47 
48  QString renderPolicy() const;
49 
50  QStringList backendTypes() const;
51 
52  QString name() const;
53 
54  QString guiString() const;
55 
56  QString nameId() const;
57 
58  QString version() const;
59 
60  QString description() const;
61 
62  QString copyrightYears() const;
63 
64  QList<PluginAuthor> pluginAuthors() const;
65 
66  QIcon icon () const;
67 
68  QDialog *configDialog();
69 
70  void initialize ();
71 
72  bool isInitialized () const;
73 
74  bool render( GeoPainter *painter, ViewportParams *viewport,
75  const QString& renderPos, GeoSceneLayer * layer = 0 );
76 
77  // Overriding LayerInterface to paint on top of the route
78  virtual qreal zValue() const;
79 
83  virtual QHash<QString,QVariant> settings() const;
84 
88  virtual void setSettings( const QHash<QString,QVariant> &settings );
89 
90 
91  public slots:
92  void readSettings();
93  void writeSettings();
94 
95  void setPosition( const GeoDataCoordinates &position );
96  void chooseCustomCursor();
97  void chooseColor();
98  void resizeCursor( int step );
99 
100  private:
101  Q_DISABLE_COPY( PositionMarker )
102 
103  void loadCustomCursor( const QString& filename, bool useCursor );
104  void loadDefaultCursor();
105 
106  bool m_isInitialized;
107  bool m_useCustomCursor;
108 
109  const QString m_defaultCursorPath;
110  GeoDataLatLonAltBox m_lastBoundingBox;
111  GeoDataCoordinates m_currentPosition;
112  GeoDataCoordinates m_previousPosition;
113 
114  Ui::PositionMarkerConfigWidget *ui_configWidget;
115  QDialog *m_configDialog;
116  QString m_cursorPath;
117 
118  QPolygonF m_arrow;
119  QPolygonF m_previousArrow;
120  QRegion m_dirtyRegion;
121  QPixmap m_customCursor;
122  QPixmap m_customCursorTransformed;
123  QPixmap m_defaultCursor;
124  float m_cursorSize;
125  QColor m_accuracyColor;
126  QColor m_trailColor;
127  qreal m_heading;
128  QVector<GeoDataCoordinates> m_trail;
129  static const int sm_numTrailPoints = 6;
130  bool m_showTrail;
131 
132  static const int sm_defaultSizeStep;
133  static const int sm_numResizeSteps;
134  static const float sm_resizeSteps[];
135 };
136 
137 }
138 
139 #endif
GeoDataCoordinates.h
Marble::PositionMarker::resizeCursor
void resizeCursor(int step)
Definition: PositionMarker.cpp:450
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::RenderPluginInterface
The class that specifies the Marble layer interface of a plugin.
Definition: RenderPluginInterface.h:30
Marble::PositionMarker::backendTypes
QStringList backendTypes() const
Returns the name(s) of the backend that the plugin can render This method should return the name of t...
Definition: PositionMarker.cpp:75
Marble::DialogConfigurationInterface
This interface allows a plugin to provide a QWidget-based configuration dialog which is accessible wi...
Definition: DialogConfigurationInterface.h:31
Marble::PositionMarker::settings
virtual QHash< QString, QVariant > settings() const
Definition: PositionMarker.cpp:280
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::PositionMarker::configDialog
QDialog * configDialog()
Returns a pointer to the configuration dialog of the plugin.
Definition: PositionMarker.cpp:124
Marble::PositionMarker
Definition: PositionMarker.h:35
Marble::PositionMarker::PositionMarker
PositionMarker(const MarbleModel *marbleModel=0)
Definition: PositionMarker.cpp:40
Marble::PositionMarker::chooseCustomCursor
void chooseCustomCursor()
Definition: PositionMarker.cpp:383
Marble::PositionMarker::pluginAuthors
QList< PluginAuthor > pluginAuthors() const
Definition: PositionMarker.cpp:110
Marble::PositionMarker::copyrightYears
QString copyrightYears() const
Definition: PositionMarker.cpp:105
Marble::PositionMarker::setSettings
virtual void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the item.
Definition: PositionMarker.cpp:294
Marble::GeoSceneLayer
Layer of a GeoScene document.
Definition: GeoSceneLayer.h:43
Marble::PositionMarker::nameId
QString nameId() const
Returns the unique name of the plugin.
Definition: PositionMarker.cpp:90
QHash< QString, QVariant >
Marble::PositionMarker::renderPosition
QStringList renderPosition() const
Preferred level in the layer stack for the rendering.
Definition: PositionMarker.cpp:65
Marble::PositionMarker::guiString
QString guiString() const
String that should be displayed in GUI.
Definition: PositionMarker.cpp:85
DialogConfigurationInterface.h
Marble::PositionMarker::render
bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos, GeoSceneLayer *layer=0)
Renders the content provided by the layer on the viewport.
Definition: PositionMarker.cpp:169
QString
QList
QColor
QStringList
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
QPixmap
Marble::PositionMarker::writeSettings
void writeSettings()
Definition: PositionMarker.cpp:351
Marble::PositionMarker::readSettings
void readSettings()
Definition: PositionMarker.cpp:314
Marble::PositionMarker::description
QString description() const
Returns a user description of the plugin.
Definition: PositionMarker.cpp:100
Marble::PositionMarker::chooseColor
void chooseColor()
Definition: PositionMarker.cpp:420
Marble::PositionMarker::isInitialized
bool isInitialized() const
Definition: PositionMarker.cpp:164
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::PositionMarker::icon
QIcon icon() const
Returns an icon for the plugin.
Definition: PositionMarker.cpp:119
QVector
Marble::PositionMarker::zValue
virtual qreal zValue() const
Returns the z value of the layer (default: 0.0).
Definition: PositionMarker.cpp:464
Marble::PositionMarker::version
QString version() const
Definition: PositionMarker.cpp:95
GeoDataLatLonAltBox.h
RenderPlugin.h
Marble::PositionMarker::name
QString name() const
Returns the user-visible name of the plugin.
Definition: PositionMarker.cpp:80
QDialog
Marble::PositionMarker::~PositionMarker
~PositionMarker()
Definition: PositionMarker.cpp:59
Marble::RenderPlugin::marbleModel
const MarbleModel * marbleModel() const
Access to the MarbleModel.
Definition: RenderPlugin.cpp:83
Marble::PositionMarker::renderPolicy
QString renderPolicy() const
Return how the plugin settings should be used.
Definition: PositionMarker.cpp:70
Marble::PositionMarker::initialize
void initialize()
Definition: PositionMarker.cpp:154
Marble::PositionMarker::setPosition
void setPosition(const GeoDataCoordinates &position)
Definition: PositionMarker.cpp:367
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
Marble::GeoDataLatLonAltBox
A class that defines a 3D bounding box for geographic data.
Definition: GeoDataLatLonAltBox.h:49
QRegion
QIcon
MARBLE_PLUGIN
#define MARBLE_PLUGIN(T)
Definition: RenderPlugin.h:340
QPolygonF
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