entitytree.h
Go to the documentation of this file.
1 #ifndef DNAI_MODELS_ENTITY_TREE_H
2 #define DNAI_MODELS_ENTITY_TREE_H
3 
4 #include <QAbstractListModel>
5 #include "entity.h"
7 
8 namespace dnai
9 {
10  namespace models
11  {
12  class EntityTree : public QAbstractItemModel
13  {
14  Q_OBJECT
15 
16  public:
17  enum ROLES
18  {
19  ID = Qt::UserRole + 1,
32  };
33 
34  // QAbstractItemModel implementation
35  public:
36  EntityTree(QObject *parent = nullptr);
37  QModelIndex index(int row, int column, const QModelIndex& parent) const override;
38  QModelIndex parent(const QModelIndex& child) const override;
39  int rowCount(const QModelIndex& parent) const override;
40  int columnCount(const QModelIndex& parent) const override;
41  QVariant data(const QModelIndex& index, int role) const override;
42  Q_INVOKABLE int getRoleKey(QString rolename) const;
43 
44  protected:
45  Entity * getItem(const QModelIndex& index) const;
46  virtual QHash<int, QByteArray> roleNames() const override;
48  };
49  }
50 }
51 
52 #endif //DNAI_MODELS_ENTITY_TREE_H
Definition: entitytree.h:29
int rowCount(const QModelIndex &parent) const override
Definition: entitytree.cpp:47
Entity * getItem(const QModelIndex &index) const
Definition: entitytree.cpp:107
QModelIndex parent(const QModelIndex &child) const override
Definition: entitytree.cpp:33
QVariant data(const QModelIndex &index, int role) const override
Definition: entitytree.cpp:67
int columnCount(const QModelIndex &parent) const override
Definition: entitytree.cpp:60
virtual QHash< int, QByteArray > roleNames() const override
Definition: entitytree.cpp:117
Definition: entitytree.h:24
ROLES
Definition: entitytree.h:17
Definition: entitytree.h:12
Definition: entitytree.h:30
Definition: entitytree.h:19
Entity * m_rootItem
Definition: entitytree.h:47
Definition: entitytree.h:27
Definition: entitytree.h:28
Definition: entitytree.h:26
Definition: entitytree.h:25
QModelIndex index(int row, int column, const QModelIndex &parent) const override
Definition: entitytree.cpp:13
Definition: api.h:13
Definition: entitytree.h:31
Definition: entitytree.h:21
Definition: entitytree.h:23
EntityTree(QObject *parent=nullptr)
Definition: entitytree.cpp:8
Definition: entity.h:71
Q_INVOKABLE int getRoleKey(QString rolename) const
Definition: entitytree.cpp:102
Definition: entitytree.h:20
Definition: entitytree.h:22