Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

QPlaceManager Class

The QPlaceManager class provides the interface which allows clients to access places stored in a particular backend. More...

 #include <QPlaceManager>

Inherits: QObject.

This class was introduced in Qt Location 5.0.

Public Functions

~QPlaceManager()
QPlaceCategory category(const QString & categoryId) const
QList<QPlaceCategory> childCategories(const QString & parentId = QString()) const
QStringList childCategoryIds(const QString & parentId = QString()) const
QPlace compatiblePlace(const QPlace & original)
QPlaceContentReply * getPlaceContent(const QString & placeId, const QPlaceContentRequest & request) const
QPlaceDetailsReply * getPlaceDetails(const QString & placeId) const
QPlaceReply * initializeCategories()
QList<QLocale> locales() const
QString managerName() const
int managerVersion() const
QPlaceMatchReply * matchingPlaces(const QPlaceMatchRequest & request) const
QString parentCategoryId(const QString & categoryId) const
QPlaceSearchReply * recommendations(const QString & placeId, const QPlaceSearchRequest & request = QPlaceSearchRequest()) const
QPlaceIdReply * removeCategory(const QString & categoryId)
QPlaceIdReply * removePlace(const QString & placeId)
QPlaceIdReply * saveCategory(const QPlaceCategory & category, const QString & parentId = QString())
QPlaceIdReply * savePlace(const QPlace & place)
QPlaceSearchReply * search(const QPlaceSearchRequest & request) const
QPlaceSearchSuggestionReply * searchSuggestions(const QPlaceSearchRequest & request) const
void setLocale(const QLocale & locale)
void setLocales(const QList<QLocale> & locales)
  • 31 public functions inherited from QObject

Signals

void categoryAdded(const QPlaceCategory & category, const QString & parentId)
void categoryRemoved(const QString & categoryId, const QString & parentId)
void categoryUpdated(const QPlaceCategory & category, const QString & parentId)
void error(QPlaceReply * reply, QPlaceReply::Error error, const QString & errorString = QString())
void finished(QPlaceReply * reply)
void placeAdded(const QString & placeId)
void placeRemoved(const QString & placeId)
void placeUpdated(const QString & placeId)

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 11 static public members inherited from QObject
  • 9 protected functions inherited from QObject

Detailed Description

The QPlaceManager class provides the interface which allows clients to access places stored in a particular backend.

The following table gives an overview of the functionality provided by the QPlaceManager

FunctionalityDescription
Searching for placesUsing set of parameters such as a search term and search area, relevant places can be returned to the user.
CategoriesPlaces can be classified as belonging to different categories. The manager supports access to these categories.
Search term suggestionsGiven a partially complete search term, a list of potential search terms can be given.
RecommendationsGiven an existing place, a set of similar recommended places can be suggested to the user.
Rich ContentRich content such as images, reviews etc can be retrieved in a paged fashion.
Place or Category managementPlaces and categories may be saved and removed. It is possible for notifications to be given when this happens.
LocalizationDifferent locales may be specified to return place data in different languages.

Obtaining a QPlaceManager Instance

Creation of a QPlaceManager is facilitated by the QGeoServiceProvider. See Initializing a manager for an example on how to create a manager.

Asynchronous Interface.

The QPlaceManager class provides an abstraction of the datastore which contains place information. The functions provided by the QPlaceManager and primarily asynchronous and follow a request-reply model. Typically a request is given to the manager, consisting of a various set of parameters and a reply object is created. The reply object has a signal to notify when the request is done, and once completed, the reply contains the results of the request, along with any errors that occurred, if any.

An asynchronous request is generally handled as follows:

 //1) Make an appropriate request
 QPlaceSearchRequest searchRequest;
 searchRequest.setSearchTerm("ice cream");
 searchRequest.setSearchArea(QGeoBoundingCircle(QGeoCoordinate(12.34, 56.78)));

 //2) Use the manager to initiate a request and retreive a reply object
 QPlaceSearchReply * searchReply = manager->search(searchRequest);

 //3) Connect the reply object to a slot which is invoked upon operation completion
 connect(searchReply, SIGNAL(finished()), this, SLOT(processSearchReply()));
     ...
     ...
 //4) Have the slot appropriately process the results of the operation
 void processSearchReply() {
     if (searchReply->error() == QPlaceReply::NoError) {
         foreach (const QPlaceSearchResult &result, searchReply->results()) {
             if (result.type() == QPlaceSearchResult::PlaceResult)
                 qDebug() << "Name:" << result.place().name();
         }
     }

 //5) Discard the rely object when done.
     searchReply->deleteLater();
     searchReply = 0;
 }

See Common Operations for a list of examples demonstrating how the QPlaceManger is used.

Category Initialization

Sometime during startup of an application, the initializeCategories() function should be called to setup the categories. Initializing the categories enables the usage of the following functions:

If the categories need to be refreshed or reloaded, the initializeCategories() function may be called again.

Member Function Documentation

QPlaceManager::~QPlaceManager()

Destroys the manager. This destructor is used internally by QGeoServiceProvider and should never need to be called in application code.

QPlaceCategory QPlaceManager::category(const QString & categoryId) const

Returns the category corresponding to the given categoryId.

void QPlaceManager::categoryAdded(const QPlaceCategory & category, const QString & parentId) [signal]

This signal is emitted if a category has been added to the manager's datastore. The parent of the category is specified by parentId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

void QPlaceManager::categoryRemoved(const QString & categoryId, const QString & parentId) [signal]

This signal is emitted when the category corresponding to categoryId has been removed from the manager's datastore. The parent of the removed category is specified by parentId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

void QPlaceManager::categoryUpdated(const QPlaceCategory & category, const QString & parentId) [signal]

