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

Private GIT Repository
nearly finished GroupBlock VHDL gen
[blast.git] / BlockParameterUser.h
1 #ifndef __BLOCKPARAMETERUSER_H__\r
2 #define __BLOCKPARAMETERUSER_H__\r
3 \r
4 #include <iostream>\r
5 #include <fstream>\r
6 \r
7 #include <QtCore>\r
8 \r
9 #include "BlockParameter.h"\r
10 class BlockParameter;\r
11 \r
12 using namespace std;\r
13 using namespace Qt;\r
14 \r
15 /* NOTES :\r
16 \r
17   A BlockParameterUser represents string that will be put in the generated VHDL code\r
18   each time a @val{param_name} is encountered. The default value of the string is given\r
19   at construction. If it is empty, user will have to provide a value before VHDL generation.\r
20   If it's not empty, user can still change this value before generation.\r
21   Since this string can be almost everything, it may lead to incorrect VHDL code.\r
22   But no validity check is done !\r
23 \r
24   The type of such a parameter is always "string".\r
25 \r
26  */\r
27 class BlockParameterUser : public BlockParameter {\r
28 \r
29 public :\r
30 \r
31   BlockParameterUser();\r
32   BlockParameterUser(AbstractBlock* _owner, const QString& _name, const QString& _type, const QString& _value);\r
33 \r
34   // getters\r
35   QVariant getValue();\r
36   inline QString getContext() { return "user";}\r
37   // setters\r
38   void setValue(const QString& _value);\r
39   inline void resetToDefaultValue() { userValue = defaultValue; }\r
40 \r
41   // testers\r
42   bool isValueSet();\r
43   bool isDefaultValue();\r
44   bool isUserParameter();\r
45 \r
46   // others\r
47   BlockParameter* clone();\r
48   QString toVHDL(int context, int flags);\r
49 \r
50 private:\r
51 \r
52   QVariant userValue;\r
53 \r
54 };\r
55 \r
56 #endif // __BLOCKPARAMETERUSER_H__\r
57 \r