editors/Viewer.py
changeset 1249 b956c924cbbd
parent 1248 2f08985625c0
child 1250 7e6de17c687a
equal deleted inserted replaced
1248:2f08985625c0 1249:b956c924cbbd
  2319             self.RefreshVisibleElements()
  2319             self.RefreshVisibleElements()
  2320             coil.Refresh()
  2320             coil.Refresh()
  2321         dialog.Destroy()
  2321         dialog.Destroy()
  2322 
  2322 
  2323     def AddNewPowerRail(self, bbox):
  2323     def AddNewPowerRail(self, bbox):
  2324         dialog = LDPowerRailDialog(self.ParentWindow, self.Controler)
  2324         dialog = LDPowerRailDialog(self.ParentWindow, self.Controler, self.TagName)
  2325         dialog.SetPreviewFont(self.GetFont())
  2325         dialog.SetPreviewFont(self.GetFont())
  2326         dialog.SetMinSize((bbox.width, bbox.height))
  2326         dialog.SetMinElementSize((bbox.width, bbox.height))
  2327         if dialog.ShowModal() == wx.ID_OK:
  2327         if dialog.ShowModal() == wx.ID_OK:
  2328             id = self.GetNewId()
  2328             id = self.GetNewId()
  2329             values = dialog.GetValues()
  2329             values = dialog.GetValues()
  2330             powerrail = LD_PowerRail(self, values["type"], id, values["number"])
  2330             powerrail = LD_PowerRail(self, values["type"], id, values["pin_number"])
  2331             powerrail.SetPosition(bbox.x, bbox.y)
  2331             powerrail.SetPosition(bbox.x, bbox.y)
  2332             powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2332             powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2333             self.AddBlock(powerrail)
  2333             self.AddBlock(powerrail)
  2334             self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"])
  2334             self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"])
  2335             self.RefreshPowerRailModel(powerrail)
  2335             self.RefreshPowerRailModel(powerrail)
  2597             self.RefreshVisibleElements()
  2597             self.RefreshVisibleElements()
  2598             coil.Refresh(rect)
  2598             coil.Refresh(rect)
  2599         dialog.Destroy()
  2599         dialog.Destroy()
  2600 
  2600 
  2601     def EditPowerRailContent(self, powerrail):
  2601     def EditPowerRailContent(self, powerrail):
  2602         connectors = powerrail.GetConnectors()
  2602         dialog = LDPowerRailDialog(self.ParentWindow, self.Controler, self.TagName)
  2603         type = powerrail.GetType()
       
  2604         if type == LEFTRAIL:
       
  2605             pin_number = len(connectors["outputs"])
       
  2606         else:
       
  2607             pin_number = len(connectors["inputs"])
       
  2608         dialog = LDPowerRailDialog(self.ParentWindow, self.Controler, type, pin_number)
       
  2609         dialog.SetPreviewFont(self.GetFont())
  2603         dialog.SetPreviewFont(self.GetFont())
  2610         dialog.SetMinSize(powerrail.GetSize())
  2604         dialog.SetMinElementSize(powerrail.GetSize())
       
  2605         powerrail_type = powerrail.GetType()
       
  2606         dialog.SetValues({
       
  2607             "type": powerrail.GetType(),
       
  2608             "pin_number": len(powerrail.GetConnectors()[
       
  2609                     ("outputs" if powerrail_type == LEFTRAIL else "inputs")])})
  2611         if dialog.ShowModal() == wx.ID_OK:
  2610         if dialog.ShowModal() == wx.ID_OK:
  2612             old_type = powerrail.GetType()
       
  2613             values = dialog.GetValues()
  2611             values = dialog.GetValues()
  2614             rect = powerrail.GetRedrawRect(1, 1)
  2612             rect = powerrail.GetRedrawRect(1, 1)
  2615             powerrail.SetType(values["type"], values["number"])
  2613             powerrail.SetType(values["type"], values["pin_number"])
  2616             powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2614             powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"]))
  2617             rect = rect.Union(powerrail.GetRedrawRect())
  2615             rect = rect.Union(powerrail.GetRedrawRect())
  2618             if old_type != values["type"]:
  2616             if powerrail_type != values["type"]:
  2619                 id = powerrail.GetId()
  2617                 id = powerrail.GetId()
  2620                 self.Controler.RemoveEditedElementInstance(self.TagName, id)
  2618                 self.Controler.RemoveEditedElementInstance(self.TagName, id)
  2621                 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"])
  2619                 self.Controler.AddEditedElementPowerRail(self.TagName, id, values["type"])
  2622             self.RefreshPowerRailModel(powerrail)
  2620             self.RefreshPowerRailModel(powerrail)
  2623             self.RefreshBuffer()
  2621             self.RefreshBuffer()