@@ -21,15 +21,15 @@ def sort(self):
2121 self .groups = OrderedDict ((k , self .groups [k ]) for k in sorted (self .groups ))
2222 for group in self .groups .values ():
2323 group .sort ()
24- self .items .sort (key = lambda e : e .short_name )
24+ self .items .sort (key = lambda e : e .shortName )
2525
2626
2727class Entry :
2828
29- def __init__ (self , item , name , short_name ):
30- self .item = item
29+ def __init__ (self , itemID , name , shortName ):
30+ self .itemID = itemID
3131 self .name = name
32- self .short_name = short_name
32+ self .shortName = shortName
3333
3434
3535
@@ -48,40 +48,40 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
4848
4949 def __init__ (self ):
5050 self .mainFrame = gui .mainFrame .MainFrame .getInstance ()
51- self .idmap = {}
5251
5352 def display (self , callingWindow , srcContext ):
5453 return srcContext == "projected"
5554
5655 def getText (self , callingWindow , itmContext ):
5756 return "Add Environmental Effect"
5857
58+ def _addGroup (self , parentMenu , name ):
59+ id = ContextMenuUnconditional .nextID ()
60+ menuItem = wx .MenuItem (parentMenu , id , name )
61+ parentMenu .Bind (wx .EVT_MENU , self .handleSelection , menuItem )
62+ return menuItem
63+
64+ def _addEffect (self , parentMenu , typeID , name ):
65+ id = ContextMenuUnconditional .nextID ()
66+ self .idmap [id ] = typeID
67+ menuItem = wx .MenuItem (parentMenu , id , name )
68+ parentMenu .Bind (wx .EVT_MENU , self .handleSelection , menuItem )
69+ return menuItem
70+
5971 def getSubMenu (self , callingWindow , context , rootMenu , i , pitem ):
72+ self .idmap = {}
6073 data = self .getData ()
6174 msw = "wxMSW" in wx .PlatformInfo
6275
63- def addGroup (parentMenu , name ):
64- id = ContextMenuUnconditional .nextID ()
65- menuItem = wx .MenuItem (parentMenu , id , name )
66- parentMenu .Bind (wx .EVT_MENU , self .handleSelection , menuItem )
67- return menuItem
68-
69- def addEffect (parentMenu , effect , name ):
70- id = ContextMenuUnconditional .nextID ()
71- self .idmap [id ] = effect
72- menuItem = wx .MenuItem (parentMenu , id , name )
73- parentMenu .Bind (wx .EVT_MENU , self .handleSelection , menuItem )
74- return menuItem
75-
7676 def makeMenu (data , parentMenu ):
7777 menu = wx .Menu ()
7878 for group_name in data .groups :
79- menuItem = addGroup (rootMenu if msw else parentMenu , group_name )
79+ menuItem = self . _addGroup (rootMenu if msw else parentMenu , group_name )
8080 subMenu = makeMenu (data .groups [group_name ], menu )
8181 menuItem .SetSubMenu (subMenu )
8282 menu .Append (menuItem )
8383 for entry in data .items :
84- menuItem = addEffect (rootMenu if msw else parentMenu , entry .item , entry .short_name )
84+ menuItem = self . _addEffect (rootMenu if msw else parentMenu , entry .itemID , entry .shortName )
8585 menu .Append (menuItem )
8686 menu .Bind (wx .EVT_MENU , self .handleSelection )
8787 return menu
@@ -98,7 +98,7 @@ def handleSelection(self, event):
9898 return
9999
100100 fitID = self .mainFrame .getActiveFit ()
101- self .mainFrame .command .Submit (cmd .GuiAddProjectedModuleCommand (fitID , swObj . ID ))
101+ self .mainFrame .command .Submit (cmd .GuiAddProjectedModuleCommand (fitID , swObj ))
102102
103103 def getData (self ):
104104 data = Group ()
@@ -153,7 +153,7 @@ def getEffectBeacons(self, *groups):
153153 container = data .items
154154 else :
155155 container = data .groups .setdefault (groupname , Group ()).items
156- container .append (Entry (beacon , beaconname , shortname ))
156+ container .append (Entry (beacon . ID , beaconname , shortname ))
157157 # Break loop on 1st result
158158 break
159159 data .sort ()
@@ -176,7 +176,7 @@ def getAbyssalWeather(self):
176176 continue
177177 subdata = data .groups .setdefault (type .name , Group ())
178178 display_name = "{} {}" .format (type .name , beacon .name [- 1 :])
179- subdata .items .append (Entry (beacon , display_name , display_name ))
179+ subdata .items .append (Entry (beacon . ID , display_name , display_name ))
180180 data .sort ()
181181
182182 # Localized abyssal hazards
@@ -192,11 +192,11 @@ def getAbyssalWeather(self):
192192
193193 key = name_parts [1 ].strip ()
194194 subsubdata = subdata .groups .setdefault (key , Group ())
195- subsubdata .items .append (Entry (beacon , beacon .name , beacon .name ))
195+ subsubdata .items .append (Entry (beacon . ID , beacon .name , beacon .name ))
196196 subdata .sort ()
197197
198198 # PVP weather
199- data .items .append (Entry (sMkt . getItem ( 49766 ) , 'PvP Weather' , 'PvP Weather' ))
199+ data .items .append (Entry (49766 , 'PvP Weather' , 'PvP Weather' ))
200200
201201 return data
202202
@@ -206,7 +206,7 @@ def getDestructibleBeacons(self):
206206 for item in sMkt .getItemsByGroup (sMkt .getGroup ('Destructible Effect Beacon' )):
207207 if not item .isType ('projected' ):
208208 continue
209- data .items .append (Entry (item , item .name , item .name ))
209+ data .items .append (Entry (item . ID , item .name , item .name ))
210210 data .sort ()
211211 return data
212212
0 commit comments