LDViewer.py
changeset 67 3a1b0afdaf84
parent 64 dd6f693e46a1
child 80 c798a68c5560
equal deleted inserted replaced
66:fd138fc77510 67:3a1b0afdaf84
   177     def RefreshView(self):
   177     def RefreshView(self):
   178         Viewer.RefreshView(self)
   178         Viewer.RefreshView(self)
   179         for i, rung in enumerate(self.Rungs):
   179         for i, rung in enumerate(self.Rungs):
   180             bbox = rung.GetBoundingBox()
   180             bbox = rung.GetBoundingBox()
   181             if i < len(self.RungComments):
   181             if i < len(self.RungComments):
   182                 pos = self.RungComments[i].GetPosition()
   182                 if self.RungComments[i]:
   183                 if pos[1] > bbox.y:
   183                     pos = self.RungComments[i].GetPosition()
   184                     self.RungComments.insert(i, None)
   184                     if pos[1] > bbox.y:
       
   185                         self.RungComments.insert(i, None)
   185             else:
   186             else:
   186                 self.RungComments.insert(i, None)
   187                 self.RungComments.insert(i, None)
   187     
   188     
   188     def loadInstance(self, instance, ids):
   189     def loadInstance(self, instance, ids):
   189         Viewer.loadInstance(self, instance, ids)
   190         Viewer.loadInstance(self, instance, ids)
   205             element = self.FindElementById(instance["id"])
   206             element = self.FindElementById(instance["id"])
   206             self.Rungs[rungs[0]].SelectElement(element)
   207             self.Rungs[rungs[0]].SelectElement(element)
   207             for connector in element.GetConnectors():
   208             for connector in element.GetConnectors():
   208                 for wire, num in connector.GetWires():
   209                 for wire, num in connector.GetWires():
   209                     self.Rungs[rungs[0]].SelectElement(wire)
   210                     self.Rungs[rungs[0]].SelectElement(wire)
   210             self.RefreshPosition(element)
   211             if self.GetDrawingMode() != FREEDRAWING_MODE:
       
   212                 self.RefreshPosition(element)
   211         elif instance["type"] in ["contact", "coil"]:
   213         elif instance["type"] in ["contact", "coil"]:
   212             rungs = []
   214             rungs = []
   213             for link in instance["connectors"]["input"]["links"]:
   215             for link in instance["connectors"]["input"]["links"]:
   214                 connected = self.FindElementById(link["refLocalId"])
   216                 connected = self.FindElementById(link["refLocalId"])
   215                 rung = self.FindRung(connected)
   217                 rung = self.FindRung(connected)
   219                 raise "ValueError", "Ladder element with id %d is on more than one rung."%instance["id"]
   221                 raise "ValueError", "Ladder element with id %d is on more than one rung."%instance["id"]
   220             element = self.FindElementById(instance["id"])
   222             element = self.FindElementById(instance["id"])
   221             self.Rungs[rungs[0]].SelectElement(element)
   223             self.Rungs[rungs[0]].SelectElement(element)
   222             for wire, num in element.GetConnectors()["input"].GetWires():
   224             for wire, num in element.GetConnectors()["input"].GetWires():
   223                 self.Rungs[rungs[0]].SelectElement(wire)
   225                 self.Rungs[rungs[0]].SelectElement(wire)
   224             self.RefreshPosition(element)
   226             if self.GetDrawingMode() != FREEDRAWING_MODE:
       
   227                 self.RefreshPosition(element)
   225         elif instance["type"] == "comment":
   228         elif instance["type"] == "comment":
   226             element = self.FindElementById(instance["id"])
   229             element = self.FindElementById(instance["id"])
   227             pos = element.GetPosition()
   230             pos = element.GetPosition()
   228             i = 0
   231             i = 0
   229             inserted = False
   232             inserted = False