- Qt 5.15
- Qt Location
- C++ Classes
- QPlaceContent
- Qt 5.15.19 Reference Documentation

# 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.

- List of all members, including inherited members

## Public Types

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

## Public Functions

| QPlaceContent(const QPlaceContent &other)
| QPlaceContent()
QPlaceContent & | operator=(const QPlaceContent &other)
virtual | ~QPlaceContent()
QString | attribution() const
void | setAttribution(const QString &attribution)
void | setSupplier(const QPlaceSupplier &supplier)
void | setUser(const QPlaceUser &user)
QPlaceSupplier | supplier() const
QPlaceContent::Type | type() const
QPlaceUser | user() const
bool | operator!=(const QPlaceContent &other) const
bool | operator==(const QPlaceContent &other) const

## 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.

Constant | Value | Description
--- | --- | ---
`QPlaceContent::NoType` | `0` | The content object is default constructed, any other content type may be assigned to this content object
`QPlaceContent::ImageType` | `1` | The content object is an image
`QPlaceContent::ReviewType` | `2` | The content object is a review
`QPlaceContent::EditorialType` | `3` | The content object is an editorial
`QPlaceContent::CustomType` | `0x0100` | The content object is of a custom type

## Member Function Documentation

### QPlaceContent::QPlaceContent(const QPlaceContent &other)

Constructs a new copy of other.

### QPlaceContent::QPlaceContent()

Constructs an default content object which has no type.

### QPlaceContent &QPlaceContent::operator=(const QPlaceContent &other)

Assigns the other content object to this and returns a reference to this content object.

### `[virtual]` QPlaceContent::~QPlaceContent()

Destroys the content object.

### QString QPlaceContent::attribution() const

Returns a rich text attribution string.

Note: Some providers may require that the attribution of a particular content item always be displayed when the content item is shown.

See also setAttribution().

### void QPlaceContent::setAttribution(const QString &attribution)

Sets a rich text attribution string for this content item.

See also attribution().

### void QPlaceContent::setSupplier(const QPlaceSupplier &supplier)

Sets the supplier of the content.

See also supplier().

### void QPlaceContent::setUser(const QPlaceUser &user)

Sets the user who contributed this content.

See also user().

### QPlaceSupplier QPlaceContent::supplier() const

Returns the supplier who contributed this content.

See also setSupplier().

### QPlaceContent::Type QPlaceContent::type() const

Returns the content type.

### QPlaceUser QPlaceContent::user() const

Returns the user who contributed this content.

See also setUser().

### bool QPlaceContent::operator!=(const QPlaceContent &other) const

Returns true if this content object is not equivalent to other, otherwise returns false.

### bool QPlaceContent::operator==(const QPlaceContent &other) const

Returns true if this content object is equivalent to other, otherwise returns false.