treemodel.h
author insilmaril
Mon, 14 Jun 2010 13:59:17 +0000
changeset 848 e265f07f2173
parent 847 43268373032d
permissions -rw-r--r--
Fixed tmp relink, colored headings in TreeView
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@847
    11
class Link;
insilmaril@726
    12
class LinkableMapObj;
insilmaril@725
    13
insilmaril@725
    14
class TreeModel : public QAbstractItemModel
insilmaril@725
    15
{
insilmaril@725
    16
    Q_OBJECT
insilmaril@725
    17
insilmaril@725
    18
public:
insilmaril@725
    19
    TreeModel(QObject *parent = 0);
insilmaril@725
    20
    ~TreeModel();
insilmaril@725
    21
insilmaril@725
    22
    QVariant data(const QModelIndex &index, int role) const;
insilmaril@725
    23
    Qt::ItemFlags flags(const QModelIndex &index) const;
insilmaril@725
    24
    QVariant headerData(int section, Qt::Orientation orientation,
insilmaril@725
    25
                        int role = Qt::DisplayRole) const;
insilmaril@788
    26
	QModelIndex index (TreeItem* ti);
insilmaril@725
    27
    QModelIndex index(int row, int column,
insilmaril@725
    28
                      const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    29
    QModelIndex parent(const QModelIndex &index) const;
insilmaril@725
    30
    int rowCount(const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    31
    int columnCount(const QModelIndex &parent = QModelIndex()) const;
insilmaril@725
    32
insilmaril@804
    33
	BranchItem* nextBranch (BranchItem* &current, BranchItem* &previous, bool deepLevelsFirst=true, BranchItem* start=NULL);
insilmaril@726
    34
insilmaril@727
    35
	bool removeRows ( int row, int count, 
insilmaril@727
    36
				const QModelIndex & parent = QModelIndex() ); 
insilmaril@727
    37
insilmaril@745
    38
	TreeItem* getItem (const QModelIndex &index) const;
insilmaril@793
    39
	BranchItem* getRootItem();
insilmaril@725
    40
insilmaril@754
    41
insilmaril@729
    42
protected:
insilmaril@793
    43
    BranchItem *rootItem;
insilmaril@847
    44
insilmaril@847
    45
	QList <Link*> xlinks;
insilmaril@847
    46
	QList <Link*> xlinks_obsolete;
insilmaril@847
    47
insilmaril@725
    48
};
insilmaril@725
    49
insilmaril@725
    50
#endif