NSCore::QTreeItemModel Class Reference

Provides a standard model for trees of NSCore::QTreeItem. More...

#include <qtreeitemmodel.h>

Inheritance diagram for NSCore::QTreeItemModel:

QAbstractItemModel
Collaboration diagram for NSCore::QTreeItemModel:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 QTreeItemModel (QObject *)
 Default constructor.
 ~QTreeItemModel ()
 destructor
int columnCount (const QModelIndex &parent=QModelIndex()) const
 implements QAbstractItemModel::columnCount()
int rowCount (const QModelIndex &parent=QModelIndex()) const
 implements QAbstractItemModel::rowCount()
QModelIndex index (int row, int col, const QModelIndex &parent=QModelIndex()) const
 implements QAbstractItemModel::index()
QModelIndex parent (const QModelIndex &index) const
 implements QAbstractItemModel::parent()
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
 implements QAbstractItemModel::data()
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
 implements QAbstractItemModel::setData()
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
 implements QAbstractItemModel::headerData()
Qt::ItemFlags flags (const QModelIndex &) const
 implements QAbstractItemModel::flags()
void addToRootItem (QTreeItem *)
 Add an item to the root.

Private Slots

void nodeDeleted (QTreeItemNode *)
 A node was deleted.
void nodeAdded (QTreeItemNode *newchild, QTreeItemNode *childsparent)
 A new node was added.
void addingNode (QTreeItemNode *childsparent)
 A new node is about to be added.
void checkForChanges ()

Private Member Functions

QTreeItemNodeitemFromIndex (const QModelIndex &) const
QModelIndex indexFromItem (const QTreeItemNode *) const

Private Attributes

QTreeItemModel_Root * _roottreeitem
QTreeItemNode_rootitem
QList< QTreeItemNode * > _nodesToDelete


Detailed Description

Provides a standard model for trees of NSCore::QTreeItem.

The classes in this module combine the Model-View-Pattern used in Qt with the coolness of trees of QTreeItem.

With this class it is possible to access a tree of NSCore::QTreeItem as a simple model of Qt's Model-View-Pattern. So all the different views can be used.

Usage inside a qobject is like the following:

 TreeItemModel* model = new TreeItemModel( this );
 model->setRootPath( rootitem ); // Any QTreeItem will do...
 QTreeWidget* tw = new QTreeWidget( this );
 tw->setModel( model );

Todo:
Support drag-and-drop to rearrange items.

Constructor & Destructor Documentation

NSCore::QTreeItemModel::QTreeItemModel ( QObject  ) 

Default constructor.

NSCore::QTreeItemModel::~QTreeItemModel (  ) 

destructor


Member Function Documentation

int NSCore::QTreeItemModel::columnCount ( const QModelIndex &  parent = QModelIndex()  )  const

implements QAbstractItemModel::columnCount()

int NSCore::QTreeItemModel::rowCount ( const QModelIndex &  parent = QModelIndex()  )  const

implements QAbstractItemModel::rowCount()

QModelIndex NSCore::QTreeItemModel::index ( int  row,
int  col,
const QModelIndex &  parent = QModelIndex() 
) const

implements QAbstractItemModel::index()

QModelIndex NSCore::QTreeItemModel::parent ( const QModelIndex &  index  )  const

implements QAbstractItemModel::parent()

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

implements QAbstractItemModel::data()

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

implements QAbstractItemModel::setData()

QVariant NSCore::QTreeItemModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const

implements QAbstractItemModel::headerData()

Qt::ItemFlags NSCore::QTreeItemModel::flags ( const QModelIndex &   )  const

implements QAbstractItemModel::flags()

void NSCore::QTreeItemModel::addToRootItem ( QTreeItem  ) 

Add an item to the root.

The added item can be any QTreeItem, even one in the middle of a tree.

void NSCore::QTreeItemModel::nodeDeleted ( QTreeItemNode  )  [private, slot]

A node was deleted.

void NSCore::QTreeItemModel::nodeAdded ( QTreeItemNode newchild,
QTreeItemNode childsparent 
) [private, slot]

A new node was added.

void NSCore::QTreeItemModel::addingNode ( QTreeItemNode childsparent  )  [private, slot]

A new node is about to be added.

void NSCore::QTreeItemModel::checkForChanges (  )  [private, slot]

QTreeItemNode* NSCore::QTreeItemModel::itemFromIndex ( const QModelIndex &   )  const [private]

QModelIndex NSCore::QTreeItemModel::indexFromItem ( const QTreeItemNode  )  const [private]


Member Data Documentation

QTreeItemModel_Root* NSCore::QTreeItemModel::_roottreeitem [private]


The documentation for this class was generated from the following file:

Generated on Tue Apr 12 02:10:29 2011 for epos by  doxygen 1.5.5