KDE 4.9 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

AbstractDataPluginModel Class Reference

from PyKDE4.marble import *

Inherits: QObject
Namespace: Marble

Detailed Description

Abstract class:
This class can be used as a base class for new classes, but can not be instantiated directly.

An abstract data model (not based on QAbstractModel) for a AbstractDataPlugin.

This class is an abstract model for a AbstractDataPlugin. It provides the storage and selection of added items and it is also responsible for downloading item data.

The functions getAdditionalItems() and parseFile() have to be reimplemented in a subclass.


Signals

 favoriteItemsChanged (QStringList favoriteItems)
 favoriteItemsOnlyChanged ()
 itemsUpdated ()

Methods

 addItemToList (self, Marble.AbstractDataPluginItem item)
 addItemsToList (self, [Marble.AbstractDataPluginItem] items)
 clear (self)
 downloadDescriptionFile (self, QUrl url)
 downloadItemData (self, QUrl url, QString type, Marble.AbstractDataPluginItem item)
QStringList favoriteItems (self)
QObject favoritesModel (self)
bool fileExists (self, QString fileName)
bool fileExists (self, QString id, QString type)
Marble.AbstractDataPluginItem findItem (self, QString id)
QString generateFilename (self, QString id, QString type)
QString generateFilepath (self, QString id, QString type)
 getAdditionalItems (self, Marble.GeoDataLatLonAltBox box, Marble.MarbleModel model, int number=10)
 getItem (self, QString id, Marble.MarbleModel model)
bool isFavoriteItemsOnly (self)
bool itemExists (self, QString id)
[Marble.AbstractDataPluginItem] items (self, Marble.ViewportParams viewport, Marble.MarbleModel model, int number=10)
 parseFile (self, QByteArray file)
 registerItemProperties (self, QMetaObject item)
 setFavoriteItems (self, QStringList list)
 setFavoriteItemsOnly (self, bool favoriteOnly)
 setItemSettings (self, {QString:QVariant} itemSettings)
[Marble.AbstractDataPluginItem] whichItemAt (self, QPoint curpos)

Signal Documentation

favoriteItemsChanged ( QStringList  favoriteItems
)
Signal syntax:
QObject.connect(source, SIGNAL("favoriteItemsChanged(const QStringList&)"), target_slot)
favoriteItemsOnlyChanged (   )
Signal syntax:
QObject.connect(source, SIGNAL("favoriteItemsOnlyChanged()"), target_slot)
itemsUpdated (   )
Signal syntax:
QObject.connect(source, SIGNAL("itemsUpdated()"), target_slot)

Method Documentation

addItemToList (  self,
Marble.AbstractDataPluginItem  item
)

Convenience method to add one item to the list. See addItemsToList

addItemsToList (  self,
[Marble.AbstractDataPluginItem]  items
)

Adds the items to the list of initialized items. It checks if items with the same id are already in the list and ignores and deletes them in this case.

clear (   self )

Removes all items

downloadDescriptionFile (  self,
QUrl  url
)

Download the description file from the url.

downloadItemData (  self,
QUrl  url,
QString  type,
Marble.AbstractDataPluginItem  item
)

Downloads the file from url. item -> addDownloadedFile() will be called when the download is finished. Additionally initialized() items will be added to the item list after the download. It checks if a item with the same id is already in the list and ignores and deletes the item in this case. @param: The type of the download (to be specified by the subclasser)

QStringList favoriteItems (   self )
QObject favoritesModel (   self )
bool fileExists (  self,
QString  fileName
)

Testing the existence of a file with id and type

bool fileExists (  self,
QString  id,
QString  type
)

Testing the existence of a file with id and type

Marble.AbstractDataPluginItem findItem (  self,
QString  id
)

Finds the item with id in the list.

Returns:
The pointer to the item or (if no item has been found) 0

QString generateFilename (  self,
QString  id,
QString  type
)

Generates the filename relative to the download path from id and type

QString generateFilepath (  self,
QString  id,
QString  type
)

Generates the absolute filepath of the from id and type

getAdditionalItems (  self,
Marble.GeoDataLatLonAltBox  box,
Marble.MarbleModel  model,
int  number=10
)
Abstract method:
This method is abstract and can be overridden but not called directly.

Managing to get number additional items in box. This includes generating a url and downloading the corresponding file. This method has to be implemented in a subclass.

getItem (  self,
QString  id,
Marble.MarbleModel  model
)

Retrieve data for a specific item

Parameters:
id  Item id of the item to retrieve

bool isFavoriteItemsOnly (   self )
bool itemExists (  self,
QString  id
)

Testing the existence of the item id in the list

[Marble.AbstractDataPluginItem] items (  self,
Marble.ViewportParams  viewport,
Marble.MarbleModel  model,
int  number=10
)

Get the items on the viewport Returns the currently downloaded images in the viewport. The maximum number of images can be specified with number, 0 means no limit.

Returns:
The list of item with most important item first.

parseFile (  self,
QByteArray  file
)
Abstract method:
This method is abstract and can be overridden but not called directly.

Parse the file and generate items. The items will be added to the list or the method starts additionally needed downloads. This method has to be implemented in a subclass.

registerItemProperties (  self,
QMetaObject  item
)
setFavoriteItems (  self,
QStringList  list
)
setFavoriteItemsOnly (  self,
bool  favoriteOnly
)
setItemSettings (  self,
{QString:QVariant}  itemSettings
)

Sets the settings for all items. Sets the settings for all items before painting. This ensures that all items react on changed settings.

[Marble.AbstractDataPluginItem] whichItemAt (  self,
QPoint  curpos
)

Get all items that contain the given point Returns a list of all items that contain the point curpos

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal