QPlaceContent Class

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

头文件: #include <QPlaceContent>
qmake: QT += location
开始支持版本: Qt 5.6
派生类:

QPlaceEditorial, QPlaceImage, and QPlaceReview

公有类型

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

公有函数

QPlaceContent()
QPlaceContent(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
QPlaceContent &operator=(const QPlaceContent &other)
bool operator==(const QPlaceContent &other) const

详细描述

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

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.

参见 QPlaceImage, QPlaceReview, and QPlaceEditorial.

成员类型

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::QPlaceContent()

Constructs an default content object which has no type.

QPlaceContent::QPlaceContent(const QPlaceContent &other)

Constructs a new copy of other.

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

参见 setAttribution().

void QPlaceContent::setAttribution(const QString &attribution)

Sets a rich text attribution string for this content item.

参见 attribution().

void QPlaceContent::setSupplier(const QPlaceSupplier &supplier)

Sets the supplier of the content.

参见 supplier().

void QPlaceContent::setUser(const QPlaceUser &user)

Sets the user who contributed this content.

参见 user().

QPlaceSupplier QPlaceContent::supplier() const

Returns the supplier who contributed this content.

参见 setSupplier().

QPlaceContent::Type QPlaceContent::type() const

Returns the content type.

QPlaceUser QPlaceContent::user() const

Returns the user who contributed this content.

参见 setUser().

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

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

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

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

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

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