• 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
LayerManager.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-2008 Torsten Rahn <tackat@kde.org>
9 // Copyright 2011 Bernahrd Beschow <bbeschow@cs.tu-berlin.de>
10 //
11 
12 #ifndef MARBLE_LAYERMANAGER_H
13 #define MARBLE_LAYERMANAGER_H
14 
15 #include "RenderState.h"
16 
17 // Qt
18 #include <QList>
19 #include <QObject>
20 #include <QString>
21 #include <QRegion>
22 
23 class QPoint;
24 
25 namespace Marble
26 {
27 
28 class AbstractDataPlugin;
29 class AbstractDataPluginItem;
30 class GeoPainter;
31 class ViewportParams;
32 class RenderPlugin;
33 class AbstractFloatItem;
34 class AbstractDataPlugin;
35 class MarbleModel;
36 class LayerInterface;
37 
43 class LayerManager : public QObject
44 {
45  Q_OBJECT
46 
47  public:
48  explicit LayerManager( const MarbleModel *model, QObject *parent = 0);
49  ~LayerManager();
50 
51  void renderLayers( GeoPainter *painter, ViewportParams *viewport );
52 
53  bool showBackground() const;
54 
59  QList<RenderPlugin *> renderPlugins() const;
64  QList<AbstractFloatItem *> floatItems() const;
69  QList<AbstractDataPlugin *> dataPlugins() const;
70 
74  QList<AbstractDataPluginItem *> whichItemAt( const QPoint& curpos ) const;
75 
79  void addLayer(LayerInterface *layer);
80 
84  void removeLayer(LayerInterface *layer);
85 
86  QList<LayerInterface *> internalLayers() const;
87 
88  RenderState renderState() const;
89 
90  Q_SIGNALS:
94  void renderPluginInitialized( RenderPlugin *renderPlugin );
95 
99  void pluginSettingsChanged();
100 
106  void repaintNeeded( const QRegion & dirtyRegion = QRegion() );
107 
108  void visibilityChanged( const QString &nameId, bool visible );
109 
110  public Q_SLOTS:
111  void setShowBackground( bool show );
112 
113  void setShowRuntimeTrace( bool show );
114 
115  private:
116  Q_PRIVATE_SLOT( d, void updateVisibility( bool, const QString & ) )
117 
118  Q_PRIVATE_SLOT( d, void addPlugins() )
119 
120  private:
121  Q_DISABLE_COPY( LayerManager )
122 
123  class Private;
124  friend class Private;
125  Private * const d;
126 };
127 
128 }
129 
130 #endif
Marble::LayerManager::visibilityChanged
void visibilityChanged(const QString &nameId, bool visible)
Marble::LayerManager::LayerManager
LayerManager(const MarbleModel *model, QObject *parent=0)
Definition: LayerManager.cpp:86
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::LayerManager::internalLayers
QList< LayerInterface * > internalLayers() const
Definition: LayerManager.cpp:262
Marble::LayerManager::renderPlugins
QList< RenderPlugin * > renderPlugins() const
Returns a list of all RenderPlugins on the layer, this includes float items.
Definition: LayerManager.cpp:104
Marble::LayerInterface
Definition: LayerInterface.h:26
QPoint
Marble::LayerManager::addLayer
void addLayer(LayerInterface *layer)
Add a layer to be included in rendering.
Definition: LayerManager.cpp:252
Marble::LayerManager::showBackground
bool showBackground() const
Definition: LayerManager.cpp:99
Marble::LayerManager
Handles rendering of all active layers in the correct order.
Definition: LayerManager.h:43
Marble::LayerManager::~LayerManager
~LayerManager()
Definition: LayerManager.cpp:94
RenderState.h
QObject
Marble::LayerManager::floatItems
QList< AbstractFloatItem * > floatItems() const
Returns a list of all FloatItems on the layer.
Definition: LayerManager.cpp:109
Marble::LayerManager::Private
friend class Private
Definition: LayerManager.h:123
QString
QList
Marble::LayerManager::renderPluginInitialized
void renderPluginInitialized(RenderPlugin *renderPlugin)
Signal that a render item has been initialized.
Marble::RenderState
Definition: RenderState.h:22
Marble::LayerManager::setShowBackground
void setShowBackground(bool show)
Definition: LayerManager.cpp:242
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::LayerManager::pluginSettingsChanged
void pluginSettingsChanged()
This signal is emitted when the settings of a plugin changed.
Marble::LayerManager::whichItemAt
QList< AbstractDataPluginItem * > whichItemAt(const QPoint &curpos) const
Returns all items of dataPlugins on the position curpos.
Definition: LayerManager.cpp:119
Marble::LayerManager::repaintNeeded
void repaintNeeded(const QRegion &dirtyRegion=QRegion())
This signal is emitted when the repaint of the view was requested by a plugin.
Marble::LayerManager::renderState
RenderState renderState() const
Definition: LayerManager.cpp:267
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::LayerManager::setShowRuntimeTrace
void setShowRuntimeTrace(bool show)
Definition: LayerManager.cpp:247
Marble::LayerManager::dataPlugins
QList< AbstractDataPlugin * > dataPlugins() const
Returns a list of all DataPlugins on the layer.
Definition: LayerManager.cpp:114
Marble::LayerManager::removeLayer
void removeLayer(LayerInterface *layer)
Remove a layer from being included in rendering.
Definition: LayerManager.cpp:257
QObject::parent
QObject * parent() const
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
QRegion
Marble::LayerManager::renderLayers
void renderLayers(GeoPainter *painter, ViewportParams *viewport)
Definition: LayerManager.cpp:129
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:40 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