Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QAbstractProxyModel Class Referenceabstract

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

#include <qabstractproxymodel.h>

+ Inheritance diagram for QAbstractProxyModel:
+ Collaboration diagram for QAbstractProxyModel:

Signals

void sourceModelChanged (QPrivateSignal)
 
- Signals inherited from QAbstractItemModel
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles=QList< int >())
 This signal is emitted whenever the data in an existing item changes.
 
void headerDataChanged (Qt::Orientation orientation, int first, int last)
 This signal is emitted whenever a header is changed.
 
void layoutChanged (const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint)
 
void layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint)
 
void rowsAboutToBeInserted (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted just before rows are inserted into the model.
 
void rowsInserted (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted after rows have been inserted into the model.
 
void rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted just before rows are removed from the model.
 
void rowsRemoved (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted after rows have been removed from the model.
 
void columnsAboutToBeInserted (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted just before columns are inserted into the model.
 
void columnsInserted (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted after columns have been inserted into the model.
 
void columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted just before columns are removed from the model.
 
void columnsRemoved (const QModelIndex &parent, int first, int last, QPrivateSignal)
 This signal is emitted after columns have been removed from the model.
 
void modelAboutToBeReset (QPrivateSignal)
 
void modelReset (QPrivateSignal)
 
void rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow, QPrivateSignal)
 
void rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow, QPrivateSignal)
 
void columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn, QPrivateSignal)
 
void columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn, QPrivateSignal)
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QAbstractProxyModel (QObject *parent=nullptr)
 Constructs a proxy model with the given parent.
 
 ~QAbstractProxyModel ()
 Destroys the proxy model.
 
virtual void setSourceModel (QAbstractItemModel *sourceModel)
 Sets the given sourceModel to be processed by the proxy model.
 
QAbstractItemModelsourceModel () const
 Returns the model that contains the data that is available through the proxy model.
 
QBindable< QAbstractItemModel * > bindableSourceModel ()
 
virtual Q_INVOKABLE QModelIndex mapToSource (const QModelIndex &proxyIndex) const =0
 Reimplement this function to return the model index in the source model that corresponds to the proxyIndex in the proxy model.
 
virtual Q_INVOKABLE QModelIndex mapFromSource (const QModelIndex &sourceIndex) const =0
 Reimplement this function to return the model index in the proxy model that corresponds to the sourceIndex from the source model.
 
virtual Q_INVOKABLE QItemSelection mapSelectionToSource (const QItemSelection &selection) const
 Returns a source selection mapped from the specified proxySelection.
 
virtual Q_INVOKABLE QItemSelection mapSelectionFromSource (const QItemSelection &selection) const
 Returns a proxy selection mapped from the specified sourceSelection.
 
bool submit () override
 \reimp
 
void revert () override
 \reimp
 
QVariant data (const QModelIndex &proxyIndex, int role=Qt::DisplayRole) const override
 \reimp
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 \reimp
 
QMap< int, QVariantitemData (const QModelIndex &index) const override
 \reimp
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 \reimp
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 \reimp
 
bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) override
 \reimp
 
bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) override
 \reimp
 
bool clearItemData (const QModelIndex &index) override
 \reimp
 
QModelIndex buddy (const QModelIndex &index) const override
 \reimp
 
bool canFetchMore (const QModelIndex &parent) const override
 \reimp
 
void fetchMore (const QModelIndex &parent) override
 \reimp
 
void sort (int column, Qt::SortOrder order=Qt::AscendingOrder) override
 \reimp
 
QSize span (const QModelIndex &index) const override
 \reimp
 
bool hasChildren (const QModelIndex &parent=QModelIndex()) const override
 \reimp
 
QModelIndex sibling (int row, int column, const QModelIndex &idx) const override
 \reimp
 
QMimeDatamimeData (const QModelIndexList &indexes) const override
 \reimp
 
bool canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
 \reimp
 
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 \reimp
 
QStringList mimeTypes () const override
 \reimp
 
Qt::DropActions supportedDragActions () const override
 \reimp
 
Qt::DropActions supportedDropActions () const override
 \reimp
 
