PLCControler.py
changeset 63 04a02b4b2a57
parent 62 1908c45f21ef
child 67 3a1b0afdaf84
equal deleted inserted replaced
62:1908c45f21ef 63:04a02b4b2a57
  1298                     infos["connectors"]["action"] = {"position" : instance.connectionPointOutAction.getRelPosition()}
  1298                     infos["connectors"]["action"] = {"position" : instance.connectionPointOutAction.getRelPosition()}
  1299             elif isinstance(instance, plcopen.transition):
  1299             elif isinstance(instance, plcopen.transition):
  1300                 infos["type"] = "transition"
  1300                 infos["type"] = "transition"
  1301                 condition = instance.getConditionContent()
  1301                 condition = instance.getConditionContent()
  1302                 infos["condition_type"] = condition["type"]
  1302                 infos["condition_type"] = condition["type"]
  1303                 infos["condition"] = condition["value"]
       
  1304                 infos["connectors"] = {"input":{},"output":{}}
  1303                 infos["connectors"] = {"input":{},"output":{}}
  1305                 infos["connectors"]["input"]["position"] = instance.connectionPointIn.getRelPosition()
  1304                 infos["connectors"]["input"]["position"] = instance.connectionPointIn.getRelPosition()
  1306                 infos["connectors"]["input"]["links"] = []
  1305                 infos["connectors"]["input"]["links"] = []
  1307                 connections = instance.connectionPointIn.getConnections()
  1306                 connections = instance.connectionPointIn.getConnections()
  1308                 if connections:
  1307                 if connections:
  1309                     for link in connections:
  1308                     for link in connections:
  1310                         dic = {"refLocalId":link.getRefLocalId(),"points":link.getPoints(),"formalParameter":link.getFormalParameter()}
  1309                         dic = {"refLocalId":link.getRefLocalId(),"points":link.getPoints(),"formalParameter":link.getFormalParameter()}
  1311                         infos["connectors"]["input"]["links"].append(dic)
  1310                         infos["connectors"]["input"]["links"].append(dic)
  1312                 infos["connectors"]["output"]["position"] = instance.connectionPointOut.getRelPosition()
  1311                 infos["connectors"]["output"]["position"] = instance.connectionPointOut.getRelPosition()
       
  1312                 if infos["condition_type"] == "connection":
       
  1313                     infos["connectors"]["connection"] = {}
       
  1314                     infos["connectors"]["connection"]["links"] = []
       
  1315                     connections = instance.getConnections()
       
  1316                     print connections
       
  1317                     if connections:
       
  1318                         for link in connections:
       
  1319                             dic = {"refLocalId":link.getRefLocalId(),"points":link.getPoints(),"formalParameter":link.getFormalParameter()}
       
  1320                             infos["connectors"]["connection"]["links"].append(dic)
       
  1321                     infos["condition"] = None
       
  1322                 else:
       
  1323                     infos["condition"] = condition["value"]
  1313             elif isinstance(instance, (plcopen.selectionDivergence, plcopen.simultaneousDivergence)):
  1324             elif isinstance(instance, (plcopen.selectionDivergence, plcopen.simultaneousDivergence)):
  1314                 if isinstance(instance, plcopen.selectionDivergence):
  1325                 if isinstance(instance, plcopen.selectionDivergence):
  1315                     infos["type"] = "selectionDivergence"
  1326                     infos["type"] = "selectionDivergence"
  1316                 else:
  1327                 else:
  1317                     infos["type"] = "simultaneousDivergence"
  1328                     infos["type"] = "simultaneousDivergence"
  1741         self.GetCurrentElementEditing().addInstance("transition", transition)
  1752         self.GetCurrentElementEditing().addInstance("transition", transition)
  1742     
  1753     
  1743     def SetCurrentElementEditingTransitionInfos(self, id, infos):
  1754     def SetCurrentElementEditingTransitionInfos(self, id, infos):
  1744         transition = self.GetCurrentElementEditing().getInstance(id)
  1755         transition = self.GetCurrentElementEditing().getInstance(id)
  1745         for param, value in infos.items():
  1756         for param, value in infos.items():
  1746             if param == "type" and "condition" in infos:
  1757             if param == "type" and infos.get("condition", None):
  1747                 transition.setConditionContent(value, infos["condition"])
  1758                 transition.setConditionContent(value, infos["condition"])
  1748             elif param == "height":
  1759             elif param == "height":
  1749                 transition.setHeight(value)
  1760                 transition.setHeight(value)
  1750             elif param == "width":
  1761             elif param == "width":
  1751                 transition.setWidth(value)
  1762                 transition.setWidth(value)
  1761                 self.SetConnectionWires(transition.connectionPointIn, input_connector)
  1772                 self.SetConnectionWires(transition.connectionPointIn, input_connector)
  1762                 output_connector = value["output"]
  1773                 output_connector = value["output"]
  1763                 position = output_connector.GetRelPosition()
  1774                 position = output_connector.GetRelPosition()
  1764                 transition.addConnectionPointOut()
  1775                 transition.addConnectionPointOut()
  1765                 transition.connectionPointOut.setRelPosition(position.x, position.y)
  1776                 transition.connectionPointOut.setRelPosition(position.x, position.y)
       
  1777                 if infos.get("type", None) == "connection":
       
  1778                     connection_connector = value["connection"]
       
  1779                     self.SetConnectionWires(transition, connection_connector)
  1766     
  1780     
  1767     def AddCurrentElementEditingDivergence(self, id, type):
  1781     def AddCurrentElementEditingDivergence(self, id, type):
  1768         if type == SELECTION_DIVERGENCE:
  1782         if type == SELECTION_DIVERGENCE:
  1769             name = "selectionDivergence"
  1783             name = "selectionDivergence"
  1770             divergence = plcopen.selectionDivergence()
  1784             divergence = plcopen.selectionDivergence()