![]() |
LeechCraft
0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
|
Proxy model flattening a hierarchical model. More...
#include "flattenfiltermodel.h"
Public Member Functions | |
FlattenFilterModel (QObject *parent=0) | |
Constructs the model with the given parent. More... | |
QModelIndex | index (int, int, const QModelIndex &=QModelIndex()) const |
Reimplemented from QAbstractItemModel. More... | |
QModelIndex | parent (const QModelIndex &) const |
Reimplemented from QAbstractItemModel. More... | |
int | rowCount (const QModelIndex &parent=QModelIndex()) const |
Reimplemented from QAbstractItemModel. More... | |
int | columnCount (const QModelIndex &parent=QModelIndex()) const |
Reimplemented from QAbstractItemModel. More... | |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const |
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_ |
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 50 of file flattenfiltermodel.h.
LeechCraft::Util::FlattenFilterModel::FlattenFilterModel | ( | QObject * | parent = 0 | ) |
Constructs the model with the given parent.
[in] | parent | The parent object of this model. |
Definition at line 36 of file flattenfiltermodel.cpp.
int LeechCraft::Util::FlattenFilterModel::columnCount | ( | const QModelIndex & | parent = QModelIndex() | ) | const |
Reimplemented from QAbstractItemModel.
Definition at line 60 of file flattenfiltermodel.cpp.
References parent().
QVariant LeechCraft::Util::FlattenFilterModel::data | ( | const QModelIndex & | index, |
int | role = Qt::DisplayRole |
||
) | const |
Reimplemented from QAbstractItemModel.
Definition at line 65 of file flattenfiltermodel.cpp.
References index(), and SourceIndexes_.
QModelIndex LeechCraft::Util::FlattenFilterModel::index | ( | int | row, |
int | column, | ||
const QModelIndex & | parent = QModelIndex () |
||
) | const |
Reimplemented from QAbstractItemModel.
Definition at line 42 of file flattenfiltermodel.cpp.
References parent().
Referenced by data().
|
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 106 of file flattenfiltermodel.cpp.
QModelIndex LeechCraft::Util::FlattenFilterModel::parent | ( | const QModelIndex & | ) | const |
Reimplemented from QAbstractItemModel.
Definition at line 50 of file flattenfiltermodel.cpp.
Referenced by columnCount(), index(), and rowCount().
int LeechCraft::Util::FlattenFilterModel::rowCount | ( | const QModelIndex & | parent = QModelIndex() | ) | const |
Reimplemented from QAbstractItemModel.
Definition at line 55 of file flattenfiltermodel.cpp.
References parent(), and SourceIndexes_.
void LeechCraft::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 70 of file flattenfiltermodel.cpp.
References Source_, and SourceIndexes_.
|
protected |
Definition at line 54 of file flattenfiltermodel.h.
Referenced by SetSource().
|
protected |
Definition at line 55 of file flattenfiltermodel.h.
Referenced by data(), rowCount(), and SetSource().