MCPcopy Create free account
hub / github.com/pyfa-org/Pyfa / getSubMenu

Method getSubMenu

gui/builtinContextMenus/implantSetApply.py:53–96  ·  view source on GitHub ↗
(self, callingWindow, context, rootMenu, i, pitem)

Source from the content-addressed store, hash-verified

51 return pos, item
52
53 def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):
54 msw = "wxMSW" in wx.PlatformInfo
55 menu_lvl1 = wx.Menu()
56
57 self.context = context
58 self.callingWindow = callingWindow
59
60 self.eventSetMap = {}
61
62 # Auto-generated sets
63 for setName in sorted(self.structedImplantSets):
64 setData = self.structedImplantSets[setName]
65 if len(setData) == 1:
66 for implantIDs in setData.values():
67 menuitem_lvl1 = self._addSet(rootMenu, implantIDs, setName)
68 menu_lvl1.Append(menuitem_lvl1)
69 else:
70 menuitem_lvl1 = self._addCategory(rootMenu, setName)
71 menu_lvl2 = wx.Menu()
72 for gradeName in sorted(setData, key=self._gradeSorter):
73 implantIDs = setData[gradeName]
74 menuitem_lvl2 = self._addSet(rootMenu if msw else menu_lvl1, implantIDs, gradeName)
75 menu_lvl2.Append(menuitem_lvl2)
76 menu_lvl2.Bind(wx.EVT_MENU, self.handleSelection)
77 menuitem_lvl1.SetSubMenu(menu_lvl2)
78 menu_lvl1.Append(menuitem_lvl1)
79
80 # Separator
81 if self.userImplantSets and self.structedImplantSets:
82 menu_lvl1.AppendSeparator()
83
84 # Saved sets
85 if self.userImplantSets:
86 menuitem_lvl1 = self._addCategory(rootMenu, 'Saved Sets')
87 menu_lvl2 = wx.Menu()
88 for implantSet in sorted(self.userImplantSets, key=lambda i: i.name):
89 menuitem_lvl2 = self._addSet(rootMenu if msw else menu_lvl1, implantSet, implantSet.name)
90 menu_lvl2.Append(menuitem_lvl2)
91 menu_lvl2.Bind(wx.EVT_MENU, self.handleSelection)
92 menuitem_lvl1.SetSubMenu(menu_lvl2)
93 menu_lvl1.Append(menuitem_lvl1)
94
95 menu_lvl1.Bind(wx.EVT_MENU, self.handleSelection)
96 return menu_lvl1
97
98 def handleSelection(self, event):
99 impSet = self.eventSetMap.get(event.Id, None)

Callers

nothing calls this directly

Calls 3

_addSetMethod · 0.95
_addCategoryMethod · 0.95
valuesMethod · 0.80

Tested by

no test coverage detected