]> AND Private Git Repository - blast.git/blob - BlockCategory.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
start modifying read/write blocks and project to take into account control ifaces
[blast.git] / BlockCategory.h
1 #ifndef BLOCKCATEGORY_H\r
2 #define BLOCKCATEGORY_H\r
3 \r
4 #include <iostream>\r
5 \r
6 #include <QtCore>\r
7 #include <QtXml>\r
8 #include "ReferenceBlock.h"\r
9 class ReferenceBlock;\r
10 \r
11 using namespace std;\r
12 using namespace Qt;\r
13 \r
14 class Block;\r
15 \r
16 class BlockCategory {\r
17 \r
18 public :\r
19   BlockCategory(QString _name, int _id, BlockCategory* _parent = NULL);\r
20   int id;\r
21   // getters\r
22   inline int getId() { return id; }\r
23   inline QString getName() { return name; }\r
24   inline BlockCategory* getParent() { return parent; }\r
25   inline QList<BlockCategory *> getChilds() { return childs; }\r
26   BlockCategory* getChild(QString name);\r
27   BlockCategory* getChild(int index);\r
28   QList<BlockCategory *> getAllChilds();\r
29   inline QList<ReferenceBlock*> getBlocks() { return blocks; }\r
30   ReferenceBlock *getBlock(int index);\r
31 \r
32   // setters\r
33   void addChild(BlockCategory* child);\r
34   inline void setParent(BlockCategory* _parent) { parent = _parent; }\r
35 \r
36   // I/O\r
37   QDomElement save(QDomDocument &doc);  \r
38 \r
39   BlockCategory *getRoot();\r
40 \r
41   //int id;\r
42   QList<BlockCategory *> childs;\r
43   BlockCategory* parent;\r
44   QList<ReferenceBlock*> blocks;\r
45 private:\r
46   QString name;\r
47 \r
48 };\r
49 \r
50 #endif // BLOCKCATEGORY_H\r