akonadi
KDescendantsProxyModel Class Reference
Proxy Model for restructuring a Tree into a list. More...
#include <kdescendantsproxymodel_p.h>
Inherits QAbstractProxyModel.
Public Member Functions | |
KDescendantsProxyModel (QObject *parent=0) | |
virtual | ~KDescendantsProxyModel () |
QString | ancestorSeparator () const |
virtual int | columnCount (const QModelIndex &index=QModelIndex()) const |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const |
int | descendantCount (const QModelIndex &index) const |
bool | displayAncestorData () const |
virtual Qt::ItemFlags | flags (const QModelIndex &index) const |
virtual bool | hasChildren (const QModelIndex &parent=QModelIndex()) const |
virtual QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const |
virtual QModelIndex | index (int, int, const QModelIndex &parent=QModelIndex()) const |
QModelIndex | mapFromSource (const QModelIndex &sourceIndex) const |
QModelIndex | mapToSource (const QModelIndex &proxyIndex) const |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const |
virtual QStringList | mimeTypes () const |
virtual QModelIndex | parent (const QModelIndex &) const |
virtual int | rowCount (const QModelIndex &parent=QModelIndex()) const |
void | setAncestorSeparator (const QString &separator) |
void | setDisplayAncestorData (bool display) |
void | setRootIndex (const QModelIndex &index) |
virtual void | setSourceModel (QAbstractItemModel *model) |
virtual Qt::DropActions | supportedDropActions () const |
Detailed Description
Proxy Model for restructuring a Tree into a list.
A KDescendantsProxyModel may be used to alter how the items in the tree are presented.
Given a model which is represented as a tree:

A plain EntityTreeModel in a view
The KDescendantsProxyModel restructures the sourceModel to represent it as a flat list.
// ... Create an entityTreeModel KDescendantsProxyModel *descProxy = new KDescendantsProxyModel(this); descProxy->setSourceModel(entityTree); view->setModel(descProxy);

A KDescendantsProxyModel.
KDescendantEntitiesProxyModel can also display the ancestors of the index in the source model as part of its display.
// ... Create an entityTreeModel KDescendantsProxyModel *descProxy = new KDescendantesProxyModel(this); descProxy->setSourceModel(entityTree); // #### This is new descProxy->setDisplayAncestorData(true, QString( " / " )); view->setModel(descProxy);

A KDescendantsProxyModel with ancestor names.
- Since:
- 4.4
Definition at line 67 of file kdescendantsproxymodel_p.h.
Constructor & Destructor Documentation
KDescendantsProxyModel::KDescendantsProxyModel | ( | QObject * | parent = 0 |
) | [explicit] |
Creates a new descendant entities proxy model.
- Parameters:
-
parent The parent object.
Definition at line 213 of file kdescendantsproxymodel.cpp.
KDescendantsProxyModel::~KDescendantsProxyModel | ( | ) | [virtual] |
Destroys the descendant entities proxy model.
Definition at line 218 of file kdescendantsproxymodel.cpp.
Member Function Documentation
QString KDescendantsProxyModel::ancestorSeparator | ( | ) | const |
Separator used between data of ancestors.
Definition at line 251 of file kdescendantsproxymodel.cpp.
int KDescendantsProxyModel::descendantCount | ( | const QModelIndex & | index | ) | const |
Returns the number of descendant entries for the given model index
.
bool KDescendantsProxyModel::displayAncestorData | ( | ) | const |
Whether ancestor data will be displayed.
Definition at line 239 of file kdescendantsproxymodel.cpp.
QModelIndexList KDescendantsProxyModel::match | ( | const QModelIndex & | start, | |
int | role, | |||
const QVariant & | value, | |||
int | hits = 1 , |
|||
Qt::MatchFlags | flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap ) | |||
) | const [virtual] |
Reimplemented to match all descendants.
Definition at line 228 of file kdescendantsproxymodel.cpp.
void KDescendantsProxyModel::setAncestorSeparator | ( | const QString & | separator | ) |
Sets the ancestor separator
used between data of ancestors.
Definition at line 245 of file kdescendantsproxymodel.cpp.
void KDescendantsProxyModel::setDisplayAncestorData | ( | bool | display | ) |
Set whether to show ancestor data in the model.
If display
is true, then a source model which is displayed as
-> "Item 0-0" (this is row-depth) -> -> "Item 0-1" -> -> "Item 1-1" -> -> -> "Item 0-2" -> -> -> "Item 1-2" -> "Item 1-0"
will be displayed as
-> *Item 0-0" -> "Item 0-0 / Item 0-1" -> "Item 0-0 / Item 1-1" -> "Item 0-0 / Item 1-1 / Item 0-2" -> "Item 0-0 / Item 1-1 / Item 1-2" -> "Item 1-0"
If display
is false, the proxy will show
-> *Item 0-0" -> "Item 0-1" -> "Item 1-1" -> "Item 0-2" -> "Item 1-2" -> "Item 1-0"
Default is false.
Definition at line 233 of file kdescendantsproxymodel.cpp.
void KDescendantsProxyModel::setRootIndex | ( | const QModelIndex & | index | ) |
Sets the root index to index
.
This is the root of the proxy model.
- Parameters:
-
index The root index in the *source* model which will be shown in this model. If the index is invalid, the model is empty.
- Note:
- You must set the model before setting the root index.
Definition at line 223 of file kdescendantsproxymodel.cpp.
void KDescendantsProxyModel::setSourceModel | ( | QAbstractItemModel * | model | ) | [virtual] |
Sets the source model
of the proxy.
Definition at line 258 of file kdescendantsproxymodel.cpp.
The documentation for this class was generated from the following files: