#include <KConcatenateRowsProxyModel>

Public Member Functions | |
KConcatenateRowsProxyModel (QObject *parent=nullptr) | |
virtual | ~KConcatenateRowsProxyModel () |
Q_SCRIPTABLE void | addSourceModel (QAbstractItemModel *sourceModel) |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
Qt::ItemFlags | flags (const QModelIndex &index) const override |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
QMap< int, QVariant > | itemData (const QModelIndex &proxyIndex) const override |
QModelIndex | mapFromSource (const QModelIndex &sourceIndex) const |
QModelIndex | mapToSource (const QModelIndex &proxyIndex) const |
QModelIndex | parent (const QModelIndex &index) const override |
Q_SCRIPTABLE void | removeSourceModel (QAbstractItemModel *sourceModel) |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::DisplayRole) override |
![]() | |
QAbstractItemModel (QObject *parent) | |
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) const =0 |
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) |
virtual QVariant | data (const QModelIndex &index, int role) const =0 |
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles) |
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
virtual void | fetchMore (const QModelIndex &parent) |
virtual bool | hasChildren (const QModelIndex &parent) const |
bool | hasIndex (int row, int column, const QModelIndex &parent) const |
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
virtual QModelIndex | index (int row, int column, const QModelIndex &parent) const =0 |
bool | insertColumn (int column, const QModelIndex &parent) |
virtual bool | insertColumns (int column, int count, const QModelIndex &parent) |
bool | insertRow (int row, const QModelIndex &parent) |
virtual bool | insertRows (int row, int count, const QModelIndex &parent) |
void | layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
void | layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits, QFlags< Qt::MatchFlag > flags) const |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const |
virtual QStringList | mimeTypes () const |
void | modelAboutToBeReset () |
void | modelReset () |
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) |
virtual bool | removeColumns (int column, int count, const QModelIndex &parent) |
bool | removeRow (int row, const QModelIndex &parent) |
virtual bool | removeRows (int row, int count, const QModelIndex &parent) |
virtual void | revert () |
virtual QHash< int, QByteArray > | roleNames () const |
virtual int | rowCount (const QModelIndex &parent) const =0 |
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) |
virtual bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
void | setSupportedDragActions (QFlags< Qt::DropAction > actions) |
virtual QModelIndex | sibling (int row, int column, const QModelIndex &index) const |
virtual void | sort (int column, Qt::SortOrder order) |
virtual QSize | span (const QModelIndex &index) const |
virtual bool | submit () |
virtual Qt::DropActions | supportedDragActions () const |
virtual Qt::DropActions | supportedDropActions () const |
![]() | |
QObject (QObject *parent) | |
bool | blockSignals (bool block) |
const QObjectList & | children () const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const |
bool | disconnect (const QObject *receiver, const char *method) const |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QString &name, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QRegExp ®Exp, QFlags< Qt::FindChildOption > options) const |
QList< T > | findChildren (const QRegularExpression &re, QFlags< Qt::FindChildOption > options) const |
bool | inherits (const char *className) const |
void | installEventFilter (QObject *filterObj) |
bool | isWidgetType () const |
bool | isWindowType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval, Qt::TimerType timerType) |
QThread * | thread () const |
Additional Inherited Members | |
![]() | |
objectName | |
![]() | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
![]() | |
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) const |
QModelIndex | createIndex (int row, int column, quintptr id) const |
void | endInsertColumns () |
void | endInsertRows () |
void | endMoveColumns () |
void | endMoveRows () |
void | endRemoveColumns () |
void | endRemoveRows () |
void | endResetModel () |
QModelIndexList | persistentIndexList () const |
void | reset () |
void | resetInternalData () |
void | setRoleNames (const QHash< int, QByteArray > &roleNames) |
![]() | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
This proxy takes multiple source models and concatenates their rows.
In other words, the proxy will have all rows of the first source model, followed by all rows of the second source model, etc.
Only flat models (lists and tables) are supported, no trees.
All models are assumed to have the same number of columns. More precisely, the number of columns of the first source model is used, so all source models should have at least as many columns as the first source model, and additional columns in other source models will simply be ignored.
Source models can be added and removed at runtime, including the first source model (but it should keep the same number of columns).
Dynamic insertion and removal of rows and columns in any source model is supported. dataChanged, layoutChanged and reset coming from the source models are supported.
At the moment this model doesn't support editing, drag-n-drop. It could be added though, nothing prevents it.
This proxy does not inherit from QAbstractProxyModel because it uses multiple source models, rather than a single one.
Author: David Faure, KDAB
- Since
- 5.14
Definition at line 60 of file kconcatenaterowsproxymodel.h.
Constructor & Destructor Documentation
KConcatenateRowsProxyModel::KConcatenateRowsProxyModel | ( | QObject * | parent = nullptr | ) |
Creates a KConcatenateRowsProxyModel.
- Parameters
-
parent optional parent
Definition at line 57 of file kconcatenaterowsproxymodel.cpp.
|
virtual |
Destructor.
Definition at line 63 of file kconcatenaterowsproxymodel.cpp.
Member Function Documentation
void KConcatenateRowsProxyModel::addSourceModel | ( | QAbstractItemModel * | sourceModel | ) |
Adds a source model sourceModel
, after all existing source models.
- Parameters
-
sourceModel the source model
The ownership of sourceModel
is not affected by this. The same source model cannot be added more than once.
Definition at line 173 of file kconcatenaterowsproxymodel.cpp.
|
override |
The column count for the first source model is returned here.
- Reimplemented from superclass.
Definition at line 136 of file kconcatenaterowsproxymodel.cpp.
|
override |
- Reimplemented from superclass.
Definition at line 88 of file kconcatenaterowsproxymodel.cpp.
|
overridevirtual |
- Reimplemented from superclass.
Reimplemented from QAbstractItemModel.
Definition at line 113 of file kconcatenaterowsproxymodel.cpp.
|
overridevirtual |
The horizontal header data for the first source model is returned here.
- Reimplemented from superclass.
Reimplemented from QAbstractItemModel.
Definition at line 119 of file kconcatenaterowsproxymodel.cpp.
|
override |
- Reimplemented from superclass.
Definition at line 147 of file kconcatenaterowsproxymodel.cpp.
|
overridevirtual |
- Reimplemented from superclass.
Reimplemented from QAbstractItemModel.
Definition at line 107 of file kconcatenaterowsproxymodel.cpp.
QModelIndex KConcatenateRowsProxyModel::mapFromSource | ( | const QModelIndex & | sourceIndex | ) | const |
Returns the proxy index for a given source index.
- Parameters
-
sourceIndex an index coming from any of the source models
- Returns
- a proxy index Calling this method with an index not from a source model is undefined behavior.
Definition at line 67 of file kconcatenaterowsproxymodel.cpp.
QModelIndex KConcatenateRowsProxyModel::mapToSource | ( | const QModelIndex & | proxyIndex | ) | const |
Returns the source index for a given proxy index.
- Parameters
-
proxyIndex an index for this proxy model
- Returns
- a source index
Definition at line 74 of file kconcatenaterowsproxymodel.cpp.
|
override |
- Reimplemented from superclass.
Definition at line 159 of file kconcatenaterowsproxymodel.cpp.
void KConcatenateRowsProxyModel::removeSourceModel | ( | QAbstractItemModel * | sourceModel | ) |
Removes the source model sourceModel
.
- Parameters
-
sourceModel a source model previously added to this proxy
The ownership of is not affected by this.
Definition at line 206 of file kconcatenaterowsproxymodel.cpp.
|
override |
- Reimplemented from superclass.
Definition at line 164 of file kconcatenaterowsproxymodel.cpp.
|
overridevirtual |
- Reimplemented from superclass.
Reimplemented from QAbstractItemModel.
Definition at line 97 of file kconcatenaterowsproxymodel.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2018 The KDE developers.
Generated on Sun Apr 22 2018 04:35:26 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.