This signal is emitted if a category has been modified in the manager's datastore. The parent of the modified category is specified by parentId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

QList<QPlaceCategory> QPlaceManager::childCategories(const QString & parentId = QString()) const

Returns a list of categories that are children of the category corresponding to parentId. If parentId is empty, all the top level categories are returned.

QStringList QPlaceManager::childCategoryIds(const QString & parentId = QString()) const

Returns the child category identifiers of the category corresponding to parentId. If parentId is empty then all top level category identifiers are returned.

QPlace QPlaceManager::compatiblePlace(const QPlace & original)

Returns a pruned or modified version of the original place which is suitable to be saved into this manager.

Only place details that are supported by this manager is present in the modified version. Manager specific data such as the place id, is not copied over from the original.

void QPlaceManager::error(QPlaceReply * reply, QPlaceReply::Error error, const QString & errorString = QString()) [signal]

This signal is emitted when an error has been detected in the processing of reply. The QPlaceManager::finished() signal will probably follow.

The error will be described by the error code error. If errorString is not empty it will contain a textual description of the error meant for developers and not end users.

This signal and QPlaceReply::error() will be emitted at the same time.

Note: Do not delete the reply object in the slot connected to this signal. Use deleteLater() instead.

void QPlaceManager::finished(QPlaceReply * reply) [signal]

This signal is emitted when reply has finished processing.

If reply->error() equals QPlaceReply::NoError then the processing finished successfully.

This signal and QPlaceReply::finished() will be emitted at the same time.

Note: Do not delete the reply object in the slot connected to this signal. Use deleteLater() instead.

QPlaceContentReply * QPlaceManager::getPlaceContent(const QString & placeId, const QPlaceContentRequest & request) const

Retrieves content for the place corresponding to placeId, according to the parameters specified in request.

See Fetching Rich Content for an example of usage.

QPlaceDetailsReply * QPlaceManager::getPlaceDetails(const QString & placeId) const

Retrieves a details of place corresponding to the given placeId.

See Fetching Place Details for an example of usage.

QPlaceReply * QPlaceManager::initializeCategories()

Initializes the categories of the manager.

See Using Categories for an example of usage.

QList<QLocale> QPlaceManager::locales() const

Returns a list of preferred locales. The locales are used as a hint to the manager for what language place and category details should be returned in.

If the first specified locale cannot be accommodated, the manager falls back to the next and so forth. Some manager backends may not support a set of locales which are rigidly defined. An arbitrary example is that some places in France could have French and English localizations, while certain areas in America may only have the English localization available. In this example, the set of supported locales is context dependent on the search location.

If the manager cannot accommodate any of the preferred locales, the manager falls back to using a supported language that is backend specific.

Support for locales may vary from provider to provider. For those that do support it, by default, the global default locale is set as the manager's only locale.

For managers that do not support locales, the locale list is always empty.

See also setLocales().

QString QPlaceManager::managerName() const

Returns the name of the manager

int QPlaceManager::managerVersion() const

Returns the manager version.

QPlaceMatchReply * QPlaceManager::matchingPlaces(const QPlaceMatchRequest & request) const

Returns a reply which contains a list of places which correspond/match those specified in the request. The places specified in the request come from a different manager.

QString QPlaceManager::parentCategoryId(const QString & categoryId) const

Returns the parent category identifier of the category corresponding to categoryId.

void QPlaceManager::placeAdded(const QString & placeId) [signal]

This signal is emitted if a place has been added to the manager engine's datastore. The particular added place is specified by placeId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

void QPlaceManager::placeRemoved(const QString & placeId) [signal]

This signal is emitted if a place has been removed from the manager's datastore. The particular place that has been removed is specified by placeId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

void QPlaceManager::placeUpdated(const QString & placeId) [signal]

This signal is emitted if a place has been modified in the manager's datastore. The particular modified place is specified by placeId.

This signal is only emitted by managers that support the QPlaceManager::NotificationsFeature.

QPlaceSearchReply * QPlaceManager::recommendations(const QString & placeId, const QPlaceSearchRequest & request = QPlaceSearchRequest()) const

Provides recommendations for places that are similar to the place identified by placeId, and using the parameters as specified in request.

See Recommendations for an example of usage.

QPlaceIdReply * QPlaceManager::removeCategory(const QString & categoryId)

Removes the category corresponding to categoryId from the manager.

See Removing a category for an example of usage.

QPlaceIdReply * QPlaceManager::removePlace(const QString & placeId)

Removes the place corresponding to placeId from the manager.

See Removing a place cpp for an example of usage.

QPlaceIdReply * QPlaceManager::saveCategory(const QPlaceCategory & category, const QString & parentId = QString())

Saves a category that is a child of the category specified by parentId. An empty parentId means category is saved as a top level category.

See Saving a category for an example of usage.

QPlaceIdReply * QPlaceManager::savePlace(const QPlace & place)

Saves a specified place.

See Saving a place cpp for an example of usage.

QPlaceSearchReply * QPlaceManager::search(const QPlaceSearchRequest & request) const

Searches for places according to the parameters specified in request.

See Discovery/Search for an example of usage.

QPlaceSearchSuggestionReply * QPlaceManager::searchSuggestions(const QPlaceSearchRequest & request) const

Requests a set of search term suggestions according to the parameters specified in request. The request can hold the incomplete search term, along with other data such as a search area to narrow down relevant results.

See Search Suggestions for an example of usage.

void QPlaceManager::setLocale(const QLocale & locale)

Convenience function which sets the manager's list of preferred locales to a single locale.

void QPlaceManager::setLocales(const QList<QLocale> & locales)

Set the list of preferred locales.

See also locales().

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web