LeechCraft
0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
|
Proxy model flattening a hierarchical model. More...
#include "flattenfiltermodel.h"
Public Member Functions | |
QModelIndex | index (int, int, const QModelIndex &={}) const override |
Reimplemented from QAbstractItemModel. More... | |
QModelIndex | parent (const QModelIndex &) const override |
Reimplemented from QAbstractItemModel. More... | |
int | rowCount (const QModelIndex &parent={}) const override |
Reimplemented from QAbstractItemModel. More... | |
int | columnCount (const QModelIndex &parent={}) const override |
Reimplemented from QAbstractItemModel. More... | |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
Reimplemented from QAbstractItemModel. More... | |
void | SetSource (QAbstractItemModel *model) |
Sets the source model to model. More... | |
Protected Member Functions | |
virtual bool | IsIndexAccepted (const QModelIndex &index) const |
Checks whether the given index should be included in the model. More... | |
Protected Attributes | |
QAbstractItemModel * | Source_ = nullptr |
QList< QPersistentModelIndex > | SourceIndexes_ |
Proxy model flattening a hierarchical model.
This model takes another model and folds its structure into a flat model, possibly filtering out some rows (via the IsIndexAccepted() method).
Since this model changes the structure of the source model quite a lot, it doesn't derive from QAbstractProxyModel.
Definition at line 33 of file flattenfiltermodel.h.
|
override |
Reimplemented from QAbstractItemModel.
Definition at line 37 of file flattenfiltermodel.cpp.
References index(), and SourceIndexes_.
|
override |
Reimplemented from QAbstractItemModel.
Definition at line 42 of file flattenfiltermodel.cpp.
References Source_.
|
override |
Reimplemented from QAbstractItemModel.
Definition at line 19 of file flattenfiltermodel.cpp.
Referenced by columnCount(), and IsIndexAccepted().
|
protectedvirtual |
Checks whether the given index should be included in the model.
Reimplement this function in derived classes to provide filtering capabilities akin to QSortFilterProxyModel.
The children of the index will be checked even if this function returns false for index.
index.column() == 0
will always hold.The default implementation simply returns true
.
[in] | index | The index of the source model to check. |
Definition at line 73 of file flattenfiltermodel.cpp.
References index(), parent(), Source_, and SourceIndexes_.
|
override |
Reimplemented from QAbstractItemModel.
Definition at line 27 of file flattenfiltermodel.cpp.
References SourceIndexes_.
Referenced by IsIndexAccepted(), and rowCount().
|
override |
Reimplemented from QAbstractItemModel.
Definition at line 32 of file flattenfiltermodel.cpp.
References parent().
void LC::Util::FlattenFilterModel::SetSource | ( | QAbstractItemModel * | model | ) |
Sets the source model to model.
If another source model has been set already, this function rebuilds the whole model, effectively resetting it.
[in] | model | The new source model. |
Definition at line 47 of file flattenfiltermodel.cpp.
|
protected |
Definition at line 42 of file flattenfiltermodel.h.
Referenced by data(), and IsIndexAccepted().
|
protected |
Definition at line 43 of file flattenfiltermodel.h.
Referenced by columnCount(), IsIndexAccepted(), and parent().