--- a/PLCControler.py Fri Aug 03 18:02:54 2007 +0200
+++ b/PLCControler.py Tue Aug 07 17:37:38 2007 +0200
@@ -1300,7 +1300,6 @@
infos["type"] = "transition"
condition = instance.getConditionContent()
infos["condition_type"] = condition["type"]
- infos["condition"] = condition["value"]
infos["connectors"] = {"input":{},"output":{}}
infos["connectors"]["input"]["position"] = instance.connectionPointIn.getRelPosition()
infos["connectors"]["input"]["links"] = []
@@ -1310,6 +1309,18 @@
dic = {"refLocalId":link.getRefLocalId(),"points":link.getPoints(),"formalParameter":link.getFormalParameter()}
infos["connectors"]["input"]["links"].append(dic)
infos["connectors"]["output"]["position"] = instance.connectionPointOut.getRelPosition()
+ if infos["condition_type"] == "connection":
+ infos["connectors"]["connection"] = {}
+ infos["connectors"]["connection"]["links"] = []
+ connections = instance.getConnections()
+ print connections
+ if connections:
+ for link in connections:
+ dic = {"refLocalId":link.getRefLocalId(),"points":link.getPoints(),"formalParameter":link.getFormalParameter()}
+ infos["connectors"]["connection"]["links"].append(dic)
+ infos["condition"] = None
+ else:
+ infos["condition"] = condition["value"]
elif isinstance(instance, (plcopen.selectionDivergence, plcopen.simultaneousDivergence)):
if isinstance(instance, plcopen.selectionDivergence):
infos["type"] = "selectionDivergence"
@@ -1743,7 +1754,7 @@
def SetCurrentElementEditingTransitionInfos(self, id, infos):
transition = self.GetCurrentElementEditing().getInstance(id)
for param, value in infos.items():
- if param == "type" and "condition" in infos:
+ if param == "type" and infos.get("condition", None):
transition.setConditionContent(value, infos["condition"])
elif param == "height":
transition.setHeight(value)
@@ -1763,6 +1774,9 @@
position = output_connector.GetRelPosition()
transition.addConnectionPointOut()
transition.connectionPointOut.setRelPosition(position.x, position.y)
+ if infos.get("type", None) == "connection":
+ connection_connector = value["connection"]
+ self.SetConnectionWires(transition, connection_connector)
def AddCurrentElementEditingDivergence(self, id, type):
if type == SELECTION_DIVERGENCE: