• 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 Slots | Protected Member Functions | Protected Attributes

KIdentityProxyModel Class Reference

The KIdentityProxyModel class proxies its source model unmodified. More...

#include <kidentityproxymodel.h>

Inheritance diagram for KIdentityProxyModel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 KIdentityProxyModel (QObject *parent=0)
virtual ~KIdentityProxyModel ()
int columnCount (const QModelIndex &parent=QModelIndex()) const
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
bool insertColumns (int column, int count, const QModelIndex &parent=QModelIndex())
bool insertRows (int row, int count, const QModelIndex &parent=QModelIndex())
QModelIndex mapFromSource (const QModelIndex &sourceIndex) const
QItemSelection mapSelectionFromSource (const QItemSelection &selection) const
QItemSelection mapSelectionToSource (const QItemSelection &selection) const
QModelIndex mapToSource (const QModelIndex &proxyIndex) const
QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const
QModelIndex parent (const QModelIndex &child) const
bool removeColumns (int column, int count, const QModelIndex &parent=QModelIndex())
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex())
int rowCount (const QModelIndex &parent=QModelIndex()) const
void setSourceModel (QAbstractItemModel *sourceModel)

Protected Slots

virtual void resetInternalData ()

Protected Member Functions

 KIdentityProxyModel (KIdentityProxyModelPrivate *privateClass, QObject *parent)

Protected Attributes

KIdentityProxyModelPrivate *const d_ptr

Detailed Description

The KIdentityProxyModel class proxies its source model unmodified.

Since:
4.6

KIdentityProxyModel can be used to forward the structure of a source model exactly, with no sorting, filtering or other transformation. This is similar in concept to an identity matrix where A.I = A.

Because it does no sorting or filtering, this class is most suitable to proxy models which transform the data() of the source model. For example, a proxy model could be created to define the font used, or the background colour, or the tooltip etc. This removes the need to implement all data handling in the same class that creates the structure of the model, and can also be used to create re-usable components.

This also provides a way to change the data in the case where a source model is supplied by a third party which can not be modified.

      class DateFormatProxyModel : public QIdentityProxyModel
      {
        // ...

        void setDateFormatString(const QString &formatString)
        {
          m_formatString = formatString;
        }

        QVariant data(const QModelIndex &index, int role)
        {
          if (role != Qt::DisplayRole)
            return KIdentityProxyModel::data(index, role);

          const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();

          return dateTime.toString(m_formatString);
        }

      private:
        QString m_formatString;
      };
Since:
4.6
Author:
Stephen Kelly <stephen@kdab.com>

Definition at line 31 of file kidentityproxymodel.h.


Constructor & Destructor Documentation

KIdentityProxyModel::KIdentityProxyModel ( QObject *  parent = 0) [explicit]

Constructs an identity model with the given parent.

Definition at line 121 of file kidentityproxymodel.cpp.

KIdentityProxyModel::~KIdentityProxyModel ( ) [virtual]

Destroys this identity model.

Definition at line 138 of file kidentityproxymodel.cpp.

KIdentityProxyModel::KIdentityProxyModel ( KIdentityProxyModelPrivate *  privateClass,
QObject *  parent 
) [protected]

Definition at line 129 of file kidentityproxymodel.cpp.


Member Function Documentation

int KIdentityProxyModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
Reimplemented from superclass.

Definition at line 146 of file kidentityproxymodel.cpp.

bool KIdentityProxyModel::dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
)
Reimplemented from superclass.

Definition at line 157 of file kidentityproxymodel.cpp.

QModelIndex KIdentityProxyModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
Reimplemented from superclass.

Definition at line 168 of file kidentityproxymodel.cpp.

bool KIdentityProxyModel::insertColumns ( int  column,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
Reimplemented from superclass.

Definition at line 184 of file kidentityproxymodel.cpp.

bool KIdentityProxyModel::insertRows ( int  row,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
Reimplemented from superclass.

Definition at line 195 of file kidentityproxymodel.cpp.

QModelIndex KIdentityProxyModel::mapFromSource ( const QModelIndex &  sourceIndex) const
Reimplemented from superclass.

Definition at line 206 of file kidentityproxymodel.cpp.

QItemSelection KIdentityProxyModel::mapSelectionFromSource ( const QItemSelection &  selection) const
Reimplemented from superclass.

Definition at line 218 of file kidentityproxymodel.cpp.

QItemSelection KIdentityProxyModel::mapSelectionToSource ( const QItemSelection &  selection) const
Reimplemented from superclass.

Definition at line 239 of file kidentityproxymodel.cpp.

QModelIndex KIdentityProxyModel::mapToSource ( const QModelIndex &  proxyIndex) const
Reimplemented from superclass.

Definition at line 275 of file kidentityproxymodel.cpp.

QModelIndexList KIdentityProxyModel::match ( const QModelIndex &  start,
int  role,
const QVariant &  value,
int  hits = 1,
Qt::MatchFlags  flags = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap) 
) const
Reimplemented from superclass.

Definition at line 286 of file kidentityproxymodel.cpp.

QModelIndex KIdentityProxyModel::parent ( const QModelIndex &  child) const
Reimplemented from superclass.

Definition at line 304 of file kidentityproxymodel.cpp.

bool KIdentityProxyModel::removeColumns ( int  column,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
Reimplemented from superclass.

Definition at line 318 of file kidentityproxymodel.cpp.

bool KIdentityProxyModel::removeRows ( int  row,
int  count,
const QModelIndex &  parent = QModelIndex() 
)
Reimplemented from superclass.

Definition at line 330 of file kidentityproxymodel.cpp.

void KIdentityProxyModel::resetInternalData ( ) [protected, virtual, slot]

This slot is automatically invoked when the model is reset. It can be used to clear any data internal to the proxy at the approporiate time.

See also:
QAbstractItemModel::internalDataReset()

Definition at line 694 of file kidentityproxymodel.cpp.

int KIdentityProxyModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
Reimplemented from superclass.

Definition at line 342 of file kidentityproxymodel.cpp.

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

Reimplemented in KCheckableProxyModel.

Definition at line 353 of file kidentityproxymodel.cpp.


Member Data Documentation

KIdentityProxyModelPrivate* const KIdentityProxyModel::d_ptr [protected]

Definition at line 58 of file kidentityproxymodel.h.


The documentation for this class was generated from the following files:
  • kidentityproxymodel.h
  • kidentityproxymodel.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