Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_DocumentDataModel.h
1
2 #ifndef XGUI_DocumentDataModel_H
3 #define XGUI_DocumentDataModel_H
4
5 #include <QAbstractItemModel>
6
7 class ModelAPI_Document;
8
9 class XGUI_DocumentDataModel : public QAbstractItemModel
10 {
11   Q_OBJECT
12 public:
13   XGUI_DocumentDataModel(QObject* theParent);
14   virtual ~XGUI_DocumentDataModel();
15
16
17   virtual QVariant data(const QModelIndex& theIndex, int theRole) const;
18   virtual QVariant headerData(int section, Qt::Orientation orientation,
19                               int role = Qt::DisplayRole) const;
20
21   virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
22   virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
23
24   virtual QModelIndex index(int theRow, int theColumn, 
25                             const QModelIndex &parent = QModelIndex()) const;
26
27   virtual QModelIndex parent(const QModelIndex &index) const;
28
29   virtual bool hasChildren(const QModelIndex& theParent = QModelIndex()) const;
30
31 private:
32   //std::shared_ptr<ModelAPI_Feature> myRoot;
33   short myParamsFolder;
34   short myConstructFolder;
35
36   std::shared_ptr<ModelAPI_Document> myDocument;
37 };
38
39 #endif