goat3d
annotate goatview/src/scenemodel.h @ 86:6d04caf510ab
forgot to add the new source files
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 14 May 2014 05:34:38 +0300 |
parents | |
children | 7941e89798e5 |
rev | line source |
---|---|
nuclear@86 | 1 #ifndef SCENEMODEL_H_ |
nuclear@86 | 2 #define SCENEMODEL_H_ |
nuclear@86 | 3 |
nuclear@86 | 4 #include <map> |
nuclear@86 | 5 #include <QtCore/QAbstractItemModel> |
nuclear@86 | 6 #include "goat3d.h" |
nuclear@86 | 7 |
nuclear@86 | 8 struct SceneNodeData { |
nuclear@86 | 9 bool visible; |
nuclear@86 | 10 }; |
nuclear@86 | 11 |
nuclear@86 | 12 class SceneModel : public QAbstractItemModel { |
nuclear@86 | 13 private: |
nuclear@86 | 14 Q_OBJECT |
nuclear@86 | 15 |
nuclear@86 | 16 goat3d *scn; |
nuclear@86 | 17 std::map<goat3d_node*, SceneNodeData> node_data; |
nuclear@86 | 18 |
nuclear@86 | 19 public: |
nuclear@86 | 20 SceneModel(); |
nuclear@86 | 21 ~SceneModel(); |
nuclear@86 | 22 |
nuclear@86 | 23 void set_scene(goat3d *scn); |
nuclear@86 | 24 void clear_scene(); |
nuclear@86 | 25 |
nuclear@86 | 26 SceneNodeData *get_node_data(goat3d_node *node) const; |
nuclear@86 | 27 |
nuclear@86 | 28 Qt::ItemFlags flags(const QModelIndex &index) const; |
nuclear@86 | 29 QVariant data(const QModelIndex &index, int role) const; |
nuclear@86 | 30 bool setData(const QModelIndex &index, const QVariant &value, int role); |
nuclear@86 | 31 QVariant headerData(int section, Qt::Orientation orient, int role) const; |
nuclear@86 | 32 int rowCount(const QModelIndex &parent) const; |
nuclear@86 | 33 int columnCount(const QModelIndex &parent) const; |
nuclear@86 | 34 bool hasChildren(const QModelIndex &parent) const; |
nuclear@86 | 35 QModelIndex index(int row, int column, const QModelIndex &parent) const; |
nuclear@86 | 36 QModelIndex parent(const QModelIndex &index) const; |
nuclear@86 | 37 }; |
nuclear@86 | 38 |
nuclear@86 | 39 #endif // SCENEMODEL_H_ |