• Skip to content
  • Skip to link menu
Brand

API Documentation

  1. KDE API Reference
  2. The KDE Frameworks
  3. KItemModels
  • KDE Home
  • Contact Us

Quick Links

Skip menu "KItemModels"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • File List
  • Dependencies
  • Related Pages

Class Picker

About

Models for Qt Model/View system

Maintainer
The KDE Community
Supported platforms
Android, FreeBSD, Linux, MacOSX, Windows
Community
IRC: #kde-devel on Freenode
Mailing list: kde-frameworks-devel
Use with CMake
find_package(KF5ItemModels)
target_link_libraries(yourapp KF5::ItemModels)
Use with QMake
QT += KItemModels 
Clone
git clone git://anongit.kde.org/kitemmodels.git
Browse source
KItemModels on cgit.kde.org

KItemModels

  • View on LXR
Public Member Functions | List of all members
KConcatenateRowsProxyModel Class Reference

#include <KConcatenateRowsProxyModel>

Inheritance diagram for KConcatenateRowsProxyModel:
Inheritance graph
[legend]

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
 
- Public Member Functions inherited from QAbstractItemModel
 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
 
- Public Member Functions inherited from QObject
 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 &regExp, 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

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
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)
 
- Protected Member Functions inherited from QAbstractItemModel
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)
 
- Protected Member Functions inherited from QObject
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
parentoptional parent

Definition at line 57 of file kconcatenaterowsproxymodel.cpp.

KConcatenateRowsProxyModel::~KConcatenateRowsProxyModel ( )
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
sourceModelthe 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.

int KConcatenateRowsProxyModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
override

The column count for the first source model is returned here.

Reimplemented from superclass.

Definition at line 136 of file kconcatenaterowsproxymodel.cpp.

QVariant KConcatenateRowsProxyModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
override
Reimplemented from superclass.

Definition at line 88 of file kconcatenaterowsproxymodel.cpp.

Qt::ItemFlags KConcatenateRowsProxyModel::flags ( const QModelIndex &  index) const
overridevirtual
Reimplemented from superclass.

Reimplemented from QAbstractItemModel.

Definition at line 113 of file kconcatenaterowsproxymodel.cpp.

QVariant KConcatenateRowsProxyModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
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.

QModelIndex KConcatenateRowsProxyModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
override
Reimplemented from superclass.

Definition at line 147 of file kconcatenaterowsproxymodel.cpp.

QMap< int, QVariant > KConcatenateRowsProxyModel::itemData ( const QModelIndex &  proxyIndex) const
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
sourceIndexan 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
proxyIndexan index for this proxy model
Returns
a source index

Definition at line 74 of file kconcatenaterowsproxymodel.cpp.

QModelIndex KConcatenateRowsProxyModel::parent ( const QModelIndex &  index) const
override
Reimplemented from superclass.

Definition at line 159 of file kconcatenaterowsproxymodel.cpp.

void KConcatenateRowsProxyModel::removeSourceModel ( QAbstractItemModel *  sourceModel)

Removes the source model sourceModel.

Parameters
sourceModela source model previously added to this proxy

The ownership of is not affected by this.

Definition at line 206 of file kconcatenaterowsproxymodel.cpp.

int KConcatenateRowsProxyModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
override
Reimplemented from superclass.

Definition at line 164 of file kconcatenaterowsproxymodel.cpp.

bool KConcatenateRowsProxyModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::DisplayRole 
)
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:
  • kconcatenaterowsproxymodel.h
  • kconcatenaterowsproxymodel.cpp
This file is part of the KDE documentation.
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.

Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal