Pass item which is considered to be clicked item to context menus
This commit is contained in:
@@ -191,5 +191,5 @@ class BoosterView(d.Display):
|
||||
return None
|
||||
srcContext = "boosterItem"
|
||||
itemContext = "Booster"
|
||||
menu = ContextMenu.getMenu((booster,), (srcContext, itemContext))
|
||||
menu = ContextMenu.getMenu(booster, (booster,), (srcContext, itemContext))
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -187,5 +187,5 @@ class CargoView(d.Display):
|
||||
sourceContext = "cargoItem"
|
||||
itemContext = sMkt.getCategoryByItem(cargo.item).name
|
||||
|
||||
menu = ContextMenu.getMenu((cargo,), (sourceContext, itemContext))
|
||||
menu = ContextMenu.getMenu(cargo, (cargo,), (sourceContext, itemContext))
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -202,7 +202,7 @@ class CommandView(d.Display):
|
||||
context = ((fitSrcContext, fitItemContext),)
|
||||
|
||||
context += (("commandView",),)
|
||||
menu = ContextMenu.getMenu((item,) if item is not None else [], *context)
|
||||
menu = ContextMenu.getMenu(item, (item,) if item is not None else [], *context)
|
||||
if menu is not None:
|
||||
self.PopupMenu(menu)
|
||||
|
||||
|
||||
@@ -289,5 +289,5 @@ class DroneView(Display):
|
||||
sMkt = Market.getInstance()
|
||||
sourceContext = "droneItem"
|
||||
itemContext = sMkt.getCategoryByItem(drone.item).name
|
||||
menu = ContextMenu.getMenu((drone,), (sourceContext, itemContext))
|
||||
menu = ContextMenu.getMenu(drone, (drone,), (sourceContext, itemContext))
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -316,5 +316,5 @@ class FighterDisplay(d.Display):
|
||||
sMkt = Market.getInstance()
|
||||
sourceContext = "fighterItem"
|
||||
itemContext = sMkt.getCategoryByItem(fighter.item).name
|
||||
menu = ContextMenu.getMenu((fighter,), (sourceContext, itemContext))
|
||||
menu = ContextMenu.getMenu(fighter, (fighter,), (sourceContext, itemContext))
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -262,12 +262,12 @@ class ImplantDisplay(d.Display):
|
||||
sourceContext = "implantItem" if fit.implantSource == ImplantLocation.FIT else "implantItemChar"
|
||||
itemContext = sMkt.getCategoryByItem(implant.item).name
|
||||
fullContext = ((sourceContext, itemContext), ("implantView", itemContext))
|
||||
menu = ContextMenu.getMenu((implant,), *fullContext)
|
||||
menu = ContextMenu.getMenu(implant, (implant,), *fullContext)
|
||||
elif sel == -1 and fit.implantSource == ImplantLocation.FIT:
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
if fitID is None:
|
||||
return
|
||||
context = ("implantView",)
|
||||
menu = ContextMenu.getMenu([], context)
|
||||
menu = ContextMenu.getMenu(None, [], context)
|
||||
if menu is not None:
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -323,7 +323,7 @@ class ProjectedView(d.Display):
|
||||
context = ((fitSrcContext, fitItemContext),)
|
||||
|
||||
context += (("projected",),)
|
||||
menu = ContextMenu.getMenu((item,) if item is not None else [], *context)
|
||||
menu = ContextMenu.getMenu(item, (item,) if item is not None else [], *context)
|
||||
|
||||
if menu is not None:
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -82,7 +82,8 @@ class ItemAffectedBy(wx.Panel):
|
||||
# instead, we send the item.
|
||||
type_ = stuff.__class__.__name__
|
||||
contexts.append(("itemStats", type_))
|
||||
menu = ContextMenu.getMenu(stuff if type_ != "Skill" else stuff.item, *contexts)
|
||||
stuff = stuff if type_ != "Skill" else stuff.item
|
||||
menu = ContextMenu.getMenu(stuff, (stuff,), *contexts)
|
||||
self.PopupMenu(menu)
|
||||
|
||||
def ExpandCollapseTree(self):
|
||||
|
||||
@@ -247,7 +247,7 @@ class ItemView(Display):
|
||||
sourceContext = "marketItemMisc" if self.marketBrowser.mode in ("search", "recent") else "marketItemGroup"
|
||||
itemContext = sMkt.getCategoryByItem(item).name
|
||||
|
||||
menu = ContextMenu.getMenu((item,), (sourceContext, itemContext))
|
||||
menu = ContextMenu.getMenu(item, (item,), (sourceContext, itemContext))
|
||||
self.PopupMenu(menu)
|
||||
|
||||
def populate(self, items):
|
||||
|
||||
@@ -108,7 +108,7 @@ class ShipItem(SFItem.SFBrowserItem):
|
||||
pos = event.GetPosition()
|
||||
pos = self.ScreenToClient(pos)
|
||||
contexts = [("baseShip", "Ship Basic")]
|
||||
menu = ContextMenu.getMenu(self.baseItem, *contexts)
|
||||
menu = ContextMenu.getMenu(self.baseItem, (self.baseItem,), *contexts)
|
||||
self.PopupMenu(menu, pos)
|
||||
|
||||
def OnTimer(self, event):
|
||||
|
||||
@@ -602,7 +602,6 @@ class FittingView(d.Display):
|
||||
self.populate(self.mods)
|
||||
|
||||
def fitChanged(self, event):
|
||||
# print('====== Fit Changed: {} {} activeFitID: {}, eventFitID: {}'.format(repr(self), str(bool(self)), self.activeFitID, event.fitID))
|
||||
if not self:
|
||||
event.Skip()
|
||||
return
|
||||
@@ -626,7 +625,6 @@ class FittingView(d.Display):
|
||||
return
|
||||
sMkt = Market.getInstance()
|
||||
selection = []
|
||||
sel = self.GetFirstSelected()
|
||||
contexts = []
|
||||
|
||||
for mod in self.getSelectedMods():
|
||||
@@ -658,7 +656,7 @@ class FittingView(d.Display):
|
||||
|
||||
contexts.append(("fittingShip", "Ship" if not fit.isStructure else "Citadel"))
|
||||
|
||||
menu = ContextMenu.getMenu(selection, *contexts)
|
||||
menu = ContextMenu.getMenu(selection[0], selection, *contexts)
|
||||
self.PopupMenu(menu)
|
||||
|
||||
def click(self, event):
|
||||
|
||||
@@ -417,8 +417,8 @@ class SkillTreeView(wx.Panel):
|
||||
srcContext = "skillItem"
|
||||
itemContext = "Skill"
|
||||
context = (srcContext, itemContext)
|
||||
self.statsMenu = ContextMenu.getMenu(None, context)
|
||||
self.levelChangeMenu = ContextMenu.getMenu(None, context) or wx.Menu()
|
||||
self.statsMenu = ContextMenu.getMenu(None, None, context)
|
||||
self.levelChangeMenu = ContextMenu.getMenu(None, None, context) or wx.Menu()
|
||||
self.levelChangeMenu.AppendSeparator()
|
||||
self.levelIds = {}
|
||||
|
||||
@@ -715,7 +715,8 @@ class ImplantEditorView(BaseImplantEditorView):
|
||||
context = (("implantEditor",),)
|
||||
# fuck good coding practices, passing a pointer to the character editor here for [reasons] =D
|
||||
# (see implantSets context class for info)
|
||||
menu = ContextMenu.getMenu((self.Parent.Parent,), *context)
|
||||
item = self.Parent.Parent
|
||||
menu = ContextMenu.getMenu(item, (item,), *context)
|
||||
|
||||
if menu:
|
||||
self.PopupMenu(menu)
|
||||
|
||||
@@ -44,7 +44,7 @@ class ContextMenu(object):
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
def getMenu(cls, selection, *fullContexts):
|
||||
def getMenu(cls, main, selection, *fullContexts):
|
||||
"""
|
||||
getMenu returns a menu that is used with wx.PopupMenu.
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ class StatsPane(wx.Panel):
|
||||
viewName = contentPanel.viewName
|
||||
|
||||
def handler(event):
|
||||
menu = ContextMenu.getMenu(None, (viewName,))
|
||||
menu = ContextMenu.getMenu(None, None, (viewName,))
|
||||
|
||||
if menu is not None:
|
||||
contentPanel.PopupMenu(menu)
|
||||
|
||||
Reference in New Issue
Block a user