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

Private GIT Repository
correct relative positionning of source/group
[blast.git] / FunctionalBlock.h
1 #ifndef __FUNCTIONALBLOCK_H__\r
2 #define __FUNCTIONALBLOCK_H__\r
3 \r
4 #include <iostream>\r
5 \r
6 #include <QtCore>\r
7 \r
8 #include "AbstractBlock.h"\r
9 class AbstractBlock;\r
10 class ReferenceBlock;\r
11 class GroupBlock;\r
12 #include "Exception.h"\r
13 class Exception;\r
14 \r
15 \r
16 using namespace std;\r
17 using namespace Qt;\r
18 \r
19 /* NOTES :\r
20    - NEVER forget to call populate() after creating an instance of GraphBlock.\r
21  */\r
22 \r
23 class FunctionalBlock : public AbstractBlock {\r
24 public:\r
25 \r
26   FunctionalBlock(GroupBlock* _parent, ReferenceBlock* _reference) throw(Exception);\r
27 \r
28   // getters\r
29   inline ReferenceBlock* getReference() { return reference; }\r
30 \r
31   // setters\r
32 \r
33   // testers\r
34   bool isFunctionalBlock();\r
35   bool isSourceBlock(); //! a source block has no parent\r
36 \r
37   // others\r
38 \r
39   void populate(); // create parameters and interface from reference block\r
40   void parametersValidation(QList<AbstractBlock *> *checkedBlocks, QList<AbstractBlock*>* blocksToConfigure);\r
41 \r
42   QString getReferenceXmlFile();\r
43   QString getReferenceHashMd5();\r
44 \r
45 private:  \r
46   ReferenceBlock* reference;\r
47 \r
48 };\r
49 \r
50 #endif // __FUNCTIONALBLOCK_H__\r