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 # Add Block Pin Menu items to the given menu |
549 # Add Block Pin Menu items to the given menu |
550 def AddBlockPinMenuItems(self, menu, connector): |
550 def AddBlockPinMenuItems(self, menu, connector): |
551 [ID_NO_MODIFIER, ID_NEGATED, ID_RISING_EDGE, |
|
552 ID_FALLING_EDGE] = [wx.NewId() for dummy in xrange(4)] |
|
553 |
|
554 # Create menu items |
551 # Create menu items |
555 self.AddMenuItems(menu, [ |
552 no_modifier = menu.Append(wx.ID_ANY, _(u'No modifier'), kind=wx.ITEM_RADIO) |
556 (ID_NO_MODIFIER, wx.ITEM_RADIO, _(u'No Modifier'), '', self.OnNoModifierMenu), |
553 self.Bind(wx.EVT_MENU, self.OnNoModifierMenu, no_modifier) |
557 (ID_NEGATED, wx.ITEM_RADIO, _(u'Negated'), '', self.OnNegatedMenu), |
554 negated = menu.Append(wx.ID_ANY, _(u'Negated'), kind=wx.ITEM_RADIO) |
558 (ID_RISING_EDGE, wx.ITEM_RADIO, _(u'Rising Edge'), '', self.OnRisingEdgeMenu), |
555 self.Bind(wx.EVT_MENU, self.OnNegatedMenu, negated) |
559 (ID_FALLING_EDGE, wx.ITEM_RADIO, _(u'Falling Edge'), '', self.OnFallingEdgeMenu)]) |
556 rising_edge = menu.Append(wx.ID_ANY, _(u'Rising Edge'), kind=wx.ITEM_RADIO) |
560 |
557 self.Bind(wx.EVT_MENU, self.OnRisingEdgeMenu, rising_edge) |
561 type = self.Controler.GetEditedElementType(self.TagName, self.Debug) |
558 falling_edge = menu.Append(wx.ID_ANY, _(u'Falling Edge'), kind=wx.ITEM_RADIO) |
562 menu.Enable(ID_RISING_EDGE, type != "function") |
559 self.Bind(wx.EVT_MENU, self.OnFallingEdgeMenu, falling_edge) |
563 menu.Enable(ID_FALLING_EDGE, type != "function") |
560 |
|
561 not_a_function = self.Controler.GetEditedElementType( |
|
562 self.TagName, self.Debug) != "function" |
|
563 rising_edge.Enable(not_a_function) |
|
564 falling_edge.Enable(not_a_function) |
564 |
565 |
565 if connector.IsNegated(): |
566 if connector.IsNegated(): |
566 menu.Check(ID_NEGATED, True) |
567 negated.Check(True) |
567 elif connector.GetEdge() == "rising": |
568 elif connector.GetEdge() == "rising": |
568 menu.Check(ID_RISING_EDGE, True) |
569 rising_edge.Check(True) |
569 elif connector.GetEdge() == "falling": |
570 elif connector.GetEdge() == "falling": |
570 menu.Check(ID_FALLING_EDGE, True) |
571 falling_edge.Check(True) |
571 else: |
572 else: |
572 menu.Check(ID_NO_MODIFIER, True) |
573 no_modifier.Check(True) |
573 |
574 |
574 # Add Alignment Menu items to the given menu |
575 # Add Alignment Menu items to the given menu |
575 def AddAlignmentMenuItems(self, menu): |
576 def AddAlignmentMenuItems(self, menu): |
576 [ |
577 [ |
577 ID_ALIGN_LEFT, ID_ALIGN_CENTER, ID_ALIGN_RIGHT, |
578 ID_ALIGN_LEFT, ID_ALIGN_CENTER, ID_ALIGN_RIGHT, |