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() |