• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

akonadi

KDescendantsProxyModel Class Reference

Proxy Model for restructuring a Tree into a list. More...

#include <kdescendantsproxymodel_p.h>

Inherits QAbstractProxyModel.

List of all members.

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 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:

entitytreemodel.png

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);
descendantentitiesproxymodel.png

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);
descendantentitiesproxymodel-withansecnames.png

A KDescendantsProxyModel with ancestor names.

Since:
4.4
Author:
Stephen Kelly <steveire@gmail.com>

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 173 of file kdescendantsproxymodel.cpp.

KDescendantsProxyModel::~KDescendantsProxyModel (  )  [virtual]

Destroys the descendant entities proxy model.

Definition at line 194 of file kdescendantsproxymodel.cpp.


Member Function Documentation

QString KDescendantsProxyModel::ancestorSeparator (  )  const

Separator used between data of ancestors.

Definition at line 769 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 757 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 820 of file kdescendantsproxymodel.cpp.

void KDescendantsProxyModel::setAncestorSeparator ( const QString &  separator  ) 

Sets the ancestor separator used between data of ancestors.

Definition at line 763 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 751 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 182 of file kdescendantsproxymodel.cpp.

void KDescendantsProxyModel::setSourceModel ( QAbstractItemModel *  model  )  [virtual]

Sets the source model of the proxy.

Definition at line 228 of file kdescendantsproxymodel.cpp.


The documentation for this class was generated from the following files:
  • kdescendantsproxymodel_p.h
  • kdescendantsproxymodel.cpp

akonadi

Skip menu "akonadi"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal