QAbstractProxyModel Class

The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks. More...

Header: #include <QAbstractProxyModel>
qmake: QT += core
Since: Qt 4.1
Inherits: QAbstractItemModel.
Inherited By:

QIdentityProxyModel and QSortFilterProxyModel.

Properties

  • 1 property inherited from QObject

Public Functions

QAbstractProxyModel(QObject * parent = 0)
~QAbstractProxyModel()
virtual QModelIndex mapFromSource(const QModelIndex & sourceIndex) const = 0
virtual QItemSelection mapSelectionFromSource(const QItemSelection & sourceSelection) const
virtual QItemSelection mapSelectionToSource(const QItemSelection & proxySelection) const
virtual QModelIndex mapToSource(const QModelIndex & proxyIndex) const = 0
virtual void setSourceModel(QAbstractItemModel * sourceModel)
QAbstractItemModel * sourceModel() const

Reimplemented Public Functions

virtual QModelIndex buddy(const QModelIndex & index) const
virtual bool canFetchMore(const QModelIndex & parent) const
virtual QVariant data(const QModelIndex & proxyIndex, int role = Qt::DisplayRole) const
virtual void fetchMore(const QModelIndex & parent)
virtual Qt::ItemFlags flags(const QModelIndex & index) const
virtual bool hasChildren(const QModelIndex & parent = QModelIndex()) const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const
virtual QMap<int, QVariant> itemData(const QModelIndex & proxyIndex) const
virtual QMimeData * mimeData(const QModelIndexList & indexes) const
virtual QStringList mimeTypes() const
virtual void revert()
virtual bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole)
virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole)
virtual bool setItemData(const QModelIndex & index, const QMap<int, QVariant> & roles)
virtual QModelIndex sibling(int row, int column, const QModelIndex & idx) const
virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
virtual QSize span(const QModelIndex & index) const
virtual bool submit()
virtual Qt::DropActions supportedDropActions() const

Signals

void sourceModelChanged()

Protected Slots

void resetInternalData()

Additional Inherited Members

Detailed Description

The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks.

This class defines the standard interface that proxy models must use to be able to interoperate correctly with other model/view components. It is not supposed to be instantiated directly.

All standard proxy models are derived from the QAbstractProxyModel class. If you need to create a new proxy model class, it is usually better to subclass an existing class that provides the closest behavior to the one you want to provide.

Proxy models that filter or sort items of data from a source model should be created by using or subclassing QSortFilterProxyModel.

To subclass QAbstractProxyModel, you need to implement mapFromSource() and mapToSource(). The mapSelectionFromSource() and mapSelectionToSource() functions only need to be reimplemented if you need a behavior different from the default behavior.

Note: If the source model is deleted or no source model is specified, the proxy model operates on a empty placeholder model.

See also QSortFilterProxyModel, QAbstractItemModel, and Model/View Programming.

Property Documentation

sourceModel : QAbstractItemModel *

This property holds the source model this proxy model.

Access functions:

QAbstractItemModel * sourceModel() const
virtual void setSourceModel(QAbstractItemModel * sourceModel)

Notifier signal:

void sourceModelChanged()

Member Function Documentation

QAbstractProxyModel::QAbstractProxyModel(QObject * parent = 0)

Constructs a proxy model with the given parent.

QAbstractProxyModel::~QAbstractProxyModel()

Destroys the proxy model.

QModelIndex QAbstractProxyModel::buddy(const QModelIndex & index) const [virtual]

Reimplemented from QAbstractItemModel::buddy().

bool QAbstractProxyModel::canFetchMore(const QModelIndex & parent) const [virtual]

Reimplemented from QAbstractItemModel::canFetchMore().

QVariant QAbstractProxyModel::data(const QModelIndex & proxyIndex, int role = Qt::DisplayRole) const [virtual]

Reimplemented from QAbstractItemModel::data().

See also setData().

void QAbstractProxyModel::fetchMore(const QModelIndex & parent) [virtual]

Reimplemented from QAbstractItemModel::fetchMore().

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

Reimplemented from QAbstractItemModel::flags().

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

Reimplemented from QAbstractItemModel::hasChildren().

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

Reimplemented from QAbstractItemModel::headerData().

See also setHeaderData().

QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex & proxyIndex) const [virtual]

Reimplemented from QAbstractItemModel::itemData().

See also setItemData().

QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex & sourceIndex) const [pure virtual]

Reimplement this function to return the model index in the proxy model that corresponds to the sourceIndex from the source model.

See also mapToSource().

QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection & sourceSelection) const [virtual]

Returns a proxy selection mapped from the specified sourceSelection.

Reimplement this method to map source selections to proxy selections.

QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection & proxySelection) const [virtual]

Returns a source selection mapped from the specified proxySelection.

Reimplement this method to map proxy selections to source selections.

QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex & proxyIndex) const [pure virtual]

Reimplement this function to return the model index in the source model that corresponds to the proxyIndex in the proxy model.

See also mapFromSource().

QMimeData * QAbstractProxyModel::mimeData(const QModelIndexList & indexes) const [virtual]

Reimplemented from QAbstractItemModel::mimeData().

QStringList QAbstractProxyModel::mimeTypes() const [virtual]

Reimplemented from QAbstractItemModel::mimeTypes().

void QAbstractProxyModel::resetInternalData() [protected slot]

Clears the roleNames of this proxy model.

void QAbstractProxyModel::revert() [virtual]

Reimplemented from QAbstractItemModel::revert().

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

Reimplemented from QAbstractItemModel::setData().

See also data().

bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole) [virtual]

Reimplemented from QAbstractItemModel::setHeaderData().

See also headerData().

bool QAbstractProxyModel::setItemData(const QModelIndex & index, const QMap<int, QVariant> & roles) [virtual]

Reimplemented from QAbstractItemModel::setItemData().

See also itemData().

QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex & idx) const [virtual]

Reimplemented from QAbstractItemModel::sibling().

void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder) [virtual]

Reimplemented from QAbstractItemModel::sort().

QSize QAbstractProxyModel::span(const QModelIndex & index) const [virtual]

Reimplemented from QAbstractItemModel::span().

bool QAbstractProxyModel::submit() [virtual]

Reimplemented from QAbstractItemModel::submit().

Qt::DropActions QAbstractProxyModel::supportedDropActions() const [virtual]

Reimplemented from QAbstractItemModel::supportedDropActions().