1234 if isinstance(element, Comment): |
1234 if isinstance(element, Comment): |
1235 self.AddComment(element) |
1235 self.AddComment(element) |
1236 else: |
1236 else: |
1237 self.AddBlock(element) |
1237 self.AddBlock(element) |
1238 connectors = element.GetConnectors() |
1238 connectors = element.GetConnectors() |
|
1239 element.SetPosition(instance["x"], instance["y"]) |
1239 if isinstance(element, SFC_Divergence): |
1240 if isinstance(element, SFC_Divergence): |
1240 element.SetPosition(instance["x"], instance["y"]) |
|
1241 element.SetSize(instance["width"], instance["height"]) |
1241 element.SetSize(instance["width"], instance["height"]) |
|
1242 for i, output_connector in enumerate(instance["outputs"]): |
|
1243 if i < len(connectors["outputs"]): |
|
1244 connector = connectors["outputs"][i] |
|
1245 if output_connector.get("negated", False): |
|
1246 connector.SetNegated(True) |
|
1247 if output_connector.get("edge", "none") != "none": |
|
1248 connector.SetEdge(output_connector["edge"]) |
|
1249 connector.SetPosition(wx.Point(*output_connector["position"])) |
1242 for i, input_connector in enumerate(instance["inputs"]): |
1250 for i, input_connector in enumerate(instance["inputs"]): |
1243 if i < len(connectors["inputs"]): |
1251 if i < len(connectors["inputs"]): |
1244 connector = connectors["inputs"][i] |
1252 connector = connectors["inputs"][i] |
1245 connector.SetPosition(wx.Point(*input_connector["position"])) |
1253 connector.SetPosition(wx.Point(*input_connector["position"])) |
1246 if input_connector.get("negated", False): |
1254 if input_connector.get("negated", False): |
1247 connector.SetNegated(True) |
1255 connector.SetNegated(True) |
1248 if input_connector.get("edge", "none") != "none": |
1256 if input_connector.get("edge", "none") != "none": |
1249 connector.SetEdge(input_connector["edge"]) |
1257 connector.SetEdge(input_connector["edge"]) |
1250 self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection) |
1258 self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection) |
1251 for i, output_connector in enumerate(instance["outputs"]): |
|
1252 if i < len(connectors["outputs"]): |
|
1253 connector = connectors["outputs"][i] |
|
1254 if output_connector.get("negated", False): |
|
1255 connector.SetNegated(True) |
|
1256 if output_connector.get("edge", "none") != "none": |
|
1257 connector.SetEdge(output_connector["edge"]) |
|
1258 connector.SetPosition(wx.Point(*output_connector["position"])) |
|
1259 if not isinstance(element, SFC_Divergence): |
1259 if not isinstance(element, SFC_Divergence): |
1260 element.SetPosition(instance["x"], instance["y"]) |
|
1261 element.SetSize(instance["width"], instance["height"]) |
1260 element.SetSize(instance["width"], instance["height"]) |
1262 if selection is not None and selection[0].get(instance["id"], False): |
1261 if selection is not None and selection[0].get(instance["id"], False): |
1263 self.SelectInGroup(element) |
1262 self.SelectInGroup(element) |
1264 |
1263 |
1265 def CreateWires(self, start_connector, id, links, ids, selection=None): |
1264 def CreateWires(self, start_connector, id, links, ids, selection=None): |