QIviSearchAndBrowseModelInterface 类

QIviSearchAndBrowseModelInterface 定义了 QIviSearchAndBrowseModel 功能类后端的接口。 更多信息...

头文件 #include <QIviSearchAndBrowseModelInterface>
qmakeQT += ivicore
继承 QIviPagingModelInterface

公共函数

virtual QIviPendingReplygoBack(const QUuid &identifier) = 0
virtual QIviPendingReplygoForward(const QUuid &identifier, int index) = 0
virtual QIviPendingReplyindexOf(const QUuid &identifier, const QVariant &item) = 0
virtual QIviPendingReplyinsert(const QUuid &identifier, int index, const QVariant &item) = 0
virtual QIviPendingReplymove(const QUuid &identifier, int currentIndex, int newIndex) = 0
virtual QIviPendingReplyremove(const QUuid &identifier, int index) = 0
virtual voidsetContentType(const QUuid &identifier, const QString &contentType) = 0
virtual voidsetupFilter(const QUuid &identifier, QIviAbstractQueryTerm *term, const QList &orderTerms) = 0

信号

voidavailableContentTypesChanged(const QStringList &availableContentTypes)
voidcanGoBackChanged(const QUuid &identifier, bool canGoBack)
voidcanGoForwardChanged(const QUuid &identifier, const QVector &indexes, int start)
voidcontentTypeChanged(const QUuid &identifier, const QString &contentType)
voidqueryIdentifiersChanged(const QUuid &identifier, const QSet &queryIdentifiers)

保护函数

详细说明

QIviSearchAndBrowseModelInterface 是由 QIviSearchAndBrowseModel 使用的接口

该接口是由 QIviSearchAndBrowseModel 对象发现的,该对象将其连接并设置。

每个 QIviSearchAndBrowseModel 都生成自己的 QUuid,该 UUID 被传递给后端接口并可用于识别模型实例。

//TODO 解释接口如何在一个示例中工作 <一个全功能后端的示例>

另请参阅QIviSearchAndBrowseModel.

成员函数文档

[signal] void QIviSearchAndBrowseModelInterface::availableContentTypesChanged(const QStringList &availableContentTypes)

在初始化阶段生成,用于通知所有可用的内容类型(availableContentTypes)。

该值作为可以向用户提供的信息,指示哪些内容类型可以使用。

注意: QIviSearchAndBrowseModel 不检查 contentType 的有效性,这是后端的责任。

另请参阅:setContentType

[信号] void QIviSearchAndBrowseModelInterface::canGoBackChanged(const QUuid &identifier, bool canGoBack)

生成通知给定 identifierQIviSearchAndBrowseModel 实例,它是否可以返回到之前显示的数据集。如果实例可以显示之前的数据集,则 canGoBack 被设置为 true

关于如何使用此功能,请参阅 浏览

另请参阅:goBack

[信号] void QIviSearchAndBrowseModelInterface::canGoForwardChanged(const QUuid &identifier, const QVector<bool> &indexes, int start)

生成通知给定 identifierQIviSearchAndBrowseModel 实例,可以使用的以下 indexes 来显示一组新的数据。

参数 start 可以用来只通知一组有限的索引。此信号可以在 QIviPagingModelInterface::fetchData() 调用期间发射,以通知新检索到的数据的状态。

关于如何使用此功能,请参阅 浏览

另请参阅:goForward

[信号] void QIviSearchAndBrowseModelInterface::contentTypeChanged(const QUuid &identifier, const QString &contentType)

在调用 setContentType 的结果中生成,以通知给定的 identifierQIviSearchAndBrowseModel 实例关于它的新 contentType

另请参阅:setContentType

[信号] void QIviSearchAndBrowseModelInterface::queryIdentifiersChanged(const QUuid &identifier, const QSet<QString> &queryIdentifiers)

在调用 setContentType 的结果中生成,以通知给定的 identifierQIviSearchAndBrowseModel 实例关于当前支持的 queryIdentifiers

queryIdentifiers 用于设置 Qt IVI 查询语言,能够显示对无效查询有意义的错误。如果不发射此信号,则 Qt IVI 查询语言 不会限制可能标识符。

