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

Private GIT Repository
correcting bugs but still exsitings
[blast.git] / ConnectedInterface.cpp
1 #include "ArithmeticEvaluator.h"\r
2 #include "ConnectedInterface.h"\r
3 #include "FunctionalBlock.h"\r
4 #include "GroupBlock.h"\r
5 \r
6 \r
7 ConnectedInterface::ConnectedInterface(AbstractBlock* _owner) : AbstractInterface(_owner) {\r
8   connectedFrom = NULL;\r
9 }\r
10 \r
11 ConnectedInterface::ConnectedInterface(AbstractBlock* _owner, const QString& _name, const QString& _type, const QString& _width, int _direction, int _purpose, int _level) : AbstractInterface(_owner, _name, _type, _width, _direction, _purpose, _level) {\r
12   connectedFrom = NULL;\r
13 }\r
14 \r
15 void ConnectedInterface::removeConnectedTo(ConnectedInterface *iface) {\r
16   connectedTo.removeOne(iface);\r
17 }\r
18 \r
19 void ConnectedInterface::clearConnections() {\r
20   connectedFrom = NULL;\r
21   connectedTo.clear();\r
22 }\r
23 \r
24 void ConnectedInterface::clearConnectedTo() {\r
25   connectedTo.clear();\r
26 }\r
27 \r
28 bool ConnectedInterface::connectTo(ConnectedInterface *iface) {\r
29 \r
30   if (canConnectTo(iface)) {\r
31     connectedTo.append(iface);\r
32     return true;\r
33   }\r
34 \r
35   return false;\r
36 }\r
37 \r
38 bool ConnectedInterface::connectFrom(ConnectedInterface *iface) {\r
39   if (canConnectFrom(iface)) {\r
40     connectedFrom = iface;\r
41     return true;\r
42   }\r
43   return false;\r
44 }\r
45 \r
46 /* getConnectionToParentGroup() :\r
47    if an interface among connectedTo is an interface of the parent group\r
48    returns it.\r
49 */\r
50 ConnectedInterface* ConnectedInterface::getConnectionToParentGroup() {\r
51   foreach(ConnectedInterface *iface, connectedTo) {\r
52     if (owner->getParent() == iface->owner) {\r
53       return iface;\r
54     }\r
55   }\r
56   return NULL;\r
57 }\r
58 \r
59 /* getConnectionFromParentGroup() :\r
60    if connectedFrom is an interface of the parent group\r
61    returns it.\r
62 */\r
63 ConnectedInterface *ConnectedInterface::getConnectionFromParentGroup() {\r
64   if ((connectedFrom != NULL) && (owner->getParent() == connectedFrom->owner)) {\r
65     return connectedFrom;\r
66   }\r
67   return NULL;\r
68 }\r