insilmaril@725: #ifndef TREEMODEL_H insilmaril@725: #define TREEMODEL_H insilmaril@725: insilmaril@725: #include insilmaril@725: #include insilmaril@725: #include insilmaril@725: insilmaril@726: insilmaril@725: class TreeItem; insilmaril@726: class LinkableMapObj; insilmaril@725: insilmaril@725: class TreeModel : public QAbstractItemModel insilmaril@725: { insilmaril@725: Q_OBJECT insilmaril@725: insilmaril@725: public: insilmaril@725: TreeModel(QObject *parent = 0); insilmaril@725: ~TreeModel(); insilmaril@725: insilmaril@725: QVariant data(const QModelIndex &index, int role) const; insilmaril@725: Qt::ItemFlags flags(const QModelIndex &index) const; insilmaril@725: QVariant headerData(int section, Qt::Orientation orientation, insilmaril@725: int role = Qt::DisplayRole) const; insilmaril@725: QModelIndex index(int row, int column, insilmaril@725: const QModelIndex &parent = QModelIndex()) const; insilmaril@725: QModelIndex parent(const QModelIndex &index) const; insilmaril@725: int rowCount(const QModelIndex &parent = QModelIndex()) const; insilmaril@725: int columnCount(const QModelIndex &parent = QModelIndex()) const; insilmaril@725: insilmaril@726: TreeItem *first(); insilmaril@726: TreeItem *next(); insilmaril@726: insilmaril@727: bool removeRows ( int row, int count, insilmaril@727: const QModelIndex & parent = QModelIndex() ); insilmaril@727: insilmaril@726: QModelIndex index (TreeItem* ti); insilmaril@725: insilmaril@729: protected: insilmaril@725: TreeItem *rootItem; insilmaril@726: static TreeItem* itFirst; insilmaril@726: static TreeItem* itCur; insilmaril@725: }; insilmaril@725: insilmaril@725: #endif