editors/Viewer.py
branchwx.NewID_abuse_fix
changeset 2557 a6e7c34497b8
parent 2556 f07d389772fd
child 2565 b5ce86166880
child 2567 eb9392511989
equal deleted inserted replaced
2556:f07d389772fd 2557:a6e7c34497b8
   544                 id, kind, text, help, callback = item
   544                 id, kind, text, help, callback = item
   545                 AppendMenu(menu, help=help, id=id, kind=kind, text=text)
   545                 AppendMenu(menu, help=help, id=id, kind=kind, text=text)
   546                 # Link menu event to corresponding called functions
   546                 # Link menu event to corresponding called functions
   547                 self.Bind(wx.EVT_MENU, callback, id=id)
   547                 self.Bind(wx.EVT_MENU, callback, id=id)
   548 
   548 
       
   549     def AppendItem(self, menu, text, callback, *args, **kwargs):
       
   550         item = menu.Append(wx.ID_ANY, text, *args, **kwargs)
       
   551         self.Bind(wx.EVT_MENU, callback, item)
       
   552         return item
       
   553 
   549     # Add Block Pin Menu items to the given menu
   554     # Add Block Pin Menu items to the given menu
   550     def AddBlockPinMenuItems(self, menu, connector):
   555     def AddBlockPinMenuItems(self, menu, connector):
   551         # Create menu items
   556         # Create menu items
   552         no_modifier = menu.Append(wx.ID_ANY,  _(u'No modifier'), kind=wx.ITEM_RADIO)
   557         no_modifier = self.AppendItem(menu,  _(u'No modifier'), self.OnNoModifierMenu, kind=wx.ITEM_RADIO)
   553         self.Bind(wx.EVT_MENU, self.OnNoModifierMenu, no_modifier)
   558         negated = self.AppendItem(menu,  _(u'Negated'), self.OnNegatedMenu, kind=wx.ITEM_RADIO)
   554         negated = menu.Append(wx.ID_ANY,  _(u'Negated'), kind=wx.ITEM_RADIO)
   559         rising_edge = self.AppendItem(menu,  _(u'Rising Edge'), self.OnRisingEdgeMenu, kind=wx.ITEM_RADIO)
   555         self.Bind(wx.EVT_MENU, self.OnNegatedMenu, negated)
   560         falling_edge = self.AppendItem(menu,  _(u'Falling Edge'), self.OnFallingEdgeMenu, kind=wx.ITEM_RADIO)
   556         rising_edge = menu.Append(wx.ID_ANY,  _(u'Rising Edge'), kind=wx.ITEM_RADIO)
       
   557         self.Bind(wx.EVT_MENU, self.OnRisingEdgeMenu, rising_edge)
       
   558         falling_edge = menu.Append(wx.ID_ANY,  _(u'Falling Edge'), kind=wx.ITEM_RADIO)
       
   559         self.Bind(wx.EVT_MENU, self.OnFallingEdgeMenu, falling_edge)
       
   560 
   561 
   561         not_a_function = self.Controler.GetEditedElementType(
   562         not_a_function = self.Controler.GetEditedElementType(
   562             self.TagName, self.Debug) != "function"
   563             self.TagName, self.Debug) != "function"
   563         rising_edge.Enable(not_a_function)
   564         rising_edge.Enable(not_a_function)
   564         falling_edge.Enable(not_a_function)
   565         falling_edge.Enable(not_a_function)
   572         else:
   573         else:
   573             no_modifier.Check(True)
   574             no_modifier.Check(True)
   574 
   575 
   575     # Add Alignment Menu items to the given menu
   576     # Add Alignment Menu items to the given menu
   576     def AddAlignmentMenuItems(self, menu):
   577     def AddAlignmentMenuItems(self, menu):
   577         [
       
   578             ID_ALIGN_LEFT, ID_ALIGN_CENTER, ID_ALIGN_RIGHT,
       
   579             ID_ALIGN_TOP, ID_ALIGN_MIDDLE, ID_ALIGN_BOTTOM,
       
   580         ] = [wx.NewId() for dummy in xrange(6)]
       
   581 
       
   582         # Create menu items
   578         # Create menu items
   583         self.AddMenuItems(menu, [
   579         self.AppendItem(menu, _(u'Left'), self.OnAlignLeftMenu)
   584             (ID_ALIGN_LEFT, wx.ITEM_NORMAL, _(u'Left'), '', self.OnAlignLeftMenu),
   580         self.AppendItem(menu, _(u'Center'), self.OnAlignCenterMenu)
   585             (ID_ALIGN_CENTER, wx.ITEM_NORMAL, _(u'Center'), '', self.OnAlignCenterMenu),
   581         self.AppendItem(menu, _(u'Right'), self.OnAlignRightMenu)
   586             (ID_ALIGN_RIGHT, wx.ITEM_NORMAL, _(u'Right'), '', self.OnAlignRightMenu),
   582         menu.AppendSeparator()
   587             None,
   583         self.AppendItem(menu, _(u'Top'), self.OnAlignTopMenu)
   588             (ID_ALIGN_TOP, wx.ITEM_NORMAL, _(u'Top'), '', self.OnAlignTopMenu),
   584         self.AppendItem(menu, _(u'Middle'), self.OnAlignMiddleMenu)
   589             (ID_ALIGN_MIDDLE, wx.ITEM_NORMAL, _(u'Middle'), '', self.OnAlignMiddleMenu),
   585         self.AppendItem(menu, _(u'Bottom'), self.OnAlignBottomMenu)
   590             (ID_ALIGN_BOTTOM, wx.ITEM_NORMAL, _(u'Bottom'), '', self.OnAlignBottomMenu)])
       
   591 
   586 
   592     # Add Wire Menu items to the given menu
   587     # Add Wire Menu items to the given menu
   593     def AddWireMenuItems(self, menu, delete=False, replace=False):
   588     def AddWireMenuItems(self, menu, delete=False, replace=False):
   594         [
   589         [
   595             ID_ADD_SEGMENT, ID_DELETE_SEGMENT, ID_REPLACE_WIRE,
   590             ID_ADD_SEGMENT, ID_DELETE_SEGMENT, ID_REPLACE_WIRE,