QIdentityProxyModel Class
The QIdentityProxyModel class proxies its source model unmodified More...
#include <QIdentityProxyModel> Inherits: QAbstractProxyModel.
This class was introduced in Qt 4.8.
Public Functions
| QAbstractItemModel(QObject * parent = 0) |
| QAbstractProxyModel(QObject * parent = 0) |
| QIdentityProxyModel(QObject * parent = 0) |
virtual | ~QAbstractItemModel() |
| ~QAbstractProxyModel() |
| ~QIdentityProxyModel() |
virtual QModelIndex | buddy(const QModelIndex & index) const |
virtual bool | canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const |
virtual bool | canFetchMore(const QModelIndex & parent) const |
virtual int | columnCount(const QModelIndex & parent = QModelIndex()) const = 0 |
virtual QVariant | data(const QModelIndex & proxyIndex, int role = Qt::DisplayRole) const |
virtual bool | dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) |
virtual void | fetchMore(const QModelIndex & parent) |
virtual Qt::ItemFlags | flags(const QModelIndex & index) const |
virtual bool | hasChildren(const QModelIndex & parent = QModelIndex()) const |
bool | hasIndex(int row, int column, const QModelIndex & parent = QModelIndex()) const |
virtual QVariant | headerData(int section, Qt::Orientation orientation, int role) const |
virtual QModelIndex | index(int row, int column, const QModelIndex & parent = QModelIndex()) const = 0 |
bool | insertColumn(int column, const QModelIndex & parent = QModelIndex()) |
virtual bool | insertColumns(int column, int count, const QModelIndex & parent = QModelIndex()) |
bool | insertRow(int row, const QModelIndex & parent = QModelIndex()) |
virtual bool | insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) |
virtual QMap<int, QVariant> | itemData(const QModelIndex & proxyIndex) const |
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 QModelIndexList | match(const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const |
virtual QMimeData * | mimeData(const QModelIndexList & indexes) const |
virtual QStringList | mimeTypes() const |
bool | moveColumn(const QModelIndex & sourceParent, int sourceColumn, const QModelIndex & destinationParent, int destinationChild) |
virtual bool | moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) |
bool | moveRow(const QModelIndex & sourceParent, int sourceRow, const QModelIndex & destinationParent, int destinationChild) |
virtual bool | moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) |
virtual QModelIndex | parent(const QModelIndex & index) const = 0 |
bool | removeColumn(int column, const QModelIndex & parent = QModelIndex()) |
virtual bool | removeColumns(int column, int count, const QModelIndex & parent = QModelIndex()) |
bool | removeRow(int row, const QModelIndex & parent = QModelIndex()) |
virtual bool | removeRows(int row, int count, const QModelIndex & parent = QModelIndex()) |
virtual void | revert() |
virtual QHash<int, QByteArray> | roleNames() const |
virtual int | rowCount(const QModelIndex & parent = QModelIndex()) const = 0 |
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 void | setSourceModel(QAbstractItemModel * sourceModel) |
QModelIndex | sibling(int row, int column, const QModelIndex & index) const |
virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) |
QAbstractItemModel * | sourceModel() const |
virtual QSize | span(const QModelIndex & index) const |
virtual bool | submit() |
virtual Qt::DropActions | supportedDragActions() const |
virtual Qt::DropActions | supportedDropActions() const |
Reimplemented Public Functions
virtual int | columnCount(const QModelIndex & parent = QModelIndex()) const |
virtual bool | dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) |
virtual QVariant | headerData(int section, Qt::Orientation orientation, int role) const |
virtual QModelIndex | index(int row, int column, const QModelIndex & parent = QModelIndex()) const |
virtual bool | insertColumns(int column, int count, const QModelIndex & parent = QModelIndex()) |
virtual bool | insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) |
virtual QModelIndex | mapFromSource(const QModelIndex & sourceIndex) const |
virtual QItemSelection | mapSelectionFromSource(const QItemSelection & selection) const |
virtual QItemSelection | mapSelectionToSource(const QItemSelection & selection) const |
virtual QModelIndex | mapToSource(const QModelIndex & proxyIndex) const |
virtual QModelIndexList | match(const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const |
virtual QModelIndex | parent(const QModelIndex & child) const |
virtual bool | removeColumns(int column, int count, const QModelIndex & parent = QModelIndex()) |
virtual bool | removeRows(int row, int count, const QModelIndex & parent = QModelIndex()) |
virtual int | rowCount(const QModelIndex & parent = QModelIndex()) const |
virtual void | setSourceModel(QAbstractItemModel * newSourceModel) |
- 31 public functions inherited from QObject
Public Slots
- 1 public slot inherited from QObject
Signals
void | columnsAboutToBeInserted(const QModelIndex & parent, int start, int end) |
void | columnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) |
void | columnsAboutToBeRemoved(const QModelIndex & parent, int start, int end) |
void | columnsInserted(const QModelIndex & parent, int start, int end) |
void | columnsMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) |
void | columnsRemoved(const QModelIndex & parent, int start, int end) |
void | dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QSet<int> & roles = QSet<int> ()) |
void | headerDataChanged(Qt::Orientation orientation, int first, int last) |
void | layoutAboutToBeChanged(const QList<QPersistentModelIndex> & parents = QList<QPersistentModelIndex> ()) |
void | layoutChanged(const QList<QPersistentModelIndex> & parents = QList<QPersistentModelIndex> ()) |
void | modelAboutToBeReset() |
void | modelReset() |
void | rowsAboutToBeInserted(const QModelIndex & parent, int start, int end) |
void | rowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) |
void | rowsAboutToBeRemoved(const QModelIndex & parent, int start, int end) |
void | rowsInserted(const QModelIndex & parent, int start, int end) |
void | rowsMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) |
void | rowsRemoved(const QModelIndex & parent, int start, int end) |
Protected Functions
void | beginInsertColumns(const QModelIndex & parent, int first, int last) |
void | beginInsertRows(const QModelIndex & parent, int first, int last) |
bool | beginMoveColumns(const QModelIndex & sourceParent, int sourceFirst, int sourceLast, const QModelIndex & destinationParent, int destinationChild) |
bool | beginMoveRows(const QModelIndex & sourceParent, int sourceFirst, int sourceLast, const QModelIndex & destinationParent, int destinationChild) |
void | beginRemoveColumns(const QModelIndex & parent, int first, int last) |
void | beginRemoveRows(const QModelIndex & parent, int first, int last) |
void | beginResetModel() |
void | changePersistentIndex(const QModelIndex & from, const QModelIndex & to) |
void | changePersistentIndexList(const QModelIndexList & from, const QModelIndexList & to) |
QModelIndex | createIndex(int row, int column, void * ptr = 0) const |
QModelIndex | createIndex(int row, int column, quint32 id) const |
void | endInsertColumns() |
void | endInsertRows() |
void | endMoveColumns() |
void | endMoveRows() |
void | endRemoveColumns() |
void | endRemoveRows() |
void | endResetModel() |
QModelIndexList | persistentIndexList() const |
- 9 protected functions inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 11 static public members inherited from QObject
Detailed Description
The QIdentityProxyModel class proxies its source model unmodified
QIdentityProxyModel can be used to forward the structure of a source model exactly, with no sorting, filtering or other transformation. This is similar in concept to an identity matrix where A.I = A.
Because it does no sorting or filtering, this class is most suitable to proxy models which transform the data() of the source model. For example, a proxy model could be created to define the font used, or the background colour, or the tooltip etc. This removes the need to implement all data handling in the same class that creates the structure of the model, and can also be used to create re-usable components.
This also provides a way to change the data in the case where a source model is supplied by a third party which can not be modified.
class DateFormatProxyModel : public QIdentityProxyModel
{
void setDateFormatString(const QString &formatString)
{
m_formatString = formatString;
}
QVariant data(const QModelIndex &index, int role)
{
if (role != Qt::DisplayRole)
return QIdentityProxyModel::data(index, role);
const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();
return dateTime.toString(m_formatString);
}
private:
QString m_formatString;
};
See also QAbstractProxyModel, Model/View Programming, and QAbstractItemModel.
Member Function Documentation
QIdentityProxyModel::QIdentityProxyModel(QObject * parent = 0)
Constructs an identity model with the given parent.
QIdentityProxyModel::~QIdentityProxyModel()
Destroys this identity model.
int QIdentityProxyModel::columnCount(const QModelIndex & parent = QModelIndex()) const [virtual]
Reimplemented from QAbstractItemModel::columnCount().
bool QIdentityProxyModel::dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) [virtual]
Reimplemented from QAbstractItemModel::dropMimeData().
Reimplemented from QAbstractItemModel::headerData().
QModelIndex QIdentityProxyModel::index(int row, int column, const QModelIndex & parent = QModelIndex()) const [virtual]
Reimplemented from QAbstractItemModel::index().
bool QIdentityProxyModel::insertColumns(int column, int count, const QModelIndex & parent = QModelIndex()) [virtual]
Reimplemented from QAbstractItemModel::insertColumns().
bool QIdentityProxyModel::insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) [virtual]
Reimplemented from QAbstractItemModel::insertRows().
QModelIndex QIdentityProxyModel::mapFromSource(const QModelIndex & sourceIndex) const [virtual]
Reimplemented from QAbstractProxyModel::mapFromSource().
QItemSelection QIdentityProxyModel::mapSelectionFromSource(const QItemSelection & selection) const [virtual]
Reimplemented from QAbstractProxyModel::mapSelectionFromSource().
QItemSelection QIdentityProxyModel::mapSelectionToSource(const QItemSelection & selection) const [virtual]
Reimplemented from QAbstractProxyModel::mapSelectionToSource().
QModelIndex QIdentityProxyModel::mapToSource(const QModelIndex & proxyIndex) const [virtual]
Reimplemented from QAbstractProxyModel::mapToSource().
QModelIndexList QIdentityProxyModel::match(const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const [virtual]
Reimplemented from QAbstractItemModel::match().
QModelIndex QIdentityProxyModel::parent(const QModelIndex & child) const [virtual]
Reimplemented from QAbstractItemModel::parent().
bool QIdentityProxyModel::removeColumns(int column, int count, const QModelIndex & parent = QModelIndex()) [virtual]
Reimplemented from QAbstractItemModel::removeColumns().
bool QIdentityProxyModel::removeRows(int row, int count, const QModelIndex & parent = QModelIndex()) [virtual]
Reimplemented from QAbstractItemModel::removeRows().
int QIdentityProxyModel::rowCount(const QModelIndex & parent = QModelIndex()) const [virtual]
Reimplemented from QAbstractItemModel::rowCount().
void QIdentityProxyModel::setSourceModel(QAbstractItemModel * newSourceModel) [virtual]
Reimplemented from QAbstractProxyModel::setSourceModel().
|