OGS
TreeModel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <QAbstractItemModel>
7
8class QVariant;
9class QModelIndex;
10class TreeItem;
11
18class TreeModel : public QAbstractItemModel
19{
20 Q_OBJECT
21
22public:
23 explicit TreeModel(QObject* parent = nullptr);
24 ~TreeModel() override;
25
26 QVariant data(const QModelIndex& index, int role) const override;
27 bool setData(const QModelIndex& index, const QVariant& value,
28 int role /* = Qt::EditRole */) override;
29 Qt::ItemFlags flags(const QModelIndex& index) const override;
30 TreeItem* getItem(const QModelIndex &index) const;
31 QVariant headerData(int section, Qt::Orientation orientation,
32 int role = Qt::DisplayRole) const override;
33 QModelIndex index(int row, int column,
34 const QModelIndex& parent = QModelIndex()) const override;
35 QModelIndex parent(const QModelIndex& index) const override;
36 bool removeRows(int position, int count,
37 const QModelIndex& parent) override;
38 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
39 int columnCount(const QModelIndex& parent = QModelIndex()) const override;
40
41 TreeItem* rootItem() const;
42
43public slots:
44 void updateData();
45
46protected:
48
49private:
50 void setupModelData(const QStringList &lines, TreeItem* parent);
51};
Objects nodes for the TreeModel.
Definition TreeItem.h:17
~TreeModel() override
Definition TreeModel.cpp:26
void setupModelData(const QStringList &lines, TreeItem *parent)
bool removeRows(int position, int count, const QModelIndex &parent) override
TreeItem * getItem(const QModelIndex &index) const
void updateData()
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition TreeModel.cpp:93
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Definition TreeModel.cpp:39
QVariant data(const QModelIndex &index, int role) const override
QModelIndex parent(const QModelIndex &index) const override
Definition TreeModel.cpp:70
TreeItem * rootItem() const
TreeModel(QObject *parent=nullptr)
Definition TreeModel.cpp:15
int columnCount(const QModelIndex &parent=QModelIndex()) const override
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Qt::ItemFlags flags(const QModelIndex &index) const override
TreeItem * _rootItem
Definition TreeModel.h:47
bool setData(const QModelIndex &index, const QVariant &value, int role) override