editors/Viewer.py
changeset 2579 8fb5c6eddc72
parent 2568 c73fd7467669
child 2639 62b5f7b909a9
equal deleted inserted replaced
2578:eed31489c909 2579:8fb5c6eddc72
   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