marble
#include <AbstractDataPluginModel.h>
Public Slots | |
void | addItemsToList (const QList< AbstractDataPluginItem * > &items) |
void | addItemToList (AbstractDataPluginItem *item) |
void | clear () |
Signals | |
void | favoriteItemsChanged (const QStringList &favoriteItems) |
void | favoriteItemsOnlyChanged () |
void | itemsUpdated () |
Public Member Functions | |
AbstractDataPluginModel (const QString &name, const MarbleModel *marbleModel, QObject *parent=0) | |
virtual | ~AbstractDataPluginModel () |
QStringList | favoriteItems () const |
QObject * | favoritesModel () |
AbstractDataPluginItem * | findItem (const QString &id) const |
bool | isFavoriteItemsOnly () const |
bool | itemExists (const QString &id) const |
QList< AbstractDataPluginItem * > | items (const ViewportParams *viewport, qint32 number=10) |
const MarbleModel * | marbleModel () const |
virtual void | setFavoriteItems (const QStringList &list) |
void | setFavoriteItemsOnly (bool favoriteOnly) |
void | setItemSettings (QHash< QString, QVariant > itemSettings) |
QList< AbstractDataPluginItem * > | whichItemAt (const QPoint &curpos) |
Protected Member Functions | |
void | downloadDescriptionFile (const QUrl &url) |
void | downloadItem (const QUrl &url, const QString &type, AbstractDataPluginItem *item) |
bool | fileExists (const QString &fileName) const |
bool | fileExists (const QString &id, const QString &type) const |
QString | generateFilename (const QString &id, const QString &type) const |
QString | generateFilepath (const QString &id, const QString &type) const |
virtual void | getAdditionalItems (const GeoDataLatLonAltBox &box, qint32 number=10)=0 |
virtual void | getItem (const QString &id) |
MARBLE_DEPRECATED (void downloadItemData(const QUrl &url, const QString &type, AbstractDataPluginItem *item)) | |
virtual void | parseFile (const QByteArray &file) |
void | registerItemProperties (const QMetaObject &item) |
Properties | |
QObject | favoritesModel |
Detailed Description
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.
Definition at line 45 of file AbstractDataPluginModel.h.
Constructor & Destructor Documentation
|
explicit |
Definition at line 247 of file AbstractDataPluginModel.cpp.
|
virtual |
Definition at line 264 of file AbstractDataPluginModel.cpp.
Member Function Documentation
|
slot |
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.
Definition at line 408 of file AbstractDataPluginModel.cpp.
|
slot |
Convenience method to add one item to the list.
See addItemsToList
Definition at line 403 of file AbstractDataPluginModel.cpp.
|
slot |
Removes all items.
Definition at line 662 of file AbstractDataPluginModel.cpp.
|
protected |
Download the description file from the url
.
Definition at line 392 of file AbstractDataPluginModel.cpp.
|
protected |
Downloads the file from url
.
item
-> addDownloadedFile() will be called when the download is finished.
- Parameters
-
The type of the download (to be specified by the subclasser)
Definition at line 378 of file AbstractDataPluginModel.cpp.
QStringList Marble::AbstractDataPluginModel::favoriteItems | ( | ) | const |
Definition at line 478 of file AbstractDataPluginModel.cpp.
|
signal |
|
signal |
QObject* Marble::AbstractDataPluginModel::favoritesModel | ( | ) |
|
protected |
Testing the existence of the file fileName
.
Definition at line 542 of file AbstractDataPluginModel.cpp.
|
protected |
Testing the existence of a file with id
and type
.
Definition at line 547 of file AbstractDataPluginModel.cpp.
AbstractDataPluginItem * Marble::AbstractDataPluginModel::findItem | ( | const QString & | id | ) | const |
Finds the item with id
in the list.
- Returns
- The pointer to the item or (if no item has been found) 0
Definition at line 552 of file AbstractDataPluginModel.cpp.
|
protected |
Generates the filename relative to the download path from id
and type
.
Definition at line 527 of file AbstractDataPluginModel.cpp.
|
protected |
Generates the absolute filepath of the from id
and type
.
Definition at line 537 of file AbstractDataPluginModel.cpp.
|
protectedpure virtual |
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.
Implemented in Marble::WeatherModel, Marble::OpenCachingComModel, Marble::PhotoPluginModel, Marble::WikipediaModel, Marble::EarthquakeModel, Marble::OpenDesktopModel, Marble::DeclarativeDataPluginModel, Marble::FoursquareModel, and Marble::PostalCodeModel.
|
protectedvirtual |
Retrieve data for a specific item.
- Parameters
-
id Item id of the item to retrieve
Reimplemented in Marble::WeatherModel.
Definition at line 461 of file AbstractDataPluginModel.cpp.
bool Marble::AbstractDataPluginModel::isFavoriteItemsOnly | ( | ) | const |
Definition at line 492 of file AbstractDataPluginModel.cpp.
bool Marble::AbstractDataPluginModel::itemExists | ( | const QString & | id | ) | const |
Testing the existence of the item id
in the list.
Definition at line 563 of file AbstractDataPluginModel.cpp.
QList< AbstractDataPluginItem * > Marble::AbstractDataPluginModel::items | ( | const ViewportParams * | viewport, |
qint32 | 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.
Definition at line 274 of file AbstractDataPluginModel.cpp.
|
signal |
|
protected |
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.
- Parameters
-
The type of the download (to be specified by the subclasser)
- Deprecated:
- Please use downloadItem() and addItemsToList() for efficiency
const MarbleModel * Marble::AbstractDataPluginModel::marbleModel | ( | ) | const |
Definition at line 269 of file AbstractDataPluginModel.cpp.
|
protectedvirtual |
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.
Reimplemented in Marble::WeatherModel, Marble::OpenCachingComModel, Marble::OpenCachingModel, Marble::PhotoPluginModel, Marble::WikipediaModel, Marble::EarthquakeModel, Marble::OpenDesktopModel, Marble::FoursquareModel, and Marble::PostalCodeModel.
Definition at line 364 of file AbstractDataPluginModel.cpp.
|
protected |
Definition at line 674 of file AbstractDataPluginModel.cpp.
|
virtual |
Reimplemented in Marble::WeatherModel.
Definition at line 466 of file AbstractDataPluginModel.cpp.
void Marble::AbstractDataPluginModel::setFavoriteItemsOnly | ( | bool | favoriteOnly | ) |
Definition at line 483 of file AbstractDataPluginModel.cpp.
void Marble::AbstractDataPluginModel::setItemSettings | ( | QHash< 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.
Definition at line 568 of file AbstractDataPluginModel.cpp.
QList< AbstractDataPluginItem * > Marble::AbstractDataPluginModel::whichItemAt | ( | const QPoint & | curpos | ) |
Get all items that contain the given point Returns a list of all items that contain the point curpos
.
Definition at line 352 of file AbstractDataPluginModel.cpp.
Property Documentation
|
read |
Definition at line 50 of file AbstractDataPluginModel.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:55 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.