00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef TREEMODEL_H
00025
#define TREEMODEL_H
00026
00027
#include <map>
00028
#include <string>
00029
00030
#include <QAbstractItemModel>
00031
#include <QModelIndex>
00032
#include <QVariant>
00033
00034
using namespace std;
00035
00036
class TreeItem;
00037
00038
00039 class TreeModel :
public QAbstractItemModel
00040 {
00041 Q_OBJECT
00042
00043
public:
00044
TreeModel(
const char*
id, QObject *
parent = 0);
00045
~TreeModel();
00046
00047 QVariant
data(
const QModelIndex &
index,
int role)
const;
00048 Qt::ItemFlags
flags(
const QModelIndex &index)
const;
00049 QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
00050 QModelIndex
index(
int row,
int column,
const QModelIndex &parent = QModelIndex())
const;
00051 QModelIndex
parent(
const QModelIndex &index)
const;
00052
int rowCount(
const QModelIndex &parent = QModelIndex())
const;
00053
int columnCount(
const QModelIndex &parent = QModelIndex())
const;
00054
void setupModelData( multimap<string, map<int, string> > );
00055
int getID(
const QModelIndex &parent = QModelIndex())
const;
00056
bool removeRows(
int position,
int rows,
const QModelIndex &parent);
00057 QModelIndex
indexOfLatestItem(
int id,
const QModelIndex &parent=QModelIndex());
00058
private:
00059
00060 TreeItem *
rootItem;
00061 };
00062
00063
#endif