mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 14:40:28 +00:00
40 lines
1 KiB
C
40 lines
1 KiB
C
|
#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
|