The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks. More...
#include <QAbstractProxyModel>
Inherits: QAbstractItemModel.
Inherited by: QSortFilterProxyModel.
This class was introduced in Qt 4.1.
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 |
virtual QVariant | data ( const QModelIndex & proxyIndex, int role = Qt::DisplayRole ) const |
virtual Qt::ItemFlags | flags ( const QModelIndex & index ) const |
virtual QVariant | headerData ( int section, Qt::Orientation orientation, int role ) const |
virtual QMap<int, QVariant> | itemData ( const QModelIndex & proxyIndex ) 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 | submit () |
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.
Constructs a proxy model with the given parent.
Destroys the proxy model.
Reimplemented from QAbstractItemModel::data().
See also setData().
Reimplemented from QAbstractItemModel::flags().
Reimplemented from QAbstractItemModel::headerData().
See also setHeaderData().
Reimplemented from QAbstractItemModel::itemData().
Reimplement this function to return the model index in the proxy model that corresponds to the sourceIndex from the source model.
See also mapToSource().
Returns a proxy selection mapped from the specified sourceSelection.
Reimplement this method to map source selections to proxy selections.
Returns a source selection mapped from the specified proxySelection.
Reimplement this method to map proxy selections to source selections.
Reimplement this function to return the model index in the source model that corresponds to the proxyIndex in the proxy model.
See also mapFromSource().
Reimplemented from QAbstractItemModel::revert().
Reimplemented from QAbstractItemModel::setData().
See also data().
Reimplemented from QAbstractItemModel::setHeaderData().
See also headerData().
Sets the given sourceModel to be processed by the proxy model.
See also sourceModel().
Returns the model that contains the data that is available through the proxy model.
See also setSourceModel().
Reimplemented from QAbstractItemModel::submit().
© 2008-2011 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
All other trademarks are property of their respective owners. Privacy Policy
Licensees holding valid Qt Commercial licenses may use this document in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Nokia.
Alternatively, this document may be used under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.