QAbstractItemModelReplica Class

The QAbstractItemModelReplica class serves as a convenience class for Replicas of Sources based on QAbstractItemModel. More...

Header: #include <QAbstractItemModelReplica>
CMake: find_package(Qt6 REQUIRED COMPONENTS RemoteObjects)
target_link_libraries(mytarget PRIVATE Qt6::RemoteObjects)
qmake: QT += remoteobjects
Inherits: QAbstractItemModel

Public Functions

virtual ~QAbstractItemModelReplica() override
QList<int> availableRoles() const
bool hasData(const QModelIndex &index, int role) const
bool isInitialized() const
size_t rootCacheSize() const
QItemSelectionModel *selectionModel() const
void setRootCacheSize(size_t rootCacheSize)

Reimplemented Public Functions

virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual void multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const override
virtual QModelIndex parent(const QModelIndex &index) const override
virtual QHash<int, QByteArray> roleNames() const override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override

Signals

void initialized()

Detailed Description

QAbstractItemModelReplica makes replicating QAbstractItemModels more efficient by employing caching and pre-fetching.

See also QAbstractItemModel.

Member Function Documentation

[override virtual noexcept] QAbstractItemModelReplica::~QAbstractItemModelReplica()

Destroys the instance of QAbstractItemModelReplica.

QList<int> QAbstractItemModelReplica::availableRoles() const

Returns a list of available roles.

See also QAbstractItemModel.

[override virtual] int QAbstractItemModelReplica::columnCount(const QModelIndex &parent = QModelIndex()) const

Reimplements: QAbstractItemModel::columnCount(const QModelIndex &parent) const.

[override virtual] QVariant QAbstractItemModelReplica::data(const QModelIndex &index, int role = Qt::DisplayRole) const

Reimplements: QAbstractItemModel::data(const QModelIndex &index, int role) const.

Returns the role data for the item at index if available in cache. A default-constructed QVariant is returned if the index is invalid, the role is not one of the available roles, the Replica is uninitialized or the data was not available. If the data was not available in cache it will be requested from the Source.

See also QAbstractItemModel::data(), hasData(), setData(), and isInitialized().

[override virtual] Qt::ItemFlags QAbstractItemModelReplica::flags(const QModelIndex &index) const

Reimplements: QAbstractItemModel::flags(const QModelIndex &index) const.

[override virtual] bool QAbstractItemModelReplica::hasChildren(const QModelIndex &parent = QModelIndex()) const

Reimplements: QAbstractItemModel::hasChildren(const QModelIndex &parent) const.

bool QAbstractItemModelReplica::hasData(const QModelIndex &index, int role) const

Returns true if there exists role data for the item at index. Returns false in any other case.

[override virtual] QVariant QAbstractItemModelReplica::headerData(int section, Qt::Orientation orientation, int role) const

Reimplements: QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const.

Returns the data for the given role and section in the header with the specified orientation.

If the data is not available it will be requested from the Source.

See also QAbstractItemModel::headerData().

[override virtual] QModelIndex QAbstractItemModelReplica::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

Reimplements: QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const.

[signal] void QAbstractItemModelReplica::initialized()

The initialized signal is emitted the first time we receive data from the Source.

See also isInitialized().

bool QAbstractItemModelReplica::isInitialized() const

Returns true if this replica has been initialized with data from the Source object. Returns false otherwise.

See also initialized().

[override virtual] void QAbstractItemModelReplica::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const

Reimplements: QAbstractItemModel::multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const.

[override virtual] QModelIndex QAbstractItemModelReplica::parent(const QModelIndex &index) const

Reimplements: QAbstractItemModel::parent(const QModelIndex &index) const.

[override virtual] QHash<int, QByteArray> QAbstractItemModelReplica::roleNames() const

Reimplements: QAbstractItemModel::roleNames() const.

size_t QAbstractItemModelReplica::rootCacheSize() const

Returns the current size of the internal cache. By default this is set to the value of the QTRO_NODES_CACHE_SIZE environment variable, or a default of 1000 if it is invalid or doesn't exist.

See also setRootCacheSize().

[override virtual] int QAbstractItemModelReplica::rowCount(const QModelIndex &parent = QModelIndex()) const

Reimplements: QAbstractItemModel::rowCount(const QModelIndex &parent) const.

QItemSelectionModel *QAbstractItemModelReplica::selectionModel() const

Returns a pointer to the QItemSelectionModel for the current QAbstractItemModelReplica.

[override virtual] bool QAbstractItemModelReplica::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Reimplements: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).

See also data().

void QAbstractItemModelReplica::setRootCacheSize(size_t rootCacheSize)

Sets the size of the internal cache to rootCacheSize.

See also rootCacheSize().

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.