[纯虚函数] QIviPendingReply<QString> QIviSearchAndBrowseModelInterface::goBack(const QUuid &identifier)

请求前往由 identifier 标识的 QIviSearchAndBrowseModel 实例上个显示的数据集。

新的内容类型以QIviPendingReply的形式返回。一旦准备就绪,必须使用setSuccess()设置新内容类型,如果出错则使用setFailed()。

关于如何使用此功能,请参阅 浏览

另请参阅 canGoBackChanged

[纯虚函数] QIviPendingReply<QString> QIviSearchAndBrowseModelInterface::goForward(const QUuid &identifier, int index)

请求跳转到由identifier标识的、在index位置上的QIviSearchAndBrowseModel实例的下一个数据集。

新的内容类型以QIviPendingReply的形式返回。一旦准备就绪,必须使用setSuccess()设置新内容类型,如果出错则使用setFailed()。

关于如何使用此功能,请参阅 浏览

另请参阅 canGoForwardChanged

[受保护的] 模板 <typename T> QSet<QString> QIviSearchAndBrowseModelInterface::identifiersFromItem()

返回所有类型为T的属性。

这些属性可以通过使用queryIdentifiersChanged信号注册为Qt IVI查询语言的标识符。

[纯虚函数] QIviPendingReply<int> QIviSearchAndBrowseModelInterface::indexOf(const QUuid &identifier, const QVariant &item)

确定item在由identifier标识的模型中的位置。

[纯虚函数] QIviPendingReply<void> QIviSearchAndBrowseModelInterface::insert(const QUuid &identifier, int index, const QVariant &item)

在由identifier标识的、在index位置上的QIviSearchAndBrowseModel实例的当前数据集中添加可浏览的item

提供的项目可能由另一个模型或QML拥有,因此预计后端存储其内部表示。

另请参阅 dataChanged

[纯虚函数] QIviPendingReply<void> QIviSearchAndBrowseModelInterface::move(const QUuid &identifier, int currentIndex, int newIndex)

将位于由identifier标识的、在当前数据集中位置currentIndex的可浏览项目移动到新位置newIndex

另请参阅 dataChanged

[纯虚函数] QIviPendingReply<void> QIviSearchAndBrowseModelInterface::remove(const QUuid &identifier, int index)

从由identifier标识的、在当前数据集中位置indexQIviSearchAndBrowseModel实例中移除可浏览的项目。

另请参阅 dataChanged

[纯虚函数] void QIviSearchAndBrowseModelInterface::setContentType(const QUuid &identifier, const QString &contentType)

设置通过 identifier 标识的 QIviSearchAndBrowseModel 实例的 contentType。给定内容类型可以包含额外的路径信息。编码由 goForward() 方法定义。如果 contentType 无效,应使用 error() 信号。

注意:QIviSearchAndBrowseModel 不检查 contentType 的有效性,这是后端的责任。

如果 QIviSearchAndBrowseModel 支持过滤(参见 QIviPagingModel::capabilitiesChanged),则当 contentType 设置后,后端需要发出 queryIdentifiersChanged 信号。

最后,当后端已设置 contentType 并准备使用时,需要发出 contentTypeChanged 信号。

对此函数的调用随后是调用 setupFilter() 和 fetchData()。

另请参阅:identifiersFromItemqueryIdentifiersChangedcontentTypeChanged

[纯虚函数] void QIviSearchAndBrowseModelInterface::setupFilter(const QUuid &identifier, QIviAbstractQueryTerm *term, const QList<QIviOrderTerm> &orderTerms)

设置 identifier 标识的 QIviSearchAndBrowseModel 实例的过滤器。

termorderTerms 参数是查询表示,用于过滤和排序。如果后端不支持过滤和排序或者在 QIviSearchAndBrowseModel 实例中没有定义查询,则 term 参数是空指针。

©2020 The Qt Company Ltd. 本文档中的贡献为各自所有者的版权所拥有。本提供的文档根据 GNU 自由文档许可证版本 1.3 许可,由自由软件基金会发布。Qt 和相应标志是芬兰及其它全球国家的 The Qt Company Ltd. 的商标。所有其他商标归各自所有者所有。