| 69 | return menuItem |
| 70 | |
| 71 | def getSubMenu(self, callingWindow, context, rootMenu, i, pitem): |
| 72 | self.idmap = {} |
| 73 | data = self.getData() |
| 74 | msw = "wxMSW" in wx.PlatformInfo |
| 75 | |
| 76 | def makeMenu(data, parentMenu): |
| 77 | menu = wx.Menu() |
| 78 | for group_name in data.groups: |
| 79 | menuItem = self._addGroup(rootMenu if msw else parentMenu, group_name) |
| 80 | subMenu = makeMenu(data.groups[group_name], menu) |
| 81 | menuItem.SetSubMenu(subMenu) |
| 82 | menu.Append(menuItem) |
| 83 | for entry in data.items: |
| 84 | menuItem = self._addEffect(rootMenu if msw else parentMenu, entry.itemID, entry.shortName) |
| 85 | menu.Append(menuItem) |
| 86 | menu.Bind(wx.EVT_MENU, self.handleSelection) |
| 87 | return menu |
| 88 | |
| 89 | sub = makeMenu(data, rootMenu) |
| 90 | return sub |
| 91 | |
| 92 | def handleSelection(self, event): |
| 93 | # Skip events ids that aren't mapped |