QPlaceContent Class

The QPlaceContent class serves as the base class for rich content types. More...

Header: #include <QPlaceContent>
qmake: QT += location
Since: Qt 5.6
Inherited By:

QPlaceEditorial, QPlaceImage, and QPlaceReview

This class was introduced in Qt 5.6.

Public Types

typedef Collection
enum Type { NoType, ImageType, ReviewType, EditorialType, CustomType }

Detailed Description

Rich content such as images, reviews and editorials inherit from the QPlaceContent class which contains common properties such as an attribution string and content contributor, which may take the form of a user and/or supplier. It is possible that a user from a supplier is contributing content, hence both fields could be filled in simultaneously.

Note: Some providers may require that the attribution string be displayed to the user whenever a piece of content is viewed.

Conversion between QPlaceContent and it's subclasses can be easily performed without casting. Due to the way it has been implemented, object slicing is not an issue, the following code is valid:

 QPlaceImage image;
 image.setUrl(QUrl("www.example.com"));

 QPlaceContent content = image;

 QPlaceImage image2;
 image2 = content;
 qDebug() << image2.url(); //image2.url() == "www.example.com"

The rich content of a place is typically made available as paginated items. The ability to convert between QPlaceContent and it's subclasses means that code which handles the mechanics of paging can be easily shared for each of the sub types.

At present the QPlaceContent class is not extensible by 3rd parties.

Note: The Places API considers content objects to be 'retrieve-only' objects. Submission of content to a provider is not a supported use case.

See also QPlaceImage, QPlaceReview, and QPlaceEditorial.

Member Type Documentation

typedef QPlaceContent::Collection

Synonym for QMap<int, QPlaceContent>. The key of the map is an int representing the index of the content. The value is the content object itself.

The Collection is intended to be a container where content items, that have been retrieved as pages, can be stored. This enables a developer to skip pages, for example indexes 0-9 may be stored in the collection, if the user skips to indexes 80-99, these can be stored in the collection as well.

enum QPlaceContent::Type

Defines the type of content.

ConstantValueDescription
QPlaceContent::NoType0The content object is default constructed, any other content type may be assigned to this content object
QPlaceContent::ImageType1The content object is an image
QPlaceContent::ReviewType2The content object is a review
QPlaceContent::EditorialType3The content object is an editorial
QPlaceContent::CustomType0x0100The content object is of a custom type