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

marble

  • sources
  • kde-4.12
  • 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  PositionMarker ();
44  explicit PositionMarker( const MarbleModel *marbleModel );
45  ~PositionMarker ();
46 
47  QStringList renderPosition() const;
48 
49  QString renderPolicy() const;
50 
51  QStringList backendTypes() const;
52 
53  QString name() const;
54 
55  QString guiString() const;
56 
57  QString nameId() const;
58 
59  QString version() const;
60 
61  QString description() const;
62 
63  QString copyrightYears() const;
64 
65  QList<PluginAuthor> pluginAuthors() const;
66 
67  QIcon icon () const;
68 
69  QDialog *configDialog();
70 
71  void initialize ();
72 
73  bool isInitialized () const;
74 
75  bool render( GeoPainter *painter, ViewportParams *viewport,
76  const QString& renderPos, GeoSceneLayer * layer = 0 );
77 
78  // Overriding LayerInterface to paint on top of the route
79  virtual qreal zValue() const;
80 
84  virtual QHash<QString,QVariant> settings() const;
85 
89  virtual void setSettings( const QHash<QString,QVariant> &settings );
90 
91 
92  public slots:
93  void readSettings();
94  void writeSettings();
95 
96  void setPosition( const GeoDataCoordinates &position );
97  void chooseCustomCursor();
98  void chooseColor();
99  void resizeCursor( int step );
100 
101  private:
102  Q_DISABLE_COPY( PositionMarker )
103 
104  void loadCustomCursor( const QString& filename, bool useCursor );
105  void loadDefaultCursor();
106 
107  bool m_isInitialized;
108  bool m_useCustomCursor;
109 
110  const QString m_defaultCursorPath;
111  GeoDataLatLonAltBox m_lastBoundingBox;
112  GeoDataCoordinates m_currentPosition;
113  GeoDataCoordinates m_previousPosition;
114 
115  Ui::PositionMarkerConfigWidget *ui_configWidget;
116  QDialog *m_configDialog;
117  QString m_cursorPath;
118 
119  QPolygonF m_arrow;
120  QPolygonF m_previousArrow;
121  QRegion m_dirtyRegion;
122  QPixmap m_customCursor;
123  QPixmap m_customCursorTransformed;
124  QPixmap m_defaultCursor;
125  float m_cursorSize;
126  QColor m_accuracyColor;
127  QColor m_trailColor;
128  qreal m_heading;
129  QVector<GeoDataCoordinates> m_trail;
130  static const int sm_numTrailPoints = 6;
131  bool m_showTrail;
132 
133  static const int sm_defaultSizeStep;
134  static const int sm_numResizeSteps;
135  static const float sm_resizeSteps[];
136 };
137 
138 }
139 
140 #endif
GeoDataCoordinates.h
Marble::PositionMarker::resizeCursor
void resizeCursor(int step)
Definition: PositionMarker.cpp:457
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:82
Marble::DialogConfigurationInterface
This interface allows a plugin to provide a QWidget-based configuration dialog which is accessible wi...
Definition: DialogConfigurationInterface.h:31
QDialog
Marble::PositionMarker::settings
virtual QHash< QString, QVariant > settings() const
Definition: PositionMarker.cpp:287
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:131
Marble::PositionMarker
Definition: PositionMarker.h:35
Marble::PositionMarker::PositionMarker
PositionMarker()
Definition: PositionMarker.cpp:40
Marble::PositionMarker::chooseCustomCursor
void chooseCustomCursor()
Definition: PositionMarker.cpp:390
Marble::PositionMarker::pluginAuthors
QList< PluginAuthor > pluginAuthors() const
Definition: PositionMarker.cpp:117
Marble::PositionMarker::copyrightYears
QString copyrightYears() const
Definition: PositionMarker.cpp:112
Marble::PositionMarker::setSettings
virtual void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the item.
Definition: PositionMarker.cpp:301
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:97
Marble::PositionMarker::renderPosition
QStringList renderPosition() const
Preferred level in the layer stack for the rendering.
Definition: PositionMarker.cpp:72
Marble::PositionMarker::guiString
QString guiString() const
String that should be displayed in GUI.
Definition: PositionMarker.cpp:92
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:176
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::PositionMarker::writeSettings
void writeSettings()
Definition: PositionMarker.cpp:358
Marble::PositionMarker::readSettings
void readSettings()
Definition: PositionMarker.cpp:321
Marble::PositionMarker::description
QString description() const
Returns a user description of the plugin.
Definition: PositionMarker.cpp:107
Marble::PositionMarker::chooseColor
void chooseColor()
Definition: PositionMarker.cpp:427
Marble::PositionMarker::isInitialized
bool isInitialized() const
Definition: PositionMarker.cpp:171
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:96
Marble::PositionMarker::icon
QIcon icon() const
Returns an icon for the plugin.
Definition: PositionMarker.cpp:126
Marble::PositionMarker::zValue
virtual qreal zValue() const
Returns the z value of the layer (default: 0.0).
Definition: PositionMarker.cpp:471
Marble::PositionMarker::version
QString version() const
Definition: PositionMarker.cpp:102
GeoDataLatLonAltBox.h
RenderPlugin.h
Marble::PositionMarker::name
QString name() const
Returns the user-visible name of the plugin.
Definition: PositionMarker.cpp:87
Marble::PositionMarker::~PositionMarker
~PositionMarker()
Definition: PositionMarker.cpp:66
Marble::RenderPlugin::marbleModel
const MarbleModel * marbleModel() const
Access to the MarbleModel.
Definition: RenderPlugin.cpp:81
Marble::PositionMarker::renderPolicy
QString renderPolicy() const
Return how the plugin settings should be used.
Definition: PositionMarker.cpp:77
Marble::PositionMarker::initialize
void initialize()
Definition: PositionMarker.cpp:161
Marble::PositionMarker::setPosition
void setPosition(const GeoDataCoordinates &position)
Definition: PositionMarker.cpp:374
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
MARBLE_PLUGIN
#define MARBLE_PLUGIN(T)
Definition: RenderPlugin.h:337
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:52 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
  • kstars
  • libkdeedu
  •   keduvocdocument
  • 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