mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
9bc62748af
TreeModel is the base of some important models in Subsurface, the statistics model and the dive list models, this second is the most important one in the whole Subsurface universe. This commit is another one in the series to make easy to create a mobile version of Subsurface. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
39 lines
1 KiB
C++
39 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
|