593 delete_segment.Enable(delete) |
593 delete_segment.Enable(delete) |
594 replace_wire.Enable(replace) |
594 replace_wire.Enable(replace) |
595 |
595 |
596 # Add Divergence Menu items to the given menu |
596 # Add Divergence Menu items to the given menu |
597 def AddDivergenceMenuItems(self, menu, delete=False): |
597 def AddDivergenceMenuItems(self, menu, delete=False): |
598 add_branch = self.AppendItem(menu, _(u'Add Divergence Branch'), |
598 self.AppendItem(menu, _(u'Add Divergence Branch'), |
599 self.OnAddBranchMenu) |
599 self.OnAddBranchMenu) |
600 delete_branch = self.AppendItem(menu, _(u'Delete Divergence Branch'), |
600 delete_branch = self.AppendItem(menu, _(u'Delete Divergence Branch'), |
601 self.OnDeleteBranchMenu) |
601 self.OnDeleteBranchMenu) |
602 |
602 |
603 delete_branch.Enable(delete) |
603 delete_branch.Enable(delete) |
604 |
604 |
638 self.AppendItem(menu, (u'Jump'), |
638 self.AppendItem(menu, (u'Jump'), |
639 self.GetAddMenuCallBack(self.AddNewJump)) |
639 self.GetAddMenuCallBack(self.AddNewJump)) |
640 menu.AppendSeparator() |
640 menu.AppendSeparator() |
641 |
641 |
642 self.AppendItem(menu, _(u'Comment'), |
642 self.AppendItem(menu, _(u'Comment'), |
643 self.GetAddMenuCallBack(self.AddNewComment)) |
643 self.GetAddMenuCallBack(self.AddNewComment)) |
644 |
644 |
645 # Add Default Menu items to the given menu |
645 # Add Default Menu items to the given menu |
646 def AddDefaultMenuItems(self, menu, edit=False, block=False): |
646 def AddDefaultMenuItems(self, menu, edit=False, block=False): |
647 if block: |
647 if block: |
648 edit_block = self.AppendItem(menu, _(u'Edit Block'), |
648 edit_block = self.AppendItem(menu, _(u'Edit Block'), |
665 self.AddAddMenuItems(add_menu) |
665 self.AddAddMenuItems(add_menu) |
666 menu.AppendMenu(-1, _(u'Add'), add_menu) |
666 menu.AppendMenu(-1, _(u'Add'), add_menu) |
667 |
667 |
668 menu.AppendSeparator() |
668 menu.AppendSeparator() |
669 |
669 |
670 cut = self.AppendItem(menu, _(u'Cut'), self.GetClipboardCallBack(self.Cut)) |
670 cut = self.AppendItem(menu, _(u'Cut'), self.GetClipboardCallBack(self.Cut)) |
671 copy = self.AppendItem(menu, _(u'Copy'), self.GetClipboardCallBack(self.Copy)) |
671 copy = self.AppendItem(menu, _(u'Copy'), self.GetClipboardCallBack(self.Copy)) |
672 paste = self.AppendItem(menu, _(u'Paste'), self.GetAddMenuCallBack(self.Paste)) |
672 paste = self.AppendItem(menu, _(u'Paste'), self.GetAddMenuCallBack(self.Paste)) |
673 |
673 |
674 cut.Enable(block) |
674 cut.Enable(block) |
675 copy.Enable(block) |
675 copy.Enable(block) |
676 paste.Enable(self.ParentWindow.GetCopyBuffer() is not None) |
676 paste.Enable(self.ParentWindow.GetCopyBuffer() is not None) |
1629 menu.Destroy() |
1629 menu.Destroy() |
1630 |
1630 |
1631 def PopupVariableMenu(self): |
1631 def PopupVariableMenu(self): |
1632 menu = wx.Menu(title='') |
1632 menu = wx.Menu(title='') |
1633 variable_type = self.SelectedElement.GetType() |
1633 variable_type = self.SelectedElement.GetType() |
1634 for type_label, type in [(_("Input"), INPUT), |
1634 for type_label, vtype in [(_("Input"), INPUT), |
1635 (_("Output"), OUTPUT), |
1635 (_("Output"), OUTPUT), |
1636 (_("InOut"), INOUT)]: |
1636 (_("InOut"), INOUT)]: |
1637 item = self.AppendItem(menu, type_label, |
1637 item = self.AppendItem(menu, type_label, |
1638 self.GetChangeVariableTypeMenuFunction(type), |
1638 self.GetChangeVariableTypeMenuFunction(vtype), |
1639 kind=wx.ITEM_RADIO) |
1639 kind=wx.ITEM_RADIO) |
1640 if type == variable_type: |
1640 if vtype == variable_type: |
1641 item.Check(True) |
1641 item.Check(True) |
1642 menu.AppendSeparator() |
1642 menu.AppendSeparator() |
1643 self.AddDefaultMenuItems(menu, block=True) |
1643 self.AddDefaultMenuItems(menu, block=True) |
1644 self.Editor.PopupMenu(menu) |
1644 self.Editor.PopupMenu(menu) |
1645 menu.Destroy() |
1645 menu.Destroy() |
1646 |
1646 |
1647 def PopupConnectionMenu(self): |
1647 def PopupConnectionMenu(self): |
1648 menu = wx.Menu(title='') |
1648 menu = wx.Menu(title='') |
1649 connection_type = self.SelectedElement.GetType() |
1649 connection_type = self.SelectedElement.GetType() |
1650 for type_label, type in [(_("Connector"), CONNECTOR), |
1650 for type_label, ctype in [(_("Connector"), CONNECTOR), |
1651 (_("Continuation"), CONTINUATION)]: |
1651 (_("Continuation"), CONTINUATION)]: |
1652 item = self.AppendItem(menu, type_label, |
1652 item = self.AppendItem(menu, type_label, |
1653 self.GetChangeConnectionTypeMenuFunction(type), |
1653 self.GetChangeConnectionTypeMenuFunction(ctype), |
1654 kind=wx.ITEM_RADIO) |
1654 kind=wx.ITEM_RADIO) |
1655 if type == variable_type: |
1655 if ctype == connection_type: |
1656 item.Check(True) |
1656 item.Check(True) |
1657 menu.AppendSeparator() |
1657 menu.AppendSeparator() |
1658 self.AddDefaultMenuItems(menu, block=True) |
1658 self.AddDefaultMenuItems(menu, block=True) |
1659 self.Editor.PopupMenu(menu) |
1659 self.Editor.PopupMenu(menu) |
1660 menu.Destroy() |
1660 menu.Destroy() |
2133 if self.Editor.HasCapture(): |
2133 if self.Editor.HasCapture(): |
2134 self.Editor.ReleaseMouse() |
2134 self.Editor.ReleaseMouse() |
2135 |
2135 |
2136 # Popup contextual menu |
2136 # Popup contextual menu |
2137 menu = wx.Menu() |
2137 menu = wx.Menu() |
2138 for text, callback in items : |
2138 for text, callback in items: |
2139 self.AppendItem(menu, text, callback) |
2139 self.AppendItem(menu, text, callback) |
2140 self.PopupMenu(menu) |
2140 self.PopupMenu(menu) |
2141 |
2141 |
2142 self.SelectedElement.StartConnected.HighlightParentBlock(False) |
2142 self.SelectedElement.StartConnected.HighlightParentBlock(False) |
2143 if self.DrawingWire: |
2143 if self.DrawingWire: |
2144 self.DrawingWire = False |
2144 self.DrawingWire = False |