QIviSearchAndBrowseModelInterface 类
QIviSearchAndBrowseModelInterface 定义了 QIviSearchAndBrowseModel 功能类后端的接口。 更多信息...
头文件 | #include <QIviSearchAndBrowseModelInterface> |
qmake | QT += ivicore |
继承 | QIviPagingModelInterface |
公共函数
virtual QIviPendingReply | goBack(const QUuid &identifier) = 0 |
virtual QIviPendingReply | goForward(const QUuid &identifier, int index) = 0 |
virtual QIviPendingReply | indexOf(const QUuid &identifier, const QVariant &item) = 0 |
virtual QIviPendingReply | insert(const QUuid &identifier, int index, const QVariant &item) = 0 |
virtual QIviPendingReply | move(const QUuid &identifier, int currentIndex, int newIndex) = 0 |
virtual QIviPendingReply | remove(const QUuid &identifier, int index) = 0 |
virtual void | setContentType(const QUuid &identifier, const QString &contentType) = 0 |
virtual void | setupFilter(const QUuid &identifier, QIviAbstractQueryTerm *term, const QList |
信号
void | availableContentTypesChanged(const QStringList &availableContentTypes) |
void | canGoBackChanged(const QUuid &identifier, bool canGoBack) |
void | canGoForwardChanged(const QUuid &identifier, const QVector |
void | contentTypeChanged(const QUuid &identifier, const QString &contentType) |
void | queryIdentifiersChanged(const QUuid &identifier, const QSet |
保护函数
QSet | identifiersFromItem() |
详细说明
QIviSearchAndBrowseModelInterface 是由 QIviSearchAndBrowseModel 使用的接口
该接口是由 QIviSearchAndBrowseModel 对象发现的,该对象将其连接并设置。
每个 QIviSearchAndBrowseModel 都生成自己的 QUuid,该 UUID 被传递给后端接口并可用于识别模型实例。
//TODO 解释接口如何在一个示例中工作 <一个全功能后端的示例>
成员函数文档
[signal]
void QIviSearchAndBrowseModelInterface::availableContentTypesChanged(const QStringList &availableContentTypes)
在初始化阶段生成,用于通知所有可用的内容类型(availableContentTypes)。
该值作为可以向用户提供的信息,指示哪些内容类型可以使用。
注意: QIviSearchAndBrowseModel 不检查 contentType 的有效性,这是后端的责任。
另请参阅:setContentType。
[信号]
void QIviSearchAndBrowseModelInterface::canGoBackChanged(const QUuid &identifier, bool canGoBack)
生成通知给定 identifier 的 QIviSearchAndBrowseModel 实例,它是否可以返回到之前显示的数据集。如果实例可以显示之前的数据集,则 canGoBack 被设置为 true
。
关于如何使用此功能,请参阅 浏览。
另请参阅:goBack。
[信号]
void QIviSearchAndBrowseModelInterface::canGoForwardChanged(const QUuid &identifier, const QVector<bool> &indexes, int start)
生成通知给定 identifier 的 QIviSearchAndBrowseModel 实例,可以使用的以下 indexes 来显示一组新的数据。
参数 start 可以用来只通知一组有限的索引。此信号可以在 QIviPagingModelInterface::fetchData() 调用期间发射,以通知新检索到的数据的状态。
关于如何使用此功能,请参阅 浏览。
另请参阅:goForward。
[信号]
void QIviSearchAndBrowseModelInterface::contentTypeChanged(const QUuid &identifier, const QString &contentType)
在调用 setContentType 的结果中生成,以通知给定的 identifier 的 QIviSearchAndBrowseModel 实例关于它的新 contentType。
另请参阅:setContentType。
[信号]
void QIviSearchAndBrowseModelInterface::queryIdentifiersChanged(const QUuid &identifier, const QSet<QString> &queryIdentifiers)
在调用 setContentType 的结果中生成,以通知给定的 identifier 的 QIviSearchAndBrowseModel 实例关于当前支持的 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标识的、在当前数据集中位置index的QIviSearchAndBrowseModel实例中移除可浏览的项目。
另请参阅 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()。
另请参阅:identifiersFromItem、queryIdentifiersChanged 和 contentTypeChanged。
[纯虚函数]
void QIviSearchAndBrowseModelInterface::setupFilter(const QUuid &identifier, QIviAbstractQueryTerm *term, const QList<QIviOrderTerm> &orderTerms)
设置 identifier 标识的 QIviSearchAndBrowseModel 实例的过滤器。
term 和 orderTerms 参数是查询表示,用于过滤和排序。如果后端不支持过滤和排序或者在 QIviSearchAndBrowseModel 实例中没有定义查询,则 term 参数是空指针。
©2020 The Qt Company Ltd. 本文档中的贡献为各自所有者的版权所拥有。本提供的文档根据 GNU 自由文档许可证版本 1.3 许可,由自由软件基金会发布。Qt 和相应标志是芬兰及其它全球国家的 The Qt Company Ltd. 的商标。所有其他商标归各自所有者所有。