QHash< int, QByteArrayroleNames () const override
 \reimp
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent=nullptr)
 Constructs an abstract item model with the given parent.
 
virtual ~QAbstractItemModel ()
 Destroys the abstract item model.
 
Q_INVOKABLE bool hasIndex (int row, int column, const QModelIndex &parent=QModelIndex()) const
 Returns {true} if the model returns a valid QModelIndex for row and column with parent, otherwise returns {false}.
 
virtual Q_INVOKABLE QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const =0
 Returns the index of the item in the model specified by the given row, column and parent index.
 
virtual Q_INVOKABLE QModelIndex parent (const QModelIndex &child) const =0
 
virtual Q_INVOKABLE int rowCount (const QModelIndex &parent=QModelIndex()) const =0
 Returns the number of rows under the given parent.
 
virtual Q_INVOKABLE int columnCount (const QModelIndex &parent=QModelIndex()) const =0
 Returns the number of columns for the children of the given parent.
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool insertRows(int row
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool insertColumns(int column
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool removeRows(int row
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool removeColumns(int column
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool moveRows(const QModelIndex &sourceParent
 
Q_INVOKABLE Q_REVISION (6, 4) virtual bool moveColumns(const QModelIndex &sourceParent
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool insertRow(int row
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool insertColumn(int column
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool removeRow(int row
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool removeColumn(int column
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool moveRow(const QModelIndex &sourceParent
 
Q_INVOKABLE Q_REVISION (6, 4) inline bool moveColumn(const QModelIndex &sourceParent
 
Q_INVOKABLE Q_REVISION (6, 4) virtual void sort(int column
 
virtual Q_INVOKABLE QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const
 Returns a list of indexes for the items in the column of the start index where data stored under the given role matches the specified value.
 
bool checkIndex (const QModelIndex &index, CheckIndexOptions options=CheckIndexOption::NoOption) const
 
virtual void multiData (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Protected Member Functions

QModelIndex createSourceIndex (int row, int col, void *internalPtr) const
 Equivalent to calling createIndex on the source model.
 
 QAbstractProxyModel (QAbstractProxyModelPrivate &, QObject *parent)
 
- Protected Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QAbstractItemModelPrivate &dd, QObject *parent=nullptr)
 
QModelIndex createIndex (int row, int column, const void *data=nullptr) const
 Creates a model index for the given row and column with the internal pointer ptr.
 
QModelIndex createIndex (int row, int column, quintptr id) const
 Creates a model index for the given row and column with the internal identifier, id.
 
void encodeData (const QModelIndexList &indexes, QDataStream &stream) const
 
bool decodeData (int row, int column, const QModelIndex &parent, QDataStream &stream)
 
void beginInsertRows (const QModelIndex &parent, int first, int last)
 Begins a row insertion operation.
 
void endInsertRows ()
 Ends a row insertion operation.
 
void beginRemoveRows (const QModelIndex &parent, int first, int last)
 Begins a row removal operation.
 
void endRemoveRows ()
 Ends a row removal operation.
 
bool beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationRow)
 
void endMoveRows ()
 Ends a row move operation.
 
void beginInsertColumns (const QModelIndex &parent, int first, int last)
 Begins a column insertion operation.
 
void endInsertColumns ()
 Ends a column insertion operation.
 
void beginRemoveColumns (const QModelIndex &parent, int first, int last)
 Begins a column removal operation.
 
void endRemoveColumns ()
 Ends a column removal operation.
 
bool beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationColumn)
 Begins a column move operation.
 
void endMoveColumns ()
 Ends a column move operation.
 
void beginResetModel ()
 Begins a model reset operation.
 
void endResetModel ()
 Completes a model reset operation.
 
void changePersistentIndex (const QModelIndex &from, const QModelIndex &to)
 Changes the QPersistentModelIndex that is equal to the given from model index to the given to model index.
 
void changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to)
 
QModelIndexList persistentIndexList () const
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

QAbstractItemModelsourceModel
 the source model of this proxy model.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Types inherited from QAbstractItemModel
enum  LayoutChangeHint { NoLayoutChangeHint , VerticalSortHint , HorizontalSortHint }
 This enum describes the way the model changes layout. More...
 
enum class  CheckIndexOption { NoOption = 0x0000 , IndexIsValid = 0x0001 , DoNotUseParent = 0x0002 , ParentIsInvalid = 0x0004 }
 
- Public Slots inherited from QAbstractItemModel
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Public Attributes inherited from QAbstractItemModel
Q_INVOKABLE int count
 
Q_INVOKABLE int const QModelIndexparent = QModelIndex())
 Returns the parent of the model item with the given index.
 
Q_INVOKABLE int sourceRow
 
Q_INVOKABLE int int count
 
Q_INVOKABLE int int const QModelIndexdestinationParent
 
Q_INVOKABLE int int const QModelIndex int destinationChild
 
Q_INVOKABLE int sourceColumn
 
Q_INVOKABLE const QModelIndexparent = QModelIndex())
 
Q_INVOKABLE int const QModelIndexdestinationParent
 
Q_INVOKABLE int const QModelIndex int destinationChild
 
Q_INVOKABLE Qt::SortOrder order = Qt::AscendingOrder)
 
- Protected Slots inherited from QAbstractItemModel
virtual void resetInternalData ()
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

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

\inmodule QtCore.

Since
4.1

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, {Model/View Programming}

Definition at line 16 of file qabstractproxymodel.h.

Constructor & Destructor Documentation

◆ QAbstractProxyModel() [1/2]

QAbstractProxyModel::QAbstractProxyModel ( QObject * parent = nullptr)
explicit

Constructs a proxy model with the given parent.

Definition at line 143 of file qabstractproxymodel.cpp.

References setSourceModel(), and QAbstractItemModelPrivate::staticEmptyModel().

+ Here is the call graph for this function:

◆ ~QAbstractProxyModel()

QAbstractProxyModel::~QAbstractProxyModel ( )

Destroys the proxy model.

Definition at line 162 of file qabstractproxymodel.cpp.

◆ QAbstractProxyModel() [2/2]

QAbstractProxyModel::QAbstractProxyModel ( QAbstractProxyModelPrivate & dd,
QObject * parent )
protected

Definition at line 153 of file qabstractproxymodel.cpp.

References setSourceModel(), and QAbstractItemModelPrivate::staticEmptyModel().

+ Here is the call graph for this function:

Member Function Documentation

◆ bindableSourceModel()

QBindable< QAbstractItemModel * > QAbstractProxyModel::bindableSourceModel ( )

Definition at line 226 of file qabstractproxymodel.cpp.

References d.

◆ buddy()

QModelIndex QAbstractProxyModel::buddy ( const QModelIndex & index) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 401 of file qabstractproxymodel.cpp.

References d, mapFromSource(), and mapToSource().

+ Here is the call graph for this function:

◆ canDropMimeData()

bool QAbstractProxyModel::canDropMimeData ( const QMimeData * data,
Qt::DropAction action,
int row,
int column,
const QModelIndex & parent ) const
overridevirtual

\reimp

Since
5.4

Reimplemented from QAbstractItemModel.

Definition at line 497 of file qabstractproxymodel.cpp.

References d, QModelIndex::model(), and QAbstractItemModel::parent.

+ Here is the call graph for this function:

◆ canFetchMore()

bool QAbstractProxyModel::canFetchMore ( const QModelIndex & parent) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 410 of file qabstractproxymodel.cpp.

References d, mapToSource(), and QAbstractItemModel::parent.

Referenced by QSortFilterProxyModel::canFetchMore().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clearItemData()

bool QAbstractProxyModel::clearItemData ( const QModelIndex & index)
overridevirtual

\reimp

Since
6.0

Reimplemented from QAbstractItemModel.

Definition at line 392 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ createSourceIndex()

QModelIndex QAbstractProxyModel::createSourceIndex ( int row,
int col,
void * internalPtr ) const
protected

Equivalent to calling createIndex on the source model.

This method is useful if your proxy model wants to maintain the parent-child relationship of items in the source model. When reimplementing mapToSource(), you can call this method to create an index for row row and column col of the source model.

A typical use would be to save the internal pointer coming from the source model in the proxy index when reimplementing mapFromSource() and use the same internal pointer as internalPtr to recover the original source index when reimplementing mapToSource().

Since
6.2

Definition at line 573 of file qabstractproxymodel.cpp.

References QAbstractItemModel::createIndex(), and sourceModel.

Referenced by QIdentityProxyModel::mapToSource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ data()

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

\reimp

Implements QAbstractItemModel.

Reimplemented in QSortFilterProxyModel, and QCompletionModel.

Definition at line 308 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ dropMimeData()

bool QAbstractProxyModel::dropMimeData ( const QMimeData * data,
Qt::DropAction action,
int row,
int column,
const QModelIndex & parent )
overridevirtual

\reimp

Since
5.4

Reimplemented from QAbstractItemModel.

Reimplemented in QIdentityProxyModel, and QSortFilterProxyModel.

Definition at line 512 of file qabstractproxymodel.cpp.

References d, QModelIndex::model(), and QAbstractItemModel::parent.

Referenced by QSortFilterProxyModel::dropMimeData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchMore()

void QAbstractProxyModel::fetchMore ( const QModelIndex & parent)
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 419 of file qabstractproxymodel.cpp.

References d, mapToSource(), and QAbstractItemModel::parent.

Referenced by QSortFilterProxyModel::fetchMore().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ flags()

Qt::ItemFlags QAbstractProxyModel::flags ( const QModelIndex & index) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 347 of file qabstractproxymodel.cpp.

References d, and mapToSource().

Referenced by QSortFilterProxyModel::flags().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasChildren()

bool QAbstractProxyModel::hasChildren ( const QModelIndex & parent = QModelIndex()) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel, and QCompletionModel.

Definition at line 446 of file qabstractproxymodel.cpp.

References d, mapToSource(), and QAbstractItemModel::parent.

+ Here is the call graph for this function:

◆ headerData()

QVariant QAbstractProxyModel::headerData ( int section,
Qt::Orientation orientation,
int role = Qt::DisplayRole ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QIdentityProxyModel, QSortFilterProxyModel, and QTransposeProxyModel.

Definition at line 317 of file qabstractproxymodel.cpp.

References QAbstractItemModel::columnCount(), d, Qt::Horizontal, mapToSource(), and QAbstractItemModel::rowCount().

Referenced by QSortFilterProxyModel::headerData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ itemData()

QMap< int, QVariant > QAbstractProxyModel::itemData ( const QModelIndex & index) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QTransposeProxyModel.

Definition at line 338 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ mapFromSource()

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()

Implemented in QIdentityProxyModel, QSortFilterProxyModel, QTransposeProxyModel, and QCompletionModel.

Referenced by buddy(), and mapSelectionFromSource().

+ Here is the caller graph for this function:

◆ mapSelectionFromSource()

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.

Reimplemented in QIdentityProxyModel, and QSortFilterProxyModel.

Definition at line 292 of file qabstractproxymodel.cpp.

References i, and mapFromSource().

Referenced by QSortFilterProxyModel::mapSelectionFromSource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mapSelectionToSource()

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.

Reimplemented in QSortFilterProxyModel, and QIdentityProxyModel.

Definition at line 274 of file qabstractproxymodel.cpp.

References QList< T >::at(), i, mapToSource(), and QList< T >::size().

Referenced by QSortFilterProxyModel::mapSelectionToSource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mapToSource()

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()

Implemented in QIdentityProxyModel, QSortFilterProxyModel, QTransposeProxyModel, and QCompletionModel.

Referenced by buddy(), canFetchMore(), clearItemData(), data(), fetchMore(), flags(), hasChildren(), headerData(), itemData(), mapSelectionToSource(), mimeData(), setData(), setHeaderData(), setItemData(), and span().

+ Here is the caller graph for this function:

◆ mimeData()

QMimeData * QAbstractProxyModel::mimeData ( const QModelIndexList & indexes) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 463 of file qabstractproxymodel.cpp.

References d, list, mapToSource(), QList< T >::reserve(), and QList< T >::size().

+ Here is the call graph for this function:

◆ mimeTypes()

QStringList QAbstractProxyModel::mimeTypes ( ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 526 of file qabstractproxymodel.cpp.

References d.

◆ revert()

void QAbstractProxyModel::revert ( )
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Definition at line 244 of file qabstractproxymodel.cpp.

References d.

◆ roleNames()

QHash< int, QByteArray > QAbstractProxyModel::roleNames ( ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Definition at line 553 of file qabstractproxymodel.cpp.

References d.

◆ setData()

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

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 356 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ setHeaderData()

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

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel, and QTransposeProxyModel.

Definition at line 374 of file qabstractproxymodel.cpp.

References d, Qt::Horizontal, and mapToSource().

Referenced by QSortFilterProxyModel::setHeaderData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setItemData()

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

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QTransposeProxyModel.

Definition at line 365 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ setSourceModel()

void QAbstractProxyModel::setSourceModel ( QAbstractItemModel * sourceModel)
virtual

Sets the given sourceModel to be processed by the proxy model.

Subclasses should call beginResetModel() at the beginning of the method, disconnect from the old model, call this method, connect to the new model, and call endResetModel().

Reimplemented in QTransposeProxyModel, QIdentityProxyModel, QSortFilterProxyModel, and QCompletionModel.

Definition at line 174 of file qabstractproxymodel.cpp.

References QAbstractItemModel::columnsAboutToBeInserted(), QAbstractItemModel::columnsInserted(), QAbstractItemModel::columnsRemoved(), QObject::connect(), d, QObject::destroyed(), disconnect(), QAbstractItemModel::rowsAboutToBeInserted(), QAbstractItemModel::rowsInserted(), QAbstractItemModel::rowsRemoved(), SIGNAL, SLOT, sourceModel, and QAbstractItemModelPrivate::staticEmptyModel().

Referenced by QAbstractProxyModel(), QAbstractProxyModel(), QCompletionModel::modelDestroyed(), QTransposeProxyModel::setSourceModel(), QIdentityProxyModel::setSourceModel(), QSortFilterProxyModel::setSourceModel(), and QCompletionModel::setSourceModel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sibling()

QModelIndex QAbstractProxyModel::sibling ( int row,
int column,
const QModelIndex & idx ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QIdentityProxyModel, and QSortFilterProxyModel.

Definition at line 455 of file qabstractproxymodel.cpp.

References QModelIndex::parent().

+ Here is the call graph for this function:

◆ sort()

void QAbstractProxyModel::sort ( int column,
Qt::SortOrder order = Qt::AscendingOrder )
override

\reimp

Definition at line 428 of file qabstractproxymodel.cpp.

References d.

◆ sourceModel()

QAbstractItemModel * QAbstractProxyModel::sourceModel ( ) const

Returns the model that contains the data that is available through the proxy model.

Definition at line 218 of file qabstractproxymodel.cpp.

References d, and QAbstractItemModelPrivate::staticEmptyModel().

+ Here is the call graph for this function:

◆ sourceModelChanged

void QAbstractProxyModel::sourceModelChanged ( QPrivateSignal )
signal

◆ span()

QSize QAbstractProxyModel::span ( const QModelIndex & index) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel, and QTransposeProxyModel.

Definition at line 437 of file qabstractproxymodel.cpp.

References d, and mapToSource().

+ Here is the call graph for this function:

◆ submit()

bool QAbstractProxyModel::submit ( )
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Definition at line 235 of file qabstractproxymodel.cpp.

References d.

◆ supportedDragActions()

Qt::DropActions QAbstractProxyModel::supportedDragActions ( ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Definition at line 535 of file qabstractproxymodel.cpp.

References d.

◆ supportedDropActions()

Qt::DropActions QAbstractProxyModel::supportedDropActions ( ) const
overridevirtual

\reimp

Reimplemented from QAbstractItemModel.

Reimplemented in QSortFilterProxyModel.

Definition at line 544 of file qabstractproxymodel.cpp.

References d.

Property Documentation

◆ sourceModel


The documentation for this class was generated from the following files: