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_