• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KDEUI

Public Member Functions | Protected Member Functions

KCheckableProxyModel Class Reference

Adds a checkable capability to a source model. More...

#include <kcheckableproxymodel.h>

Inheritance diagram for KCheckableProxyModel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 KCheckableProxyModel (QObject *parent=0)
 ~KCheckableProxyModel ()
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
Qt::ItemFlags flags (const QModelIndex &index) const
QItemSelectionModel * selectionModel () const
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
void setSelectionModel (QItemSelectionModel *itemSelectionModel)
void setSourceModel (QAbstractItemModel *sourceModel)

Protected Member Functions

virtual bool select (const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)

Detailed Description

Adds a checkable capability to a source model.

Items is standard Qt views such as QTreeView and QListView can have a checkable capability and draw checkboxes. Adding such a capability requires specific implementations of the data() and flags() virtual methods. This class implements those methods generically so that it is not necessary to implement them in your model.

This can be combined with a KSelectionProxyModel showing the items currently selected

   QItemSelectionModel *checkModel = new QItemSelectionModel(rootModel, this);
   KCheckableProxyModel *checkable = new KCheckableProxyModel(this);
   checkable->setSourceModel(rootModel);
   checkable->setSelectionModel(checkModel);

   QTreeView *tree1 = new QTreeView(vSplitter);
   tree1->setModel(checkable);
   tree1->expandAll();

   KSelectionProxyModel *selectionProxy = new KSelectionProxyModel(checkModel, this);
   selectionProxy->setFilterBehavior(KSelectionProxyModel::ExactSelection);
   selectionProxy->setSourceModel(rootModel);

   QTreeView *tree2 = new QTreeView(vSplitter);
   tree2->setModel(selectionProxy);
kcheckableproxymodel.png

A KCheckableProxyModel and KSelectionProxyModel showing checked items

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

Definition at line 68 of file kcheckableproxymodel.h.


Constructor & Destructor Documentation

KCheckableProxyModel::KCheckableProxyModel ( QObject *  parent = 0)

Definition at line 45 of file kcheckableproxymodel.cpp.

KCheckableProxyModel::~KCheckableProxyModel ( )

Definition at line 51 of file kcheckableproxymodel.cpp.


Member Function Documentation

QVariant KCheckableProxyModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const

Definition at line 77 of file kcheckableproxymodel.cpp.

Qt::ItemFlags KCheckableProxyModel::flags ( const QModelIndex &  index) const

Definition at line 70 of file kcheckableproxymodel.cpp.

bool KCheckableProxyModel::select ( const QItemSelection &  selection,
QItemSelectionModel::SelectionFlags  command 
) [protected, virtual]

Definition at line 123 of file kcheckableproxymodel.cpp.

QItemSelectionModel * KCheckableProxyModel::selectionModel ( ) const

Definition at line 64 of file kcheckableproxymodel.cpp.

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

Definition at line 91 of file kcheckableproxymodel.cpp.

void KCheckableProxyModel::setSelectionModel ( QItemSelectionModel *  itemSelectionModel)

Definition at line 56 of file kcheckableproxymodel.cpp.

void KCheckableProxyModel::setSourceModel ( QAbstractItemModel *  sourceModel)
Reimplemented from superclass.

Reimplemented from KIdentityProxyModel.

Definition at line 108 of file kcheckableproxymodel.cpp.


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

KDEUI

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
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