treemodel.h
author insilmaril
Wed, 20 May 2009 15:40:14 +0000
changeset 772 e3f722759c7e
parent 754 db0ec4bcf416
child 773 340bc29da9a0
permissions -rw-r--r--
Fixed segfault when closing a map
insilmaril@725
     1
#ifndef TREEMODEL_H
insilmaril@725
     2
#define TREEMODEL_H
insilmaril@725
     3
insilmaril@725
     4
#include <QAbstractItemModel>
insilmaril@725
     5
#include <QModelIndex>
insilmaril@725
     6
#include <QVariant>
insilmaril@725
     7
insilmaril@726
     8
insilmaril@750
     9
class BranchItem;
insilmaril@725
    10
class TreeItem;
insilmaril@726
    11
class LinkableMapObj;
insilmaril@725
    12
insilmaril@725
    13
class TreeModel : public QAbstractItemModel
insilmaril@725
    14
{
insilmaril@725
    15
    Q_OBJECT
insilmaril@725
    16
insilmaril@725
    17
public:
insilmaril@725
    18
    TreeModel(QObject *parent = 0);
insilmaril@725
    19
    ~TreeModel();
insilmaril@725
    20
insilmaril@725
    21
    QVariant data(const QModelIndex &index, int role) const;
insilmaril@725
    22
    Qt::ItemFlags flags(const QModelIndex &index) const;
insilmaril@725
    23
    QVariant headerData(int section, Qt::Orientation orientation,
insilmaril@725
    24
                        int role = Qt::DisplayRole) const;
insilmaril@725
    25
    QModelIndex index(int row, int column,
insilmaril@725
    26
                      const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    27
    QModelIndex parent(const QModelIndex &index) const;
insilmaril@725
    28
    int rowCount(const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    29
    int columnCount(const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    30
insilmaril@750
    31
	BranchItem* next(BranchItem* &current, BranchItem* &previous, int &d0);
insilmaril@726
    32
insilmaril@772
    33
/*
insilmaril@745
    34
	bool insertRows ( int row, int count, 
insilmaril@745
    35
				const QModelIndex & parent = QModelIndex() ); 
insilmaril@772
    36
*/				
insilmaril@727
    37
	bool removeRows ( int row, int count, 
insilmaril@727
    38
				const QModelIndex & parent = QModelIndex() ); 
insilmaril@727
    39
insilmaril@745
    40
	TreeItem* getItem (const QModelIndex &index) const;
insilmaril@754
    41
	TreeItem* getRootItem();
insilmaril@726
    42
	QModelIndex index (TreeItem* ti);
insilmaril@725
    43
insilmaril@754
    44
insilmaril@729
    45
protected:
insilmaril@725
    46
    TreeItem *rootItem;
insilmaril@725
    47
};
insilmaril@725
    48
insilmaril@725
    49
#endif