Walls And Holes  1
tilematerialset.h
Go to the documentation of this file.
1 #ifndef TILEMATERIALSET_H
2 #define TILEMATERIALSET_H
3 
4 #include "tilematerial.h"
5 
6 #include <QAbstractItemModel>
7 
8 class TileMaterialSet : public QAbstractItemModel
9 {
10  Q_OBJECT
11 
12 public:
13  static TileMaterialSet *getInstance();
14 
15  void addMaterial(TileMaterial *material);
16  void removeMaterial(int index);
17 
19  const TileMaterial *materialAt(int index) const;
20 
28  TileMaterial *materialInSet(const TileMaterial &material);
29 
30  int size() const { return mMaterials.size(); }
31 
32  //Model Functions:
33  QModelIndex index(int row, int, const QModelIndex &parent = QModelIndex()) const override;
34  QModelIndex parent(const QModelIndex &) const override;
35 
36  int rowCount(const QModelIndex &parent = QModelIndex()) const override;
37  int columnCount(const QModelIndex &parent = QModelIndex()) const override;
38 
39  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
40 
41  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
42 
43  QMimeData *mimeData(const QModelIndexList &indexes) const override;
44 
45  Qt::ItemFlags flags(const QModelIndex &index) const override;
46 
47 private:
49 
50  QList<TileMaterial *> mMaterials;
51 
52  static TileMaterialSet *tileMaterialSet;
53 };
54 
55 #endif // TILEMATERIALSET_H
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Definition: tilematerialset.cpp:89
QMimeData * mimeData(const QModelIndexList &indexes) const override
Definition: tilematerialset.cpp:136
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition: tilematerialset.cpp:97
void addMaterial(TileMaterial *material)
Definition: tilematerialset.cpp:18
Definition: tilematerialset.h:8
int size() const
Definition: tilematerialset.h:30
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition: tilematerialset.cpp:148
QModelIndex index(int row, int, const QModelIndex &parent=QModelIndex()) const override
Definition: tilematerialset.cpp:68
void removeMaterial(int index)
Definition: tilematerialset.cpp:29
static TileMaterialSet * getInstance()
Definition: tilematerialset.cpp:11
TileMaterial * materialInSet(const TileMaterial &material)
materialInSet If the given material is equal to one already in the set, then a pointer to the one in ...
Definition: tilematerialset.cpp:59
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition: tilematerialset.cpp:81
QModelIndex parent(const QModelIndex &) const override
Definition: tilematerialset.cpp:76
TileMaterial * materialAt(int index)
Definition: tilematerialset.cpp:43
Definition: tilematerial.h:8
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition: tilematerialset.cpp:122