diff options
Diffstat (limited to 'qt-models/treemodel.h')
-rw-r--r-- | qt-models/treemodel.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/qt-models/treemodel.h b/qt-models/treemodel.h new file mode 100644 index 000000000..e95e53a91 --- /dev/null +++ b/qt-models/treemodel.h @@ -0,0 +1,39 @@ +#ifndef TREEMODEL_H +#define TREEMODEL_H + +#include <QAbstractItemModel> +#include <QCoreApplication> + +struct TreeItem { + Q_DECLARE_TR_FUNCTIONS(TreeItemDT) + +public: + virtual ~TreeItem(); + TreeItem(); + virtual QVariant data(int column, int role) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + virtual Qt::ItemFlags flags(const QModelIndex &index) const; + + int row() const; + QList<TreeItem *> children; + TreeItem *parent; +}; + + +class TreeModel : public QAbstractItemModel { + Q_OBJECT +public: + TreeModel(QObject *parent = 0); + virtual ~TreeModel(); + virtual QVariant data(const QModelIndex &index, int role) const; + /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ int columnCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ QModelIndex parent(const QModelIndex &child) const; + +protected: + int columns; + TreeItem *rootItem; +}; + +#endif |