• 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
  • layers
PlacemarkLayer.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 2006-2007 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007-2008 Inge Wallin <ingwa@kde.org>
10 // Copyright 2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
11 //
12 
13 //
14 // PlacemarkLayer is responsible for drawing the Placemarks on the map
15 //
16 
17 #ifndef MARBLE_PLACEMARKLAYER_H
18 #define MARBLE_PLACEMARKLAYER_H
19 
20 
21 #include <QObject>
22 #include "LayerInterface.h"
23 
24 #include <QVector>
25 #include <QColor>
26 
27 #include "PlacemarkLayout.h"
28 
29 class QAbstractItemModel;
30 class QItemSelectionModel;
31 class QString;
32 
33 namespace Marble
34 {
35 
36 class GeoPainter;
37 class GeoSceneLayer;
38 class MarbleClock;
39 class ViewportParams;
40 class VisiblePlacemark;
41 
42 class PlacemarkLayer : public QObject, public LayerInterface
43 {
44  Q_OBJECT
45 
46  public:
47  PlacemarkLayer( QAbstractItemModel *placemarkModel,
48  QItemSelectionModel *selectionModel,
49  MarbleClock *clock,
50  QObject *parent = 0 );
51  ~PlacemarkLayer();
52 
56  QStringList renderPosition() const;
57 
61  qreal zValue() const;
62 
66  bool render( GeoPainter *painter, ViewportParams *viewport,
67  const QString &renderPos = "NONE", GeoSceneLayer *layer = 0 );
68 
69  RenderState renderState() const;
70 
71  virtual QString runtimeTrace() const;
72 
76  QVector<const GeoDataPlacemark*> whichPlacemarkAt( const QPoint &pos );
77 
78  static bool m_useXWorkaround; // Indicates need for an X windows workaround.
79  public Q_SLOTS:
80  // earth
81  void setShowPlaces( bool show );
82  void setShowCities( bool show );
83  void setShowTerrain( bool show );
84  void setShowOtherPlaces( bool show );
85 
86  // other planets
87  void setShowLandingSites( bool show );
88  void setShowCraters( bool show );
89  void setShowMaria( bool show );
90 
91  void requestStyleReset();
92 
93  Q_SIGNALS:
94  void repaintNeeded();
95 
96  private:
97  static bool testXBug();
98 
99  PlacemarkLayout m_layout;
100 };
101 
102 }
103 
104 #endif
Marble::PlacemarkLayer::setShowOtherPlaces
void setShowOtherPlaces(bool show)
Definition: PlacemarkLayer.cpp:133
Marble::PlacemarkLayer::setShowTerrain
void setShowTerrain(bool show)
Definition: PlacemarkLayer.cpp:128
Marble::PlacemarkLayer::whichPlacemarkAt
QVector< const GeoDataPlacemark * > whichPlacemarkAt(const QPoint &pos)
Returns a list of model indexes that are at position pos.
Definition: PlacemarkLayer.cpp:113
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::PlacemarkLayer::zValue
qreal zValue() const
Definition: PlacemarkLayer.cpp:52
Marble::PlacemarkLayer::setShowLandingSites
void setShowLandingSites(bool show)
Definition: PlacemarkLayer.cpp:138
Marble::PlacemarkLayer::runtimeTrace
virtual QString runtimeTrace() const
Returns a debug line for perfo/tracing issues.
Definition: PlacemarkLayer.cpp:108
LayerInterface.h
Marble::LayerInterface
Definition: LayerInterface.h:26
Marble::PlacemarkLayer::repaintNeeded
void repaintNeeded()
Marble::PlacemarkLayer::PlacemarkLayer
PlacemarkLayer(QAbstractItemModel *placemarkModel, QItemSelectionModel *selectionModel, MarbleClock *clock, QObject *parent=0)
Definition: PlacemarkLayer.cpp:30
QPoint
PlacemarkLayout.h
Marble::PlacemarkLayer
Definition: PlacemarkLayer.h:42
Marble::GeoSceneLayer
Layer of a GeoScene document.
Definition: GeoSceneLayer.h:43
Marble::PlacemarkLayer::renderState
RenderState renderState() const
Definition: PlacemarkLayer.cpp:103
Marble::PlacemarkLayer::setShowCities
void setShowCities(bool show)
Definition: PlacemarkLayer.cpp:123
QObject
Marble::PlacemarkLayer::~PlacemarkLayer
~PlacemarkLayer()
Definition: PlacemarkLayer.cpp:43
Marble::PlacemarkLayer::setShowMaria
void setShowMaria(bool show)
Definition: PlacemarkLayer.cpp:148
QString
Marble::PlacemarkLayer::render
bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos="NONE", GeoSceneLayer *layer=0)
Definition: PlacemarkLayer.cpp:57
Marble::RenderState
Definition: RenderState.h:22
QStringList
Marble::PlacemarkLayout
Layouts the place marks with a passed QPainter.
Definition: PlacemarkLayout.h:54
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::PlacemarkLayer::requestStyleReset
void requestStyleReset()
Definition: PlacemarkLayer.cpp:153
QVector
QAbstractItemModel
Marble::PlacemarkLayer::m_useXWorkaround
static bool m_useXWorkaround
Definition: PlacemarkLayer.h:78
QItemSelectionModel
QObject::parent
QObject * parent() const
Marble::MarbleClock
Definition: MarbleClock.h:25
Marble::PlacemarkLayer::setShowPlaces
void setShowPlaces(bool show)
Definition: PlacemarkLayer.cpp:118
Marble::PlacemarkLayer::setShowCraters
void setShowCraters(bool show)
Definition: PlacemarkLayer.cpp:143
Marble::PlacemarkLayer::renderPosition
QStringList renderPosition() const
Definition: PlacemarkLayer.cpp:47
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