• 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
  • 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 // Qt
16 #include <QList>
17 #include <QObject>
18 #include <QString>
19 #include <QRegion>
20 
21 class QPoint;
22 
23 namespace Marble
24 {
25 
26 class AbstractDataPlugin;
27 class AbstractDataPluginItem;
28 class GeoPainter;
29 class ViewportParams;
30 class RenderPlugin;
31 class AbstractFloatItem;
32 class AbstractDataPlugin;
33 class MarbleModel;
34 class LayerInterface;
35 
41 class LayerManager : public QObject
42 {
43  Q_OBJECT
44 
45  public:
46  explicit LayerManager( const MarbleModel *model, QObject *parent = 0);
47  ~LayerManager();
48 
49  void renderLayers( GeoPainter *painter, ViewportParams *viewport );
50 
51  bool showBackground() const;
52 
57  QList<RenderPlugin *> renderPlugins() const;
62  QList<AbstractFloatItem *> floatItems() const;
67  QList<AbstractDataPlugin *> dataPlugins() const;
68 
72  QList<AbstractDataPluginItem *> whichItemAt( const QPoint& curpos ) const;
73 
77  void addLayer(LayerInterface *layer);
78 
82  void removeLayer(LayerInterface *layer);
83 
84  QList<LayerInterface *> internalLayers() const;
85 
86  Q_SIGNALS:
90  void renderPluginInitialized( RenderPlugin *renderPlugin );
91 
95  void pluginSettingsChanged();
96 
102  void repaintNeeded( const QRegion & dirtyRegion = QRegion() );
103 
104  void visibilityChanged( const QString &nameId, bool visible );
105 
106  public Q_SLOTS:
107  void setShowBackground( bool show );
108 
109  void setShowRuntimeTrace( bool show );
110 
111  void setVisible( const QString &nameId, bool visible );
112 
113  private:
114  Q_PRIVATE_SLOT( d, void updateVisibility( bool, const QString & ) )
115 
116  Q_PRIVATE_SLOT( d, void addPlugins() )
117 
118  private:
119  Q_DISABLE_COPY( LayerManager )
120 
121  class Private;
122  friend class Private;
123  Private * const d;
124 };
125 
126 }
127 
128 #endif
Marble::LayerManager::visibilityChanged
void visibilityChanged(const QString &nameId, bool visible)
Marble::LayerManager::LayerManager
LayerManager(const MarbleModel *model, QObject *parent=0)
Definition: LayerManager.cpp:84
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:273
Marble::LayerManager::renderPlugins
QList< RenderPlugin * > renderPlugins() const
Returns a list of all RenderPlugins on the layer, this includes float items.
Definition: LayerManager.cpp:102
Marble::LayerInterface
Definition: LayerInterface.h:25
QObject
Marble::LayerManager::addLayer
void addLayer(LayerInterface *layer)
Add a layer to be included in rendering.
Definition: LayerManager.cpp:263
Marble::LayerManager::showBackground
bool showBackground() const
Definition: LayerManager.cpp:97
Marble::LayerManager
Handles rendering of all active layers in the correct order.
Definition: LayerManager.h:41
Marble::LayerManager::~LayerManager
~LayerManager()
Definition: LayerManager.cpp:92
Marble::LayerManager::floatItems
QList< AbstractFloatItem * > floatItems() const
Returns a list of all FloatItems on the layer.
Definition: LayerManager.cpp:107
Marble::LayerManager::Private
friend class Private
Definition: LayerManager.h:121
Marble::LayerManager::renderPluginInitialized
void renderPluginInitialized(RenderPlugin *renderPlugin)
Signal that a render item has been initialized.
Marble::LayerManager::setShowBackground
void setShowBackground(bool show)
Definition: LayerManager.cpp:239
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:117
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::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:96
Marble::LayerManager::setShowRuntimeTrace
void setShowRuntimeTrace(bool show)
Definition: LayerManager.cpp:244
Marble::LayerManager::dataPlugins
QList< AbstractDataPlugin * > dataPlugins() const
Returns a list of all DataPlugins on the layer.
Definition: LayerManager.cpp:112
Marble::LayerManager::setVisible
void setVisible(const QString &nameId, bool visible)
Definition: LayerManager.cpp:249
Marble::LayerManager::removeLayer
void removeLayer(LayerInterface *layer)
Remove a layer from being included in rendering.
Definition: LayerManager.cpp:268
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
Marble::LayerManager::renderLayers
void renderLayers(GeoPainter *painter, ViewportParams *viewport)
Definition: LayerManager.cpp:127
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:51 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