insilmaril@725: #ifndef TREEMODEL_H insilmaril@725: #define TREEMODEL_H insilmaril@725: insilmaril@725: #include insilmaril@725: #include insilmaril@725: #include insilmaril@725: insilmaril@725: class TreeItem; 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@725: private: insilmaril@725: void setupModelData(TreeItem *parent); insilmaril@725: insilmaril@725: TreeItem *rootItem; insilmaril@725: }; insilmaril@725: insilmaril@725: #endif