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

Private GIT Repository
added impl xsd + patterns in impls
[blast.git] / BlockParameter.cpp
1 #include "BlockParameter.h"\r
2 \r
3 BlockParameter::BlockParameter() {\r
4   owner = NULL;\r
5   name = "";  \r
6   type = BlockParameter::String;\r
7   defaultValue = QVariant();\r
8 }\r
9 \r
10 BlockParameter::BlockParameter(AbstractBlock* _owner, const QString &_name, const QString &_type, const QString &_value) {\r
11   owner = _owner;\r
12   name =_name;  \r
13   type = typeFromString(_type);\r
14   defaultValue = QVariant(_value);\r
15 }\r
16 \r
17 BlockParameter::~BlockParameter(){\r
18 \r
19 }\r
20 \r
21 QVariant BlockParameter::getValue() {\r
22   return defaultValue;\r
23 }\r
24 \r
25 bool BlockParameter::isUserParameter() {\r
26   return false;\r
27 \r
28 }\r
29 \r
30 bool BlockParameter::isGenericParameter() {\r
31   return false;\r
32 }\r
33 \r
34 bool BlockParameter::isWishboneParameter() {\r
35   return false;\r
36 }\r
37 \r
38 bool BlockParameter::isPortParameter() {\r
39   return false;\r
40 }\r
41 \r
42 void BlockParameter::setValue(const QString& _value) {\r
43   defaultValue = QVariant(_value);\r
44 }\r
45 \r
46 bool BlockParameter::isValueSet() {\r
47   if (defaultValue.isNull()) return false;\r
48   return true;\r
49 }\r
50                       \r
51 QString BlockParameter::toVHDL(int context, int flags) {\r
52 \r
53   QString ret="";  \r
54   return ret;\r
55 }\r
56 \r
57 QString BlockParameter::getTypeString() {\r
58   if (type == BlockParameter::Bit) {\r
59     return "bit";\r
60   }\r
61   else if (type == BlockParameter::BitVector) {\r
62     return "bit_vector";\r
63   }\r
64   else if (type == BlockParameter::Boolean) {\r
65     return "boolean";\r
66   }\r
67   else if (type == BlockParameter::Integer) {\r
68     return "integer";\r
69   }\r
70   else if (type == BlockParameter::Natural) {\r
71     return "natural";\r
72   }\r
73   else if (type == BlockParameter::Positive) {\r
74     return "positive";\r
75   }\r
76   else if (type == BlockParameter::Real) {\r
77     return "real";\r
78   }\r
79   else if (type == BlockParameter::Character) {\r
80     return "character";\r
81   }\r
82   else if (type == BlockParameter::String) {\r
83     return "string";\r
84   }\r
85   else if (type == BlockParameter::Time) {\r
86     return "time";\r
87   }\r
88   return "undefined";\r
89 }\r
90 \r
91 int BlockParameter::typeFromString(const QString &_type) {\r
92   int ret = BlockParameter::Expression;\r
93 \r
94   if (_type == "string") {\r
95     ret = BlockParameter::String;\r
96   }\r
97   else if (_type == "expression") {\r
98     ret = BlockParameter::Expression;\r
99   }\r
100   else if (_type == "boolean") {\r
101     ret = BlockParameter::Boolean;\r
102   }\r
103   else if (_type == "integer") {\r
104     ret = BlockParameter::Integer;\r
105   }\r
106   else if (_type == "natural") {\r
107     ret = BlockParameter::Natural;\r
108   }\r
109   else if (_type == "positive") {\r
110     ret = BlockParameter::Positive;\r
111   }\r
112   else if (_type == "real") {\r
113     ret = BlockParameter::Real;\r
114   }\r
115   else if (_type == "time") {\r
116     ret = BlockParameter::Time;\r
117   }\r
118   return ret;\r
119 }\r
120 \r
121 \r