editors/Viewer.py
changeset 1141 5069a28486b9
parent 1135 519a21ddbc40
child 1166 2ed9675be08d
equal deleted inserted replaced
1140:80a91fc91595 1141:5069a28486b9
  1239             self.AddBlock(element)
  1239             self.AddBlock(element)
  1240             connectors = element.GetConnectors()
  1240             connectors = element.GetConnectors()
  1241         element.SetPosition(instance["x"], instance["y"])
  1241         element.SetPosition(instance["x"], instance["y"])
  1242         element.SetSize(instance["width"], instance["height"])
  1242         element.SetSize(instance["width"], instance["height"])
  1243         for i, output_connector in enumerate(instance["outputs"]):
  1243         for i, output_connector in enumerate(instance["outputs"]):
  1244             if i < len(connectors["outputs"]):
  1244             if isinstance(element, FBD_Block):
  1245                 if isinstance(element, FBD_Block):
  1245                 connector = element.GetConnector(
  1246                     connector = element.GetConnector(
  1246                     wx.Point(*output_connector["position"]),
  1247                         wx.Point(*output_connector["position"]),
  1247                     output_name = output_connector["name"])
  1248                         output_name = output_connector["name"])
  1248             elif i < len(connectors["outputs"]):
  1249                 else:
  1249                 connector = connectors["outputs"][i]
  1250                     connector = connectors["outputs"][i]
  1250             else:
  1251                 if connector is not None:
  1251                 connector = None
  1252                     if output_connector.get("negated", False):
  1252             if connector is not None:
  1253                         connector.SetNegated(True)
  1253                 if output_connector.get("negated", False):
  1254                     if output_connector.get("edge", "none") != "none":
  1254                     connector.SetNegated(True)
  1255                         connector.SetEdge(output_connector["edge"])
  1255                 if output_connector.get("edge", "none") != "none":
  1256                     if connectors["outputs"].index(connector) == i:
  1256                     connector.SetEdge(output_connector["edge"])
  1257                         connector.SetPosition(wx.Point(*output_connector["position"]))
  1257                 if connectors["outputs"].index(connector) == i:
       
  1258                     connector.SetPosition(wx.Point(*output_connector["position"]))
  1258         for i, input_connector in enumerate(instance["inputs"]):
  1259         for i, input_connector in enumerate(instance["inputs"]):
  1259             if i < len(connectors["inputs"]):
  1260             if isinstance(element, FBD_Block):
  1260                 if isinstance(element, FBD_Block):
  1261                 connector = element.GetConnector(
  1261                     connector = element.GetConnector(
  1262                     wx.Point(*input_connector["position"]),
  1262                         wx.Point(*input_connector["position"]),
  1263                     input_name = input_connector["name"])
  1263                         input_name = input_connector["name"])
  1264             elif i < len(connectors["inputs"]):
  1264                 else:
  1265                 connector = connectors["inputs"][i]
  1265                     connector = connectors["inputs"][i]
  1266             else:
  1266                 if connector is not None:
  1267                 connector = None
  1267                     if connectors["inputs"].index(connector) == i:
  1268             if connector is not None:
  1268                         connector.SetPosition(wx.Point(*input_connector["position"]))
  1269                 if connectors["inputs"].index(connector) == i:
  1269                     if input_connector.get("negated", False):
  1270                     connector.SetPosition(wx.Point(*input_connector["position"]))
  1270                         connector.SetNegated(True)
  1271                 if input_connector.get("negated", False):
  1271                     if input_connector.get("edge", "none") != "none":
  1272                     connector.SetNegated(True)
  1272                         connector.SetEdge(input_connector["edge"])
  1273                 if input_connector.get("edge", "none") != "none":
  1273                     if not self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection):
  1274                     connector.SetEdge(input_connector["edge"])
  1274                         element.RefreshModel()
  1275                 if not self.CreateWires(connector, instance["id"], input_connector["links"], ids, selection):
       
  1276                     element.RefreshModel()
  1275         element.RefreshConnectors()
  1277         element.RefreshConnectors()
  1276         if selection is not None and selection[0].get(instance["id"], False):
  1278         if selection is not None and selection[0].get(instance["id"], False):
  1277             self.SelectInGroup(element)
  1279             self.SelectInGroup(element)
  1278 
  1280 
  1279     def CreateWires(self, start_connector, id, links, ids, selection=None):
  1281     def CreateWires(self, start_connector, id, links, ids, selection=None):