# HG changeset patch # User Laurent Bessard # Date 1368565167 -7200 # Node ID 5069a28486b94db409f48b1d1a08c3a70501ecee # Parent 80a91fc915955bbb2ded70420f8e07d3d5e73756 Fixed bug connection disappear when removing variable from interface of an already used POU diff -r 80a91fc91595 -r 5069a28486b9 editors/Viewer.py --- a/editors/Viewer.py Tue May 14 22:31:14 2013 +0200 +++ b/editors/Viewer.py Tue May 14 22:59:27 2013 +0200 @@ -1241,37 +1241,39 @@ element.SetPosition(instance["x"], instance["y"]) element.SetSize(instance["width"], instance["height"]) for i, output_connector in enumerate(instance["outputs"]): - if i < len(connectors["outputs"]): - if isinstance(element, FBD_Block): - connector = element.GetConnector( - wx.Point(*output_connector["position"]), - output_name = output_connector["name"]) - else: - connector = connectors["outputs"][i] - if connector is not None: - if output_connector.get("negated", False): - connector.SetNegated(True) - if output_connector.get("edge", "none") != "none": - connector.SetEdge(output_connector["edge"]) - if connectors["outputs"].index(connector) == i: - connector.SetPosition(wx.Point(*output_connector["position"])) + if isinstance(element, FBD_Block): + connector = element.GetConnector( + wx.Point(*output_connector["position"]), + output_name = output_connector["name"]) + elif i < len(connectors["outputs"]): + connector = connectors["outputs"][i] + else: + connector = None + if connector is not None: + if output_connector.get("negated", False): + connector.SetNegated(True) + if output_connector.get("edge", "none") != "none": + connector.SetEdge(output_connector["edge"]) + if connectors["outputs"].index(connector) == i: + connector.SetPosition(wx.Point(*output_connector["position"])) for i, input_connector in enumerate(instance["inputs"]): - if i < len(connectors["inputs"]): - if isinstance(element, FBD_Block): - connector = element.GetConnector( - wx.Point(*input_connector["position"]), - input_name = input_connector["name"]) - else: - connector = connectors["inputs"][i] - if connector is not None: - if connectors["inputs"].index(connector) == i: - connector.SetPosition(wx.Point(*input_connector["position"])) - if input_connector.get("negated", False): - connector.SetNegated(True) - if input_connector.get("edge", "none") != "none": - connector.SetEdge(input_connector["edge"]) - if not self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection): - element.RefreshModel() + if isinstance(element, FBD_Block): + connector = element.GetConnector( + wx.Point(*input_connector["position"]), + input_name = input_connector["name"]) + elif i < len(connectors["inputs"]): + connector = connectors["inputs"][i] + else: + connector = None + if connector is not None: + if connectors["inputs"].index(connector) == i: + connector.SetPosition(wx.Point(*input_connector["position"])) + if input_connector.get("negated", False): + connector.SetNegated(True) + if input_connector.get("edge", "none") != "none": + connector.SetEdge(input_connector["edge"]) + if not self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection): + element.RefreshModel() element.RefreshConnectors() if selection is not None and selection[0].get(instance["id"], False): self.SelectInGroup(element)