• 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
  • declarative
MarbleDeclarativeWidget.cpp
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 2010 Dennis Nienhüser <earthwings@gentoo.org>
9 //
10 
11 #include "MarbleDeclarativeWidget.h"
12 
13 #include "Coordinate.h"
14 #include "ZoomButtonInterceptor.h"
15 
16 #include "GeoDataCoordinates.h"
17 #include "MarbleWidget.h"
18 #include "MarbleModel.h"
19 #include "MarbleWidgetInputHandler.h"
20 #include "MarbleMath.h"
21 #include "MapThemeManager.h"
22 #include "AbstractFloatItem.h"
23 #include "AbstractDataPlugin.h"
24 #include "RenderPlugin.h"
25 #include "MarbleMap.h"
26 #include "MarbleDirs.h"
27 #include "ViewParams.h"
28 #include "ViewportParams.h"
29 #include "DownloadRegion.h"
30 #include "BookmarkManager.h"
31 #include "routing/RoutingManager.h"
32 #include "routing/RoutingProfilesModel.h"
33 #include "DeclarativeDataPlugin.h"
34 #include "PluginManager.h"
35 
36 #include <QSettings>
37 #include <QApplication>
38 
39 #if QT_VERSION < 0x050000
40  typedef QDeclarativeComponent QQmlComponent;
41 #endif
42 
43 MarbleWidget::MarbleWidget( QGraphicsItem *parent , Qt::WindowFlags flags ) :
44  QGraphicsProxyWidget( parent, flags ),
45  m_marbleWidget( new Marble::MarbleWidget ),
46  m_inputEnabled( true ),
47  m_interceptor( new ZoomButtonInterceptor( this, this ) )
48 {
49  m_marbleWidget->setMapThemeId( "earth/openstreetmap/openstreetmap.dgml" );
50  QSettings settings;
51  m_marbleWidget->readPluginSettings( settings );
52  m_marbleWidget->model()->routingManager()->profilesModel()->loadDefaultProfiles();
53  m_marbleWidget->model()->routingManager()->readSettings();
54  m_marbleWidget->model()->bookmarkManager()->loadFile( "bookmarks/bookmarks.kml" );
55  setWidget( m_marbleWidget );
56 
57  connect( m_marbleWidget, SIGNAL(visibleLatLonAltBoxChanged(GeoDataLatLonAltBox)),
58  this, SIGNAL(visibleLatLonAltBoxChanged()) );
59  connect( m_marbleWidget->model(), SIGNAL(workOfflineChanged()),
60  this, SIGNAL(workOfflineChanged()) );
61  connect( m_marbleWidget, SIGNAL(zoomChanged(int)),
62  this, SIGNAL(radiusChanged()) );
63  connect( m_marbleWidget, SIGNAL(themeChanged(QString)),
64  this, SIGNAL(mapThemeChanged()) );
65  connect( m_marbleWidget, SIGNAL(projectionChanged(Projection)),
66  this, SIGNAL(projectionChanged()) );
67  connect( m_marbleWidget, SIGNAL(mouseClickGeoPosition(qreal,qreal,GeoDataCoordinates::Unit)),
68  this, SLOT(forwardMouseClick(qreal,qreal,GeoDataCoordinates::Unit)) );
69  connect( &m_center, SIGNAL(latitudeChanged()), this, SLOT(updateCenterPosition()));
70  connect( &m_center, SIGNAL(longitudeChanged()), this, SLOT(updateCenterPosition()));
71 
72  m_marbleWidget->inputHandler()->setMouseButtonPopupEnabled( Qt::LeftButton, false );
73  m_marbleWidget->inputHandler()->setPanViaArrowsEnabled( false );
74  grabGesture( Qt::PinchGesture, Qt::ReceivePartialGestures | Qt::IgnoredGesturesPropagateToParent );
75  setAcceptTouchEvents(true);
76 }
77 
78 MarbleWidget::~MarbleWidget()
79 {
80  QSettings settings;
81  m_marbleWidget->writePluginSettings( settings );
82  m_marbleWidget->model()->routingManager()->writeSettings();
83 }
84 
85 Marble::MarbleModel *MarbleWidget::model()
86 {
87  return m_marbleWidget->model();
88 }
89 
90 const Marble::ViewportParams *MarbleWidget::viewport() const
91 {
92  return m_marbleWidget->viewport();
93 }
94 
95 QList<QObject*> MarbleWidget::renderPlugins() const
96 {
97  QList<QObject*> result;
98  foreach ( Marble::RenderPlugin* plugin, m_marbleWidget->renderPlugins() ) {
99  result << plugin;
100  }
101 
102  return result;
103 }
104 
105 QStringList MarbleWidget::activeFloatItems() const
106 {
107  QStringList result;
108  foreach( Marble::AbstractFloatItem * floatItem, m_marbleWidget->floatItems() ) {
109  if ( floatItem->enabled() && floatItem->visible() ) {
110  result << floatItem->nameId();
111  }
112  }
113  return result;
114 }
115 
116 void MarbleWidget::setActiveFloatItems( const QStringList &items )
117 {
118  foreach( Marble::AbstractFloatItem * floatItem, m_marbleWidget->floatItems() ) {
119  floatItem->setEnabled( items.contains( floatItem->nameId() ) );
120  floatItem->setVisible( items.contains( floatItem->nameId() ) );
121  }
122 }
123 
124 QStringList MarbleWidget::activeRenderPlugins() const
125 {
126  QStringList result;
127  foreach( Marble::RenderPlugin * plugin, m_marbleWidget->renderPlugins() ) {
128  if ( plugin->enabled() && plugin->visible() ) {
129  result << plugin->nameId();
130  }
131  }
132  return result;
133 }
134 
135 #if QT_VERSION < 0x050000
136 QDeclarativeListProperty<QObject> MarbleWidget::childList()
137 {
138  return QDeclarativeListProperty<QObject>( this, m_children );
139 }
140 
141 QDeclarativeListProperty<DeclarativeDataPlugin> MarbleWidget::dataLayers()
142 {
143  return QDeclarativeListProperty<DeclarativeDataPlugin>( this, 0, &MarbleWidget::addLayer, 0, 0, 0 );
144 }
145 
146 #else
147 QQmlListProperty<QObject> MarbleWidget::childList()
148 {
149  return QQmlListProperty<QObject>( this, m_children );
150 }
151 
152 QQmlListProperty<DeclarativeDataPlugin> MarbleWidget::dataLayers()
153 {
154  return QQmlListProperty<DeclarativeDataPlugin>( this, 0, &MarbleWidget::addLayer, 0, 0, 0 );
155 }
156 #endif
157 
158 void MarbleWidget::setActiveRenderPlugins( const QStringList &items )
159 {
160  foreach( Marble::RenderPlugin * plugin, m_marbleWidget->renderPlugins() ) {
161  plugin->setEnabled( items.contains( plugin->nameId() ) );
162  plugin->setVisible( items.contains( plugin->nameId() ) );
163  }
164 }
165 
166 bool MarbleWidget::inputEnabled() const
167 {
168  return m_inputEnabled;
169 }
170 
171 void MarbleWidget::setInputEnabled( bool enabled )
172 {
173  m_inputEnabled = enabled;
174  m_marbleWidget->setInputEnabled( enabled );
175 }
176 
177 QString MarbleWidget::mapThemeId() const
178 {
179  return m_marbleWidget->mapThemeId();
180 }
181 
182 void MarbleWidget::setMapThemeId( const QString &mapThemeId )
183 {
184  m_marbleWidget->setMapThemeId( mapThemeId );
185 }
186 
187 QString MarbleWidget::projection( ) const
188 {
189  switch ( m_marbleWidget->projection() ) {
190  case Marble::Equirectangular:
191  return "Equirectangular";
192  case Marble::Mercator:
193  return "Mercator";
194  case Marble::Spherical:
195  return "Spherical";
196  }
197 
198  Q_ASSERT( false && "Marble got a new projection which we do not know about yet" );
199  return "Spherical";
200 }
201 
202 void MarbleWidget::setProjection( const QString &projection )
203 {
204  if ( projection.compare( "Equirectangular", Qt::CaseInsensitive ) == 0 ) {
205  m_marbleWidget->setProjection( Marble::Equirectangular );
206  } else if ( projection.compare( "Mercator", Qt::CaseInsensitive ) == 0 ) {
207  m_marbleWidget->setProjection( Marble::Mercator );
208  } else {
209  m_marbleWidget->setProjection( Marble::Spherical );
210  }
211 }
212 
213 void MarbleWidget::zoomIn()
214 {
215  m_marbleWidget->zoomIn();
216 }
217 
218 void MarbleWidget::zoomOut()
219 {
220  m_marbleWidget->zoomOut();
221 }
222 
223 QPoint MarbleWidget::pixel( qreal lon, qreal lat ) const
224 {
225  Marble::GeoDataCoordinates position( lon, lat, 0, Marble::GeoDataCoordinates::Degree );
226  qreal x( 0.0 );
227  qreal y( 0.0 );
228  Marble::ViewportParams *viewport = m_marbleWidget->viewport();
229  viewport->screenCoordinates( position, x, y );
230  return QPoint( x, y );
231 }
232 
233 Coordinate *MarbleWidget::coordinate( int x, int y )
234 {
235  qreal lat( 0.0 ), lon( 0.0 );
236  m_marbleWidget->geoCoordinates( x, y, lon, lat );
237  return new Coordinate( lon, lat, 0.0, this );
238 }
239 
240 Coordinate* MarbleWidget::center()
241 {
242  m_center.blockSignals( true );
243  m_center.setLongitude( m_marbleWidget->centerLongitude() );
244  m_center.setLatitude( m_marbleWidget->centerLatitude() );
245  m_center.blockSignals( false );
246  return &m_center;
247 }
248 
249 void MarbleWidget::setCenter( Coordinate* center )
250 {
251  if ( center ) {
252  m_center.blockSignals( true );
253  m_center.setLongitude( center->longitude() );
254  m_center.setLatitude( center->latitude() );
255  m_center.setAltitude( center->altitude() );
256  m_center.blockSignals( false );
257  updateCenterPosition();
258  }
259 }
260 
261 void MarbleWidget::centerOn( const Marble::GeoDataLatLonBox &bbox )
262 {
263  m_marbleWidget->centerOn( bbox );
264 }
265 
266 void MarbleWidget::centerOn( const Marble::GeoDataCoordinates &coordinates )
267 {
268  m_marbleWidget->centerOn( coordinates );
269 }
270 
271 void MarbleWidget::updateCenterPosition()
272 {
273  m_marbleWidget->centerOn( m_center.longitude(), m_center.latitude() );
274 }
275 
276 void MarbleWidget::forwardMouseClick(qreal lon, qreal lat, Marble::GeoDataCoordinates::Unit unit )
277 {
278  Marble::GeoDataCoordinates position( lon, lat, unit );
279  Marble::GeoDataCoordinates::Unit degree = Marble::GeoDataCoordinates::Degree;
280  QPoint const point = pixel( position.longitude( degree ), position.latitude( degree ) );
281  QVector<const Marble::GeoDataPlacemark*> const placemarks = m_marbleWidget->whichFeatureAt( point );
282  if ( !placemarks.isEmpty() ) {
283  if ( placemarks.size() == 1 ) {
284  Placemark* placemark = new Placemark;
285  placemark->setGeoDataPlacemark( *placemarks.first() );
286  emit placemarkSelected( placemark );
287  }
288  } else {
289  emit mouseClickGeoPosition( position.longitude( degree ),
290  position.latitude( degree ) );
291  }
292 }
293 
294 #if QT_VERSION < 0x050000
295 void MarbleWidget::addLayer( QDeclarativeListProperty<DeclarativeDataPlugin> *list, DeclarativeDataPlugin *layer )
296 #else
297 void MarbleWidget::addLayer( QQmlListProperty<DeclarativeDataPlugin> *list, DeclarativeDataPlugin *layer )
298 #endif
299 {
300  MarbleWidget *object = qobject_cast<MarbleWidget *>( list->object );
301  if ( object ) {
302  object->m_marbleWidget->model()->pluginManager()->addRenderPlugin( layer );
303  object->setDataPluginDelegate( layer->nameId(), layer->delegate() );
304  object->m_dataLayers << layer;
305  }
306 }
307 
308 QStandardItemModel *MarbleWidget::mapThemeModel()
309 {
310  return m_mapThemeManager.mapThemeModel();
311 }
312 
313 void MarbleWidget::setGeoSceneProperty(const QString &key, bool value)
314 {
315  m_marbleWidget->setPropertyValue( key, value );
316 }
317 
318 void MarbleWidget::downloadRoute( qreal offset, int topTileLevel, int bottomTileLevel )
319 {
320  Marble::DownloadRegion region;
321  region.setMarbleModel( m_marbleWidget->model() );
322  region.setVisibleTileLevel( m_marbleWidget->tileZoomLevel() );
323  region.setTileLevelRange( topTileLevel, bottomTileLevel );
324  QVector<Marble::TileCoordsPyramid> const pyramid = region.routeRegion( m_marbleWidget->textureLayer(), offset );
325  if ( !pyramid.isEmpty() ) {
326  m_marbleWidget->downloadRegion( pyramid );
327  }
328 }
329 
330 void MarbleWidget::downloadArea(int topTileLevel, int bottomTileLevel)
331 {
332  Marble::DownloadRegion region;
333  region.setMarbleModel( m_marbleWidget->model() );
334  region.setVisibleTileLevel( m_marbleWidget->tileZoomLevel() );
335  region.setTileLevelRange( topTileLevel, bottomTileLevel );
336  QVector<Marble::TileCoordsPyramid> const pyramid = region.region( m_marbleWidget->textureLayer(), m_marbleWidget->viewport()->viewLatLonAltBox() );
337  if ( !pyramid.isEmpty() ) {
338  m_marbleWidget->downloadRegion( pyramid );
339  }
340 }
341 
342 void MarbleWidget::setDataPluginDelegate( const QString &plugin, QQmlComponent *delegate )
343 {
344  QList<Marble::RenderPlugin*> renderPlugins = m_marbleWidget->renderPlugins();
345  foreach( Marble::RenderPlugin* renderPlugin, renderPlugins ) {
346  Marble::AbstractDataPlugin* dataPlugin = qobject_cast<Marble::AbstractDataPlugin*>( renderPlugin );
347  if ( dataPlugin && dataPlugin->nameId() == plugin ) {
348  dataPlugin->setDelegate( delegate, this );
349  }
350  }
351 }
352 
353 bool MarbleWidget::workOffline() const
354 {
355  return m_marbleWidget->model()->workOffline();
356 }
357 
358 void MarbleWidget::setWorkOffline( bool workOffline )
359 {
360  m_marbleWidget->model()->setWorkOffline( workOffline );
361 }
362 
363 int MarbleWidget::radius() const
364 {
365  return m_marbleWidget->radius();
366 }
367 
368 void MarbleWidget::setRadius( int radius )
369 {
370  m_marbleWidget->setRadius( radius );
371 }
372 
373 bool MarbleWidget::event ( QEvent * event )
374 {
375  if ( m_marbleWidget && event && event->type() == QEvent::Gesture ) {
376  return QApplication::sendEvent( m_marbleWidget, event );
377  }
378 
379  return QGraphicsProxyWidget::event( event );
380 }
381 
382 bool MarbleWidget::sceneEvent( QEvent *event )
383 {
384  if ( event->type() == QEvent::TouchBegin ) {
385  event->accept();
386  return true;
387  }
388 
389  return QGraphicsProxyWidget::sceneEvent( event );
390 }
391 
392 Marble::RenderPlugin *MarbleWidget::renderPlugin( const QString & name )
393 {
394  foreach( Marble::RenderPlugin * plugin, m_marbleWidget->renderPlugins() )
395  {
396  if( plugin->nameId() == name ) {
397  return plugin;
398  }
399  }
400  return 0;
401 }
402 
403 bool MarbleWidget::containsRenderPlugin( const QString & name )
404 {
405  foreach( Marble::RenderPlugin * plugin, m_marbleWidget->renderPlugins() )
406  {
407  if( plugin->nameId() == name ) {
408  return true;
409  }
410  }
411  return false;
412 }
413 
414 QList<QObject*> MarbleWidget::floatItems() const
415 {
416  QList<QObject*> result;
417  foreach ( Marble::AbstractFloatItem* plugin, m_marbleWidget->floatItems() ) {
418  result << plugin;
419  }
420 
421  return result;
422 }
423 
424 Marble::AbstractFloatItem* MarbleWidget::floatItem( const QString & name )
425 {
426  foreach( Marble::AbstractFloatItem * plugin, m_marbleWidget->floatItems() )
427  {
428  if( plugin->nameId() == name ) {
429  return plugin ;
430  }
431  }
432  return 0;
433 }
434 
435 bool MarbleWidget::containsFloatItem( const QString & name )
436 {
437  foreach( Marble::AbstractFloatItem * plugin, m_marbleWidget->floatItems() )
438  {
439  if( plugin->nameId() == name ) {
440  return true;
441  }
442  }
443  return false;
444 }
445 
446 #include "MarbleDeclarativeWidget.moc"
Marble::GeoDataCoordinates::Unit
Unit
enum used constructor to specify the units used
Definition: GeoDataCoordinates.h:64
Marble::MarbleWidget::tileZoomLevel
int tileZoomLevel() const
Definition: MarbleWidget.cpp:372
Marble::MapThemeManager::mapThemeModel
QStandardItemModel * mapThemeModel()
Provides a model of the locally existing themes.
Definition: MapThemeManager.cpp:319
MarbleWidget::radius
int radius() const
GeoDataCoordinates.h
Marble::RenderPlugin::enabled
bool enabled
Definition: RenderPlugin.h:51
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::AbstractFloatItem::visible
bool visible() const
Check visibility of the float item.
Definition: AbstractFloatItem.cpp:135
ZoomButtonInterceptor
Definition: ZoomButtonInterceptor.h:20
MarbleWidget::zoomOut
void zoomOut()
Zoom out by a fixed amount.
Definition: MarbleDeclarativeWidget.cpp:218
MarbleWidget::mapThemeId
QString mapThemeId() const
Returns the currently active map theme id, if any, in the form of e.g.
MarbleWidget::setDataPluginDelegate
void setDataPluginDelegate(const QString &plugin, QDeclarativeComponent *delegate)
Definition: MarbleDeclarativeWidget.cpp:342
Marble::BookmarkManager::loadFile
bool loadFile(const QString &relativeFilePath)
load bookmark file as GeoDataDocument and return true if loaded successfully else false ...
Definition: BookmarkManager.cpp:87
MarbleWidget::downloadRoute
void downloadRoute(qreal offset, int topTileLevel, int bottomTileLevel)
Definition: MarbleDeclarativeWidget.cpp:318
Marble::MarbleWidget::projection
int projection
Definition: MarbleWidget.h:112
MarbleMath.h
MarbleWidget::setActiveRenderPlugins
void setActiveRenderPlugins(const QStringList &items)
Definition: MarbleDeclarativeWidget.cpp:158
MarbleWidget::dataLayers
QDeclarativeListProperty< DeclarativeDataPlugin > dataLayers()
Marble::MarbleWidget::setPropertyValue
void setPropertyValue(const QString &name, bool value)
Sets the value of a map theme property.
Definition: MarbleWidget.cpp:893
MarbleDeclarativeWidget.h
Marble::DownloadRegion::setMarbleModel
void setMarbleModel(MarbleModel *model)
Definition: DownloadRegion.cpp:82
MarbleWidget::workOfflineChanged
void workOfflineChanged()
QQmlComponent
QDeclarativeComponent QQmlComponent
Definition: MarbleDeclarativeWidget.cpp:40
MarbleModel.h
This file contains the headers for MarbleModel.
MarbleWidget::viewport
const Marble::ViewportParams * viewport() const
Definition: MarbleDeclarativeWidget.cpp:90
Marble::MarbleWidget::radius
int radius() const
Return the radius of the globe in pixels.
Definition: MarbleWidget.cpp:326
AbstractFloatItem.h
Marble::MarbleWidget::whichFeatureAt
QVector< const GeoDataPlacemark * > whichFeatureAt(const QPoint &) const
Definition: MarbleWidget.cpp:387
Coordinate::longitude
qreal longitude
Definition: Coordinate.h:32
DeclarativeDataPlugin.h
Marble::MarbleWidget::setProjection
void setProjection(int projection)
Set the Projection used for the map.
Definition: MarbleWidget.cpp:702
Marble::ViewportParams::viewLatLonAltBox
const GeoDataLatLonAltBox & viewLatLonAltBox() const
Definition: ViewportParams.cpp:305
MarbleWidget::pixel
QPoint pixel(qreal longitude, qreal latitude) const
Returns the screen position of the given coordinate (can be out of the screen borders) ...
Definition: MarbleDeclarativeWidget.cpp:223
MarbleWidget::mapThemeModel
QStandardItemModel * mapThemeModel()
MarbleWidget::workOffline
bool workOffline() const
Marble::AbstractDataPlugin
An abstract class for plugins that show data that has a geo coordinate.
Definition: AbstractDataPlugin.h:45
MarbleWidget::centerOn
void centerOn(const Marble::GeoDataLatLonBox &bbox)
Definition: MarbleDeclarativeWidget.cpp:261
MarbleWidget::activeFloatItems
QStringList activeFloatItems() const
Returns a list of active (!) float items.
Marble::MarbleModel::pluginManager
const PluginManager * pluginManager() const
Definition: MarbleModel.cpp:564
Marble::MarbleWidget::setInputEnabled
void setInputEnabled(bool)
Definition: MarbleWidget.cpp:1230
MarbleWidget::setProjection
void setProjection(const QString &projection)
Change the active projection.
Definition: MarbleDeclarativeWidget.cpp:202
Marble::MarbleWidgetInputHandler::setMouseButtonPopupEnabled
void setMouseButtonPopupEnabled(Qt::MouseButton mouseButton, bool enabled)
Set whether a popup menu appears on a click (not drag) with the left mouse button.
Definition: MarbleWidgetInputHandler.cpp:113
MarbleWidget::projection
QString projection() const
Returns the active projection which can be either "Equirectangular", "Mercator" or "Spherical"...
Marble::GeoDataCoordinates::Degree
Definition: GeoDataCoordinates.h:66
Marble::MarbleWidget::readPluginSettings
void readPluginSettings(QSettings &settings)
Reads the plugin settings from the passed QSettings.
Definition: MarbleWidget.cpp:1256
Placemark::setGeoDataPlacemark
void setGeoDataPlacemark(const Marble::GeoDataPlacemark &placemark)
Definition: Placemark.cpp:19
BookmarkManager.h
MarbleWidget::inputEnabled
bool inputEnabled() const
Returns true if the map accepts keyboard/mouse input.
Coordinate
Represents a coordinate with the properties of a name and coordinates.
Definition: Coordinate.h:28
MarbleWidget::~MarbleWidget
~MarbleWidget()
Definition: MarbleDeclarativeWidget.cpp:78
MarbleWidgetInputHandler.h
Marble::MarbleWidget::setMapThemeId
void setMapThemeId(const QString &maptheme)
Set a new map theme.
Definition: MarbleWidget.cpp:865
ViewParams.h
This file contains the headers for ViewParameters.
Marble::Equirectangular
Flat projection ("plate carree")
Definition: MarbleGlobal.h:46
MarbleWidget::renderPlugin
Marble::RenderPlugin * renderPlugin(const QString &name)
Definition: MarbleDeclarativeWidget.cpp:392
MarbleWidget::setGeoSceneProperty
void setGeoSceneProperty(const QString &key, bool value)
Definition: MarbleDeclarativeWidget.cpp:313
DeclarativeDataPlugin::delegate
QDeclarativeComponent delegate
Definition: DeclarativeDataPlugin.h:41
MarbleMap.h
This file contains the headers for MarbleMap.
RoutingManager.h
Marble::MarbleWidget::downloadRegion
void downloadRegion(QVector< TileCoordsPyramid > const &)
Definition: MarbleWidget.cpp:1339
Coordinate::latitude
qreal latitude
Definition: Coordinate.h:33
Marble::MarbleWidget::centerLongitude
qreal centerLongitude() const
Return the longitude of the center point.
Definition: MarbleWidget.cpp:776
MarbleWidget::floatItem
Marble::AbstractFloatItem * floatItem(const QString &name)
Definition: MarbleDeclarativeWidget.cpp:424
MarbleWidget::visibleLatLonAltBoxChanged
void visibleLatLonAltBoxChanged()
Forwarded from MarbleWidget.
Marble::MarbleModel::setWorkOffline
void setWorkOffline(bool workOffline)
Definition: MarbleModel.cpp:689
Marble::MarbleModel::routingManager
RoutingManager * routingManager()
Definition: MarbleModel.cpp:605
Marble::Mercator
Mercator projection.
Definition: MarbleGlobal.h:47
MarbleWidget::mouseClickGeoPosition
void mouseClickGeoPosition(qreal longitude, qreal latitude)
Marble::DownloadRegion::region
QVector< TileCoordsPyramid > region(const TextureLayer *textureLayer, const GeoDataLatLonAltBox &region) const
Definition: DownloadRegion.cpp:101
Marble::AbstractFloatItem
The abstract class for float item plugins.
Definition: AbstractFloatItem.h:48
Marble::RoutingManager::profilesModel
RoutingProfilesModel * profilesModel()
Provides access to the model which contains all possible routing profiles.
Definition: RoutingManager.cpp:255
MarbleDirs.h
MarbleWidget::radiusChanged
void radiusChanged()
Marble::MarbleWidget::zoomOut
void zoomOut(FlyToMode mode=Automatic)
Zoom out by the amount zoomStep.
Definition: MarbleWidget.cpp:590
Marble::MarbleWidget::model
MarbleModel * model() const
Return the model that this view shows.
Definition: MarbleWidget.cpp:283
MarbleWidget::coordinate
Coordinate * coordinate(int x, int y)
Returns the coordinate at the given screen position.
Definition: MarbleDeclarativeWidget.cpp:233
MarbleWidget::containsRenderPlugin
bool containsRenderPlugin(const QString &name)
Definition: MarbleDeclarativeWidget.cpp:403
DeclarativeDataPlugin
Definition: DeclarativeDataPlugin.h:25
Marble::ViewportParams::screenCoordinates
bool screenCoordinates(const qreal lon, const qreal lat, qreal &x, qreal &y) const
Get the screen coordinates corresponding to geographical coordinates in the map.
Definition: ViewportParams.cpp:357
Marble::RenderPlugin::setVisible
void setVisible(bool visible)
settting visible
Definition: RenderPlugin.cpp:149
MarbleWidget::zoomIn
void zoomIn()
Zoom in by a fixed amount.
Definition: MarbleDeclarativeWidget.cpp:213
Marble::RoutingManager::readSettings
void readSettings()
Restores a previously saved route request and route from disk, if any.
Definition: RoutingManager.cpp:373
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
MarbleWidget::event
virtual bool event(QEvent *event)
Definition: MarbleDeclarativeWidget.cpp:373
Marble::MarbleWidget::viewport
ViewportParams * viewport()
Definition: MarbleWidget.cpp:289
Marble::AbstractDataPlugin::setDelegate
void setDelegate(QDeclarativeComponent *delegate, QGraphicsItem *parent)
Definition: AbstractDataPlugin.cpp:175
QGraphicsProxyWidget
Marble::RoutingProfilesModel::loadDefaultProfiles
void loadDefaultProfiles()
Definition: RoutingProfilesModel.cpp:126
ZoomButtonInterceptor.h
Marble::RenderPlugin::nameId
QString nameId
Definition: RenderPlugin.h:48
Marble::MarbleWidget::zoomIn
void zoomIn(FlyToMode mode=Automatic)
Zoom in by the amount zoomStep.
Definition: MarbleWidget.cpp:575
Marble::MarbleWidget::centerOn
void centerOn(const qreal lon, const qreal lat, bool animated=false)
Center the view on a geographical point.
Definition: MarbleWidget.cpp:626
MarbleWidget::setRadius
void setRadius(int radius)
Definition: MarbleDeclarativeWidget.cpp:368
DeclarativeDataPlugin::nameId
QString nameId
Definition: DeclarativeDataPlugin.h:32
Marble::MarbleWidget::setRadius
void setRadius(int radius)
Set the radius of the globe in pixels.
Definition: MarbleWidget.cpp:331
ViewportParams.h
This file contains the headers for ViewportParams.
MarbleWidget::projectionChanged
void projectionChanged()
MarbleWidget::childList
QDeclarativeListProperty< QObject > childList()
Definition: MarbleDeclarativeWidget.cpp:136
MarbleWidget::placemarkSelected
void placemarkSelected(Placemark *placemark)
MarbleWidget::setInputEnabled
void setInputEnabled(bool enabled)
Toggle keyboard/mouse input.
Definition: MarbleDeclarativeWidget.cpp:171
MarbleWidget::sceneEvent
virtual bool sceneEvent(QEvent *event)
Definition: MarbleDeclarativeWidget.cpp:382
MarbleWidget::setCenter
void setCenter(Coordinate *center)
Definition: MarbleDeclarativeWidget.cpp:249
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:96
Marble::RenderPlugin::visible
bool visible
Definition: RenderPlugin.h:52
Marble::RenderPlugin::setEnabled
void setEnabled(bool enabled)
settting enabled
Definition: RenderPlugin.cpp:137
Marble::DownloadRegion::setTileLevelRange
void setTileLevelRange(int const minimumTileLevel, int const maximumTileLevel)
Definition: DownloadRegion.cpp:92
Marble::DownloadRegion
Definition: DownloadRegion.h:28
Coordinate::setLatitude
void setLatitude(qreal lat)
Change the latitude of the coordinate.
Definition: Coordinate.cpp:43
MarbleWidget::center
Coordinate * center()
QQmlComponent
QDeclarativeComponent QQmlComponent
Definition: AbstractDataPlugin.cpp:32
RenderPlugin.h
PluginManager.h
Marble::MarbleWidget::geoCoordinates
bool geoCoordinates(int x, int y, qreal &lon, qreal &lat, GeoDataCoordinates::Unit=GeoDataCoordinates::Degree) const
Get the earth coordinates corresponding to a pixel in the widget.
Definition: MarbleWidget.cpp:764
Coordinate.h
MarbleWidget::MarbleWidget
MarbleWidget(QGraphicsItem *parent=0, Qt::WindowFlags flags=0)
Constructor.
Definition: MarbleDeclarativeWidget.cpp:43
MarbleWidget::downloadArea
void downloadArea(int topTileLevel, int bottomTileLevel)
Definition: MarbleDeclarativeWidget.cpp:330
Marble::PluginManager::addRenderPlugin
void addRenderPlugin(const RenderPlugin *plugin)
Add a RenderPlugin manually to the list of known plugins.
Definition: PluginManager.cpp:77
Marble::MarbleModel::bookmarkManager
BookmarkManager * bookmarkManager()
return instance of BookmarkManager
Definition: MarbleModel.cpp:206
Marble::DownloadRegion::setVisibleTileLevel
void setVisibleTileLevel(int const tileLevel)
Definition: DownloadRegion.cpp:172
Coordinate::setAltitude
void setAltitude(qreal alt)
Change the altitude of the coordinate.
Definition: Coordinate.cpp:54
Marble::RoutingManager::writeSettings
void writeSettings() const
Saves the current route request and the current route to disk.
Definition: RoutingManager.cpp:326
Marble::Projection
Projection
This enum is used to choose the projection shown in the view.
Definition: MarbleGlobal.h:44
MarbleWidget::setMapThemeId
void setMapThemeId(const QString &mapThemeId)
Change the currently active map theme id.
Definition: MarbleDeclarativeWidget.cpp:182
Marble::MarbleWidget::mapThemeId
QString mapThemeId
Definition: MarbleWidget.h:111
MarbleWidget.h
This file contains the headers for MarbleWidget.
MarbleWidget::floatItems
QList< QObject * > floatItems() const
Coordinate::altitude
qreal altitude
Definition: Coordinate.h:34
Placemark
Wraps a GeoDataPlacemark for QML access.
Definition: Placemark.qml:11
Coordinate::setLongitude
void setLongitude(qreal lon)
Change the longitude of the coordinate.
Definition: Coordinate.cpp:32
Marble::DownloadRegion::routeRegion
QVector< TileCoordsPyramid > routeRegion(const TextureLayer *textureLayer, qreal offset) const
calculates the region to be downloaded around a route
Definition: DownloadRegion.cpp:177
MarbleWidget
Wraps a Marble::MarbleWidget, providing access to important properties and methods.
Definition: MarbleDeclarativeWidget.h:50
Marble::MarbleWidget::writePluginSettings
void writePluginSettings(QSettings &settings) const
Writes the plugin settings in the passed QSettings.
Definition: MarbleWidget.cpp:1273
MarbleWidget::setWorkOffline
void setWorkOffline(bool workOffline)
Definition: MarbleDeclarativeWidget.cpp:358
Marble::MarbleModel::workOffline
bool workOffline
Definition: MarbleModel.h:103
MarbleWidget::model
Marble::MarbleModel * model()
Definition: MarbleDeclarativeWidget.cpp:85
DownloadRegion.h
AbstractDataPlugin.h
Marble::Spherical
Spherical projection.
Definition: MarbleGlobal.h:45
Marble::MarbleWidget::inputHandler
MarbleWidgetInputHandler * inputHandler() const
Returns the current input handler.
Definition: MarbleWidget.cpp:321
MarbleWidget::mapThemeChanged
void mapThemeChanged()
Marble::MarbleWidgetInputHandler::setPanViaArrowsEnabled
void setPanViaArrowsEnabled(bool enabled)
Definition: MarbleWidgetInputHandler.cpp:128
Marble::MarbleWidget::textureLayer
const TextureLayer * textureLayer() const
Definition: MarbleWidget.cpp:407
Marble::MarbleWidget::floatItems
QList< AbstractFloatItem * > floatItems() const
Returns a list of all FloatItems on the widget.
Definition: MarbleWidget.cpp:1290
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
Marble::MarbleWidget::renderPlugins
QList< RenderPlugin * > renderPlugins() const
Returns a list of all RenderPlugins on the widget, this includes float items.
Definition: MarbleWidget.cpp:1251
MarbleWidget::activeRenderPlugins
QStringList activeRenderPlugins() const
RoutingProfilesModel.h
MarbleWidget::renderPlugins
QList< QObject * > renderPlugins() const
MapThemeManager.h
MarbleWidget::setActiveFloatItems
void setActiveFloatItems(const QStringList &items)
Activates all of the given float items and deactivates any others.
Definition: MarbleDeclarativeWidget.cpp:116
Marble::GeoDataLatLonBox
A class that defines a 2D bounding box for geographic data.
Definition: GeoDataLatLonBox.h:51
MarbleWidget::containsFloatItem
bool containsFloatItem(const QString &name)
Definition: MarbleDeclarativeWidget.cpp:435
Marble::MarbleWidget::centerLatitude
qreal centerLatitude() const
Return the latitude of the center point.
Definition: MarbleWidget.cpp:771
Marble::AbstractFloatItem::setVisible
void setVisible(bool visible)
Set visibility of the float item.
Definition: AbstractFloatItem.cpp:128
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