MarbleWidget Class Reference
from PyKDE4.marble import *
Inherits: QWidget → QObject
Namespace: Marble.MarbleWidget
Detailed Description
A widget class that displays a view of the earth.
This widget displays a view of the earth or any other globe, depending on which dataset is used. The user can navigate the globe using either a control widget, e.g. the MarbleControlBox, or the mouse. The mouse and keyboard control is done through a MarbleWidgetInputHandler. Only some aspects of the widget can be controlled by the mouse and/or keyboard.
By clicking on the globe and moving the mouse, the position can be changed. The user can also zoom by using the scroll wheel of the mouse in the widget. The zoom value is not tied to any units, but is an abstract value without any physical meaning. A value around 1000 shows the full globe in a normal-sized window. Higher zoom values give a more zoomed-in view.
The MarbleWidget needs to be provided with a data model to work. This model is contained in the MarbleModel class, and it is painted by using a MarbleMap. The widget can also construct its own map and model if none is given to the constructor. A MarbleModel contains 3 separate datatypes: tiles which provide the background, vectors which provide things like country borders and coastlines and placemarks which can show points of interest, such as cities, mountain tops or the poles.
In addition to navigating with the mouse, you can also use it to get information about items on the map. You can either click on a placemark with the left mouse button or with the right mouse button anywhere on the map.
The left mouse button opens up a menu with all the placemarks within a certain distance from the mouse pointer. When you choose one item from the menu, Marble will open up a dialog window with some information about the placemark and also try to connect to Wikipedia to retrieve an article about it. If there is such an article, you will get a mini-browser window with the article in a tab.
The right mouse button controls a distance tool. The distance tool is implemented as a menu where you can choose to either create or remove so called Measure Points. Marble will keep track of the Measure Points and show the total distance in the upper left of the widget. Measure Points are shown on the map as a little white cross.
- See also:
- MarbleControlBox
- See also:
- MarbleMap
- See also:
- MarbleModel
Method Documentation
__init__ | ( | self, | ||
QWidget | parent=0 | |||
) |
__init__ | ( | self, | ||
Marble.MarbleMap | map, | |||
QWidget | parent=0 | |||
) |
QRegion activeRegion | ( | self ) |
Return the active region in which it's possible to drag the view using the mouse.
Add GeoDataPlacemark data as string to the model.
- Parameters:
-
data the string containing the Placemarks. key the string needed to identify the data
addPlacemarkFile | ( | self, | ||
QString | filename | |||
) |
Add a GeoDataPlacemark file to the model.
- Parameters:
-
filename the filename of the file containing the Placemarks.
bool animationsEnabled | ( | self ) |
Retrieve whether travels to a point should get animated
float centerLatitude | ( | self ) |
Return the latitude of the center point.
float centerLongitude | ( | self ) |
Return the longitude of the center point.
centerOn | ( | self, | ||
float | lon, | |||
float | lat, | |||
bool | animated=0 | |||
) |
Center the view on a bounding box so that it completely fills the viewport This method not only centers on the center of the GeoDataLatLon box but it also adjusts the zoom of the marble widget so that the LatLon box provided fills the viewport.
- Parameters:
-
box The GeoDataLatLonBox to zoom and move the MarbleWidget to.
centerOn | ( | self, | ||
QModelIndex | index, | |||
bool | animated=0 | |||
) |
Center the view on a bounding box so that it completely fills the viewport This method not only centers on the center of the GeoDataLatLon box but it also adjusts the zoom of the marble widget so that the LatLon box provided fills the viewport.
- Parameters:
-
box The GeoDataLatLonBox to zoom and move the MarbleWidget to.
centerOn | ( | self, | ||
Marble.GeoDataCoordinates | point, | |||
bool | animated=0 | |||
) |
Center the view on a bounding box so that it completely fills the viewport This method not only centers on the center of the GeoDataLatLon box but it also adjusts the zoom of the marble widget so that the LatLon box provided fills the viewport.
- Parameters:
-
box The GeoDataLatLonBox to zoom and move the MarbleWidget to.
centerOn | ( | self, | ||
Marble.GeoDataLatLonBox | box, | |||
bool | animated=0 | |||
) |
Center the view on a bounding box so that it completely fills the viewport This method not only centers on the center of the GeoDataLatLon box but it also adjusts the zoom of the marble widget so that the LatLon box provided fills the viewport.
- Parameters:
-
box The GeoDataLatLonBox to zoom and move the MarbleWidget to.
centerSun | ( | self ) |
changeCurrentPosition | ( | self, | ||
float | lon, | |||
float | lat | |||
) |
Set the current Gps position
- Parameters:
-
lat the new latitude value lon the new longitude value
changeEvent | ( | self, | ||
QEvent | event | |||
) |
Reimplementation of the changeEvent() function in QWidget to react to changes of the enabled state
clearPersistentTileCache | ( | self ) |
clearVolatileTileCache | ( | self ) |
connectNotify | ( | self, | ||
QString | signal | |||
) |
creatingTilesStart | ( | self, | ||
Marble.TileCreator | creator, | |||
QString | name, | |||
QString | description | |||
) |
A slot that is called when the model starts to create new tiles.
- Parameters:
-
creator the tile creator object. name the name of the created theme. description a descriptive text that can be shown in a dialog.
- See also:
- creatingTilesProgress
This function is connected to the models signal with the same name. When the model needs to create a cache of tiles in several different resolutions, it will emit creatingTilesStart once with a name of the theme and a descriptive text. The widget can then pop up a dialog to explain why there is a delay. The model will then call creatingTilesProgress several times until the parameter reaches 100 (100%), after which the creation process is finished. After this there will be no more calls to creatingTilesProgress, and the poup dialog can then be closed.
customPaint | ( | self, | ||
Marble.GeoPainter | painter | |||
) |
Enables custom drawing onto the MarbleWidget straight after the globe and before all other layers has been rendered.
- Parameters:
-
painter
Marble.AngleUnit defaultAngleUnit | ( | self ) |
QFont defaultFont | ( | self ) |
disconnectNotify | ( | self, | ||
QString | signal | |||
) |
float distance | ( | self ) |
Return the current distance.
distanceChanged | ( | self, | ||
QString | distanceString | |||
) |
- Signal syntax:
QObject.connect(source, SIGNAL("distanceChanged(const const QString&)"), target_slot)
QString distanceString | ( | self ) |
Return the current distance string.
[Marble::AbstractFloatIte] floatItems | ( | self ) |
Returns a list of all FloatItems on the widget
- Returns:
- the list of the floatItems
framesPerSecond | ( | self, | ||
float | fps | |||
) |
- Signal syntax:
QObject.connect(source, SIGNAL("framesPerSecond(qreal)"), target_slot)
bool geoCoordinates | ( | self, | ||
int | x, | |||
int | y, | |||
float | lon, | |||
float | lat, | |||
Marble.GeoDataCoordinates.Unit | a4=Marble.GeoDataCoordinates.Degree | |||
) |
Get the earth coordinates corresponding to a pixel in the widget.
- Parameters:
-
x the x coordinate of the pixel y the y coordinate of the pixel lon the longitude angle is returned through this parameter lat the latitude angle is returned through this parameter
- Returns:
- true if the pixel (x, y) is within the globe
goHome | ( | self ) |
Center the view on the default start point with the default zoom.
home | ( | self, | ||
float | lon, | |||
float | lat, | |||
int | zoom | |||
) |
Get the home point
- Parameters:
-
lon the longitude of the home point. lat the latitude of the home point. zoom the default zoom level of the home point.
leaveEvent | ( | self, | ||
QEvent | event | |||
) |
Reimplementation of the leaveEvent() function in QWidget.
Marble.MarbleMap map | ( | self ) |
Return the map that this view shows.
Marble.MapQuality mapQuality | ( | self, | ||
Marble.ViewContext | a0=Marble.Still | |||
) |
Retrieve the map quality depending on the view context
QRegion mapRegion | ( | self ) |
Return the projected region which describes the (shape of the) projected surface.
QPixmap mapScreenShot | ( | self ) |
Return a QPixmap with the current contents of the widget.
QString mapThemeId | ( | self ) |
Get the ID of the current map theme To ensure that a unique identifier is being used the theme does NOT get represented by its name but the by relative location of the file that specifies the theme:
Example: mapThemeId = "earth/bluemarble/bluemarble.dgml"
int maximumZoom | ( | self ) |
Return the minimum zoom value for the current map theme.
int minimumZoom | ( | self ) |
Return the minimum zoom value for the current map theme.
Marble.MarbleModel model | ( | self ) |
Return the model that this view shows.
mouseClickGeoPosition | ( | self, | ||
float | lon, | |||
float | lat, | |||
Marble.GeoDataCoordinates.Unit | a2 | |||
) |
- Signal syntax:
QObject.connect(source, SIGNAL("mouseClickGeoPosition(qreal, qreal, Marble::GeoDataCoordinates::Unit)"), target_slot)
mouseMoveGeoPosition | ( | self, | ||
QString | a0 | |||
) |
- Signal syntax:
QObject.connect(source, SIGNAL("mouseMoveGeoPosition(QString)"), target_slot)
moveDown | ( | self ) |
Move down by the moveStep.
moveLeft | ( | self ) |
Move left by the moveStep.
moveRight | ( | self ) |
Move right by the moveStep.
float moveStep | ( | self ) |
Return how much the map will move if one of the move slots are called.
- Returns:
- The move step.
moveUp | ( | self ) |
Move up by the moveStep.
bool needsUpdate | ( | self ) |
Return if the widget needs to be updated.
int northPoleY | ( | self ) |
Get the Y coordinate of the North Pole.
- Returns:
- the pixel address of the geographical north pole.
notifyMouseClick | ( | self, | ||
int | x, | |||
int | y | |||
) |
Used to notify about the position of the mouse click
openGpxFile | ( | self, | ||
QString | filename | |||
) |
Opens a gpx file for viewing on the Marble Widget
paintEvent | ( | self, | ||
QPaintEvent | event | |||
) |
Reimplementation of the paintEvent() function in QWidget.
QString password | ( | self ) |
quint64 persistentTileCacheLimit | ( | self ) |
Returns the limit in kilobytes of the persistent (on hard disc) tile cache.
- Returns:
- the limit of persistent tile cache
QAbstractItemModel placemarkModel | ( | self ) |
Returns the model for all the placemarks on the globe.
QItemSelectionModel placemarkSelectionModel | ( | self ) |
Returns the selection model for all the placemarks on the globe.
Marble.Quaternion planetAxis | ( | self ) |
Return the quaternion that specifies the rotation of the globe.
- Returns:
- The quaternion that describes the rotation of the globe.
pluginSettingsChanged | ( | self ) |
This signal is emit when the settings of a plugin changed.
- Signal syntax:
QObject.connect(source, SIGNAL("pluginSettingsChanged()"), target_slot)
Marble.Projection projection | ( | self ) |
Get the Projection used for the map
- Returns:
- Spherical a Globe
- Returns:
- Equirectangular a flat map
- Returns:
- Mercator another flat map
projectionChanged | ( | self, | ||
Marble.Projection | a0 | |||
) |
- Signal syntax:
QObject.connect(source, SIGNAL("projectionChanged(Marble::Projection)"), target_slot)
QString proxyHost | ( | self ) |
int proxyPort | ( | self ) |
int radius | ( | self ) |
Return the radius of the globe in pixels.
readPluginSettings | ( | self, | ||
QSettings | settings | |||
) |
Reads the plugin settings from the passed QSettings. You shouldn't use this in a KDE application as these use KConfig. Here you could use MarblePart which is handling this automatically.
- Parameters:
-
settings The QSettings object to be used.
removePlacemarkKey | ( | self, | ||
QString | key | |||
) |
remove data or files from the model.
- Parameters:
-
key either the filename or the string used to identify the data in addPlacemarkFile and addPlacemarkData
renderPluginInitialized | ( | self, | ||
Marble.RenderPlugin | renderPlugin | |||
) |
Signal that a render item has been initialized
- Signal syntax:
QObject.connect(source, SIGNAL("renderPluginInitialized(Marble::RenderPlugin*)"), target_slot)
[Marble::RenderPlugi] renderPlugins | ( | self ) |
Returns a list of all RenderPlugins on the widget, this includes float items
- Returns:
- the list of RenderPlugins
resizeEvent | ( | self, | ||
QResizeEvent | a0 | |||
) |
Reimplementation of the resizeEvent() function in QWidget.
rotateBy | ( | self, | ||
float | deltaLon, | |||
float | deltaLat | |||
) |
Rotate the view by the angle specified by a Quaternion.
- Parameters:
-
incRot a quaternion specifying the rotation
rotateBy | ( | self, | ||
Marble.Quaternion | incRot | |||
) |
Rotate the view by the angle specified by a Quaternion.
- Parameters:
-
incRot a quaternion specifying the rotation
scheduleRepaint | ( | self, | ||
QRegion | dirtyRegion | |||
) |
Schedule repaint
bool screenCoordinates | ( | self, | ||
float | lon, | |||
float | lat, | |||
float | x, | |||
float | y | |||
) |
Get the screen coordinates corresponding to geographical coordinates in the widget.
- Parameters:
-
lon the lon coordinate of the requested pixel position lat the lat coordinate of the requested pixel position x the x coordinate of the pixel is returned through this parameter y the y coordinate of the pixel is returned through this parameter
- Returns:
- true if the geographical coordinates are visible on the screen
setAnimationsEnabled | ( | self, | ||
bool | enabled | |||
) |
Set whether travels to a point should get animated
setCenterLatitude | ( | self, | ||
float | lat | |||
) |
Set the latitude for the center point
- Parameters:
-
lat the new value for the latitude
setCenterLongitude | ( | self, | ||
float | lon | |||
) |
Set the longitude for the center point
- Parameters:
-
lon the new value for the longitude
setDefaultAngleUnit | ( | self, | ||
Marble.AngleUnit | angleUnit | |||
) |
setDefaultFont | ( | self, | ||
QFont | font | |||
) |
setDistance | ( | self, | ||
float | distance | |||
) |
Set the distance of the observer to the globe in km.
- Parameters:
-
distance The new distance in km.
setHome | ( | self, | ||
float | lon, | |||
float | lat, | |||
int | zoom=1050 | |||
) |
Set the home point
- Parameters:
-
homePoint the new home point. zoom the default zoom level for the new home point.
setHome | ( | self, | ||
Marble.GeoDataCoordinates | homePoint, | |||
int | zoom=1050 | |||
) |
Set the home point
- Parameters:
-
homePoint the new home point. zoom the default zoom level for the new home point.
setInputEnabled | ( | self, | ||
bool | a0 | |||
) |
setMapQuality | ( | self, | ||
Marble.MapQuality | a0, | |||
Marble.ViewContext | a1=Marble.Still | |||
) |
Set the map quality depending on the view context
setMapThemeId | ( | self, | ||
QString | maptheme | |||
) |
Set a new map theme
- Parameters:
-
maptheme The ID of the new maptheme. To ensure that a unique identifier is being used the theme does NOT get represented by its name but the by relative location of the file that specifies the theme:
Example: maptheme = "earth/bluemarble/bluemarble.dgml"
setNeedsUpdate | ( | self ) |
Mark the widget as needing an update.
setPersistentTileCacheLimit | ( | self, | ||
quint64 | kiloBytes | |||
) |
Set the limit of the persistent (on hard disc) tile cache.
- Parameters:
-
kilobytes The limit in kilobytes, 0 means no limit.
setProjection | ( | self, | ||
int | projection | |||
) |
Set the Projection used for the map
- Parameters:
-
projection projection type (e.g. Spherical, Equirectangular, Mercator)
setProjection | ( | self, | ||
Marble.Projection | projection | |||
) |
Set the Projection used for the map
- Parameters:
-
projection projection type (e.g. Spherical, Equirectangular, Mercator)
setPropertyValue | ( | self, | ||
QString | name, | |||
bool | value | |||
) |
Sets the value of a map theme property
- Parameters:
-
value value of the property (usually: visibility)
Later on we might add a "setPropertyType and a QVariant if needed.
setRadius | ( | self, | ||
int | radius | |||
) |
Set the radius of the globe in pixels.
- Parameters:
-
radius The new globe radius value in pixels.
setSelection | ( | self, | ||
QRect | region | |||
) |
setShowAtmosphere | ( | self, | ||
bool | visible | |||
) |
Set whether the atmospheric glow is visible
- Parameters:
-
visible visibility of the atmospheric glow
setShowBorders | ( | self, | ||
bool | visible | |||
) |
Set whether the borders visible
- Parameters:
-
visible visibility of the borders
setShowCities | ( | self, | ||
bool | visible | |||
) |
Set whether the city place mark overlay is visible
- Parameters:
-
visible visibility of the city place marks
setShowClouds | ( | self, | ||
bool | visible | |||
) |
Set whether the cloud cover is visible
- Parameters:
-
visible visibility of the cloud cover
setShowCompass | ( | self, | ||
bool | visible | |||
) |
Set whether the compass overlay is visible
- Parameters:
-
visible visibility of the compass
setShowCrosshairs | ( | self, | ||
bool | visible | |||
) |
Set whether the crosshairs are visible
- Parameters:
-
visible visibility of the crosshairs
setShowElevationModel | ( | self, | ||
bool | visible | |||
) |
Set whether the elevation model is visible
- Parameters:
-
visible visibility of the elevation model
setShowFrameRate | ( | self, | ||
bool | visible | |||
) |
Set whether the frame rate gets shown
- Parameters:
-
visible visibility of the frame rate
setShowGps | ( | self, | ||
bool | visible | |||
) |
Set whether Gps Data is visible
- Parameters:
-
visible visibility of the Gps Data
setShowGrid | ( | self, | ||
bool | visible | |||
) |
Set whether the coordinate grid overlay is visible
- Parameters:
-
visible visibility of the coordinate grid
setShowIceLayer | ( | self, | ||
bool | visible | |||
) |
Set whether the ice layer is visible
- Parameters:
-
visible visibility of the ice layer
setShowLakes | ( | self, | ||
bool | visible | |||
) |
Set whether the lakes are visible
- Parameters:
-
visible visibility of the lakes
setShowOtherPlaces | ( | self, | ||
bool | visible | |||
) |
Set whether the other places overlay is visible
- Parameters:
-
visible visibility of other places
setShowOverviewMap | ( | self, | ||
bool | visible | |||
) |
Set whether the overview map overlay is visible
- Parameters:
-
visible visibility of the overview map
setShowPlaces | ( | self, | ||
bool | visible | |||
) |
Set whether the place mark overlay is visible
- Parameters:
-
visible visibility of the place marks
setShowRelief | ( | self, | ||
bool | visible | |||
) |
Set whether the relief is visible
- Parameters:
-
visible visibility of the relief
setShowRivers | ( | self, | ||
bool | visible | |||
) |
Set whether the rivers are visible
- Parameters:
-
visible visibility of the rivers
setShowScaleBar | ( | self, | ||
bool | visible | |||
) |
Set whether the scale bar overlay is visible
- Parameters:
-
visible visibility of the scale bar
setShowTerrain | ( | self, | ||
bool | visible | |||
) |
Set whether the terrain place mark overlay is visible
- Parameters:
-
visible visibility of the terrain place marks
setShowTileId | ( | self, | ||
bool | visible | |||
) |
Set whether the is tile is visible NOTE: This is part of the transitional debug API and might be subject to changes until Marble 0.8
- Parameters:
-
visible visibility of the tile
setViewContext | ( | self, | ||
Marble.ViewContext | viewContext | |||
) |
Set the view context (i.e. still or animated map)
setVolatileTileCacheLimit | ( | self, | ||
quint64 | kiloBytes | |||
) |
Set the limit of the volatile (in RAM) tile cache.
- Parameters:
-
kilobytes The limit in kilobytes.
bool showAtmosphere | ( | self ) |
Return whether the atmospheric glow is visible.
- Returns:
- The cloud cover visibility.
bool showBorders | ( | self ) |
Return whether the borders are visible.
- Returns:
- The border visibility.
bool showCities | ( | self ) |
Return whether the city place marks are visible.
- Returns:
- The city place mark visibility.
bool showClouds | ( | self ) |
Return whether the cloud cover is visible.
- Returns:
- The cloud cover visibility.
bool showCompass | ( | self ) |
Return whether the compass bar is visible.
- Returns:
- The compass visibility.
bool showCrosshairs | ( | self ) |
Return whether the crosshairs are visible.
- Returns:
- The crosshairs' visibility.
bool showElevationModel | ( | self ) |
Return whether the elevation model is visible.
- Returns:
- The elevation model visibility.
bool showFrameRate | ( | self ) |
Return whether the frame rate gets displayed.
- Returns:
- the frame rates visibility
bool showGps | ( | self ) |
Return whether Gps Data is visible.
- Returns:
- The Gps Data's visibility.
bool showGrid | ( | self ) |
Return whether the coordinate grid is visible.
- Returns:
- The coordinate grid visibility.
bool showIceLayer | ( | self ) |
Return whether the ice layer is visible.
- Returns:
- The ice layer visibility.
bool showLakes | ( | self ) |
Return whether the lakes are visible.
- Returns:
- The lakes' visibility.
bool showOtherPlaces | ( | self ) |
Return whether other places are visible.
- Returns:
- The visibility of other places.
bool showOverviewMap | ( | self ) |
Return whether the overview map is visible.
- Returns:
- The overview map visibility.
bool showPlaces | ( | self ) |
Return whether the place marks are visible.
- Returns:
- The place mark visibility.
bool showRelief | ( | self ) |
Return whether the relief is visible.
- Returns:
- The relief visibility.
bool showRivers | ( | self ) |
Return whether the rivers are visible.
- Returns:
- The rivers' visibility.
bool showScaleBar | ( | self ) |
Return whether the scale bar is visible.
- Returns:
- The scale bar visibility.
bool showTerrain | ( | self ) |
Return whether the terrain place marks are visible.
- Returns:
- The terrain place mark visibility.
Marble.SunLocator sunLocator | ( | self ) |
themeChanged | ( | self, | ||
QString | theme | |||
) |
Signal that the theme has changed
- Parameters:
-
theme Name of the new theme.
- Signal syntax:
QObject.connect(source, SIGNAL("themeChanged(QString)"), target_slot)
timeout | ( | self ) |
- Signal syntax:
QObject.connect(source, SIGNAL("timeout()"), target_slot)
updateChangedMap | ( | self ) |
Update the widget because the model changed.
updateGps | ( | self ) |
Updates the gps tracking point by polling
updateSun | ( | self ) |
QString user | ( | self ) |
Marble.ViewContext viewContext | ( | self ) |
Retrieve the view context (i.e. still or animated map)
quint64 volatileTileCacheLimit | ( | self ) |
Returns the limit in kilobytes of the volatile (in RAM) tile cache.
- Returns:
- the limit of volatile tile cache
writePluginSettings | ( | self, | ||
QSettings | settings | |||
) |
Writes the plugin settings in the passed QSettings. You shouldn't use this in a KDE application as these use KConfig. Here you could use MarblePart which is handling this automatically.
- Parameters:
-
settings The QSettings object to be used.
int zoom | ( | self ) |
Return the current zoom amount.
zoomChanged | ( | self, | ||
int | zoom | |||
) |
Signal that the zoom has changed, and to what.
- Parameters:
-
zoom The new zoom value.
- See also:
- zoomView()
- Signal syntax:
QObject.connect(source, SIGNAL("zoomChanged(int)"), target_slot)
zoomIn | ( | self ) |
Zoom in by the amount zoomStep.
zoomOut | ( | self ) |
Zoom out by the amount zoomStep.
zoomView | ( | self, | ||
int | zoom | |||
) |
Zoom the view to a certain zoomlevel
- Parameters:
-
zoom the new zoom level.
The zoom level is an abstract value without physical interpretation. A zoom value around 1000 lets the viewer see all of the earth in the default window.
zoomViewBy | ( | self, | ||
int | zoomStep | |||
) |
Zoom the view by a certain step
- Parameters:
-
zoomStep the difference between the old zoom and the new