diff --git a/gui/builtinContextMenus/commandFitAdd.py b/gui/builtinContextMenus/commandFitAdd.py index a9f8575df..d1e4e98c8 100644 --- a/gui/builtinContextMenus/commandFitAdd.py +++ b/gui/builtinContextMenus/commandFitAdd.py @@ -3,13 +3,13 @@ import wx import gui.fitCommands as cmd import gui.mainFrame -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit from service.market import Market from service.settings import ContextMenuSettings -class AddCommandFit(ContextMenuCombined): +class AddCommandFit(ContextMenuUnconditional): # Get list of items that define a command fit sMkt = Market.getInstance() @@ -42,24 +42,24 @@ class AddCommandFit(ContextMenuCombined): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): if self.mainFrame.getActiveFit() is None or len(self.__class__.commandFits) == 0 or srcContext != "commandView": return False return True - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Command Fits" def addFit(self, menu, fit, includeShip=False): label = fit.name if not includeShip else "({}) {}".format(fit.ship.item.name, fit.name) - id = ContextMenuCombined.nextID() + id = ContextMenuUnconditional.nextID() self.fitMenuItemIds[id] = fit menuItem = wx.MenuItem(menu, id, label) menu.Bind(wx.EVT_MENU, self.handleSelection, menuItem) return menuItem - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): msw = True if "wxMSW" in wx.PlatformInfo else False self.context = context self.fitMenuItemIds = {} @@ -80,7 +80,7 @@ class AddCommandFit(ContextMenuCombined): typeDict[shipName].append(fit) for ship in sorted(typeDict.keys()): - shipItem = wx.MenuItem(sub, ContextMenuCombined.nextID(), ship) + shipItem = wx.MenuItem(sub, ContextMenuUnconditional.nextID(), ship) grandSub = wx.Menu() shipItem.SetSubMenu(grandSub) diff --git a/gui/builtinContextMenus/damagePatternChange.py b/gui/builtinContextMenus/damagePatternChange.py index 12389e616..57b1346fe 100644 --- a/gui/builtinContextMenus/damagePatternChange.py +++ b/gui/builtinContextMenus/damagePatternChange.py @@ -6,26 +6,26 @@ import wx import gui.globalEvents as GE import gui.mainFrame from gui.bitmap_loader import BitmapLoader -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.damagePattern import DamagePattern as import_DamagePattern from service.fit import Fit from service.settings import ContextMenuSettings -class ChangeDamagePattern(ContextMenuCombined): +class ChangeDamagePattern(ContextMenuUnconditional): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): return srcContext == "resistancesViewFull" @property def enabled(self): return self.mainFrame.getActiveFit() is not None - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): sDP = import_DamagePattern.getInstance() sFit = Fit.getInstance() fitID = self.mainFrame.getActiveFit() @@ -56,7 +56,7 @@ class ChangeDamagePattern(ContextMenuCombined): return self.m def addPattern(self, rootMenu, pattern): - id = ContextMenuCombined.nextID() + id = ContextMenuUnconditional.nextID() name = getattr(pattern, "_name", pattern.name) if pattern is not None else "No Profile" self.patternIds[id] = pattern @@ -77,7 +77,7 @@ class ChangeDamagePattern(ContextMenuCombined): menuItem.SetBitmap(bitmap) return menuItem - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): msw = True if "wxMSW" in wx.PlatformInfo else False if self.m[i] not in self.subMenus: diff --git a/gui/builtinContextMenus/envEffectAdd.py b/gui/builtinContextMenus/envEffectAdd.py index 9c6921625..4dcfdbba6 100644 --- a/gui/builtinContextMenus/envEffectAdd.py +++ b/gui/builtinContextMenus/envEffectAdd.py @@ -6,12 +6,12 @@ import wx import gui.fitCommands as cmd import gui.mainFrame -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.market import Market from service.settings import ContextMenuSettings -class AddEnvironmentEffect(ContextMenuCombined): +class AddEnvironmentEffect(ContextMenuUnconditional): # CCP doesn't currently provide a mapping between the general Environment, and the specific environment effect # (which can be random when going into Abyssal space). This is how we currently define it: @@ -28,13 +28,13 @@ class AddEnvironmentEffect(ContextMenuCombined): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): return srcContext == "projected" - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Add Environmental Effect" - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): msw = True if "wxMSW" in wx.PlatformInfo else False # Wormholes @@ -92,7 +92,7 @@ class AddEnvironmentEffect(ContextMenuCombined): def processFlat(data, root, sub): for swData in sorted(data, key=lambda tpl: tpl[2]): - wxid = ContextMenuCombined.nextID() + wxid = ContextMenuUnconditional.nextID() swObj, swName, swClass = swData self.idmap[wxid] = (swObj, swName) subItem = wx.MenuItem(sub, wxid, swClass) diff --git a/gui/builtinContextMenus/factorReload.py b/gui/builtinContextMenus/factorReload.py index 073ba3c5e..c541ceac9 100644 --- a/gui/builtinContextMenus/factorReload.py +++ b/gui/builtinContextMenus/factorReload.py @@ -3,27 +3,28 @@ import wx import gui.globalEvents as GE import gui.mainFrame -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit from service.settings import ContextMenuSettings -class FactorReload(ContextMenuCombined): +class FactorReload(ContextMenuUnconditional): + def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): return srcContext == "firepowerViewFull" @property def enabled(self): return self.mainFrame.getActiveFit() is not None - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Factor in Reload Time" - def activate(self, fullContext, mainItem, selection, i): + def activate(self, fullContext, i): sFit = Fit.getInstance() sFit.serviceFittingOptions["useGlobalForceReload"] = not sFit.serviceFittingOptions["useGlobalForceReload"] fitID = self.mainFrame.getActiveFit() diff --git a/gui/builtinContextMenus/fitAddCurrentlyOpen.py b/gui/builtinContextMenus/fitAddCurrentlyOpen.py index 64c8a38b6..05a503c5f 100644 --- a/gui/builtinContextMenus/fitAddCurrentlyOpen.py +++ b/gui/builtinContextMenus/fitAddCurrentlyOpen.py @@ -4,26 +4,26 @@ import wx import gui.fitCommands as cmd import gui.mainFrame from gui.builtinViews.emptyView import BlankPage -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit -class AddCurrentlyOpenFit(ContextMenuCombined): +class AddCurrentlyOpenFit(ContextMenuUnconditional): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): if self.mainFrame.getActiveFit() is None or srcContext not in ('projected', 'commandView'): return False return True - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return 'Add Currently Open Fit' - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): self.fitLookup = {} self.context = context sFit = Fit.getInstance() @@ -41,7 +41,7 @@ class AddCurrentlyOpenFit(ContextMenuCombined): if isinstance(page, BlankPage): continue fit = sFit.getFit(page.activeFitID, basic=True) - id = ContextMenuCombined.nextID() + id = ContextMenuUnconditional.nextID() mitem = wx.MenuItem(rootMenu, id, "{}: {}".format(fit.ship.item.name, fit.name)) bindmenu.Bind(wx.EVT_MENU, self.handleSelection, mitem) self.fitLookup[id] = fit diff --git a/gui/builtinContextMenus/priceOptions.py b/gui/builtinContextMenus/priceOptions.py index 4e0119d5f..1677d75c1 100644 --- a/gui/builtinContextMenus/priceOptions.py +++ b/gui/builtinContextMenus/priceOptions.py @@ -4,11 +4,11 @@ import wx import gui.globalEvents as GE import gui.mainFrame -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.settings import MarketPriceSettings -class ItemGroupPrice(ContextMenuCombined, metaclass=ABCMeta): +class ItemGroupPrice(ContextMenuUnconditional, metaclass=ABCMeta): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() @@ -24,13 +24,13 @@ class ItemGroupPrice(ContextMenuCombined, metaclass=ABCMeta): def optionName(self): raise NotImplementedError() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): return srcContext in ("priceViewFull", "priceViewMinimal") - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return self.label - def activate(self, fullContext, mainItem, selection, i): + def activate(self, fullContext, i): self.settings.set(self.optionName, not self.settings.get(self.optionName)) wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) diff --git a/gui/builtinContextMenus/shipJump.py b/gui/builtinContextMenus/shipJump.py index ca4831484..f5c22926c 100644 --- a/gui/builtinContextMenus/shipJump.py +++ b/gui/builtinContextMenus/shipJump.py @@ -3,18 +3,18 @@ import wx import gui.mainFrame from gui.builtinShipBrowser.events import Stage3Selected -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit from service.settings import ContextMenuSettings -class JumpToShip(ContextMenuCombined): +class JumpToShip(ContextMenuUnconditional): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): if srcContext != "fittingShip": return False fitTabSelected = self.mainFrame.notebookBrowsers.GetSelection() == 1 @@ -30,10 +30,10 @@ class JumpToShip(ContextMenuCombined): return True return False - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Open in Fitting Browser" - def activate(self, fullContext, mainItem, selection, i): + def activate(self, fullContext, i): fitID = self.mainFrame.getActiveFit() ship = Fit.getInstance().getFit(fitID).ship self.mainFrame.notebookBrowsers.SetSelection(1) diff --git a/gui/builtinContextMenus/shipModeChange.py b/gui/builtinContextMenus/shipModeChange.py index ee50de2e3..119f16083 100644 --- a/gui/builtinContextMenus/shipModeChange.py +++ b/gui/builtinContextMenus/shipModeChange.py @@ -3,18 +3,18 @@ import wx import gui.fitCommands as cmd import gui.mainFrame -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit from service.settings import ContextMenuSettings -class ChangeShipTacticalMode(ContextMenuCombined): +class ChangeShipTacticalMode(ContextMenuUnconditional): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): if self.mainFrame.getActiveFit() is None or srcContext != "fittingShip": return False @@ -27,18 +27,18 @@ class ChangeShipTacticalMode(ContextMenuCombined): return srcContext == "fittingShip" and self.modes is not None - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Tactical Mode" def addMode(self, menu, mode): label = mode.item.name.rsplit()[-2] - id = ContextMenuCombined.nextID() + id = ContextMenuUnconditional.nextID() self.modeIds[id] = mode menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_RADIO) menu.Bind(wx.EVT_MENU, self.handleMode, menuItem) return menuItem - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): msw = True if "wxMSW" in wx.PlatformInfo else False self.context = context self.modeIds = {} diff --git a/gui/builtinContextMenus/targetResists.py b/gui/builtinContextMenus/targetResists.py index 565407acf..ff890b55e 100644 --- a/gui/builtinContextMenus/targetResists.py +++ b/gui/builtinContextMenus/targetResists.py @@ -6,19 +6,19 @@ import wx import gui.globalEvents as GE import gui.mainFrame from gui.bitmap_loader import BitmapLoader -from gui.contextMenu import ContextMenuCombined +from gui.contextMenu import ContextMenuUnconditional from service.fit import Fit from service.settings import ContextMenuSettings from service.targetResists import TargetResists as svc_TargetResists -class TargetResists(ContextMenuCombined): +class TargetResists(ContextMenuUnconditional): def __init__(self): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.settings = ContextMenuSettings.getInstance() - def display(self, srcContext, mainItem, selection): + def display(self, srcContext): if self.mainFrame.getActiveFit() is None or srcContext != "firepowerViewFull": return False @@ -28,7 +28,7 @@ class TargetResists(ContextMenuCombined): return len(self.patterns) > 0 - def getText(self, itmContext, mainItem, selection): + def getText(self, itmContext): return "Target Resists" def handleResistSwitch(self, event): @@ -43,7 +43,7 @@ class TargetResists(ContextMenuCombined): wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID)) def addPattern(self, rootMenu, pattern): - id = ContextMenuCombined.nextID() + id = ContextMenuUnconditional.nextID() name = getattr(pattern, "_name", pattern.name) if pattern is not None else "No Profile" self.patternIds[id] = pattern @@ -64,7 +64,7 @@ class TargetResists(ContextMenuCombined): item.SetBitmap(bitmap) return item - def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem): + def getSubMenu(self, context, rootMenu, i, pitem): msw = True if "wxMSW" in wx.PlatformInfo else False self.patternIds = {} self.subMenus = OrderedDict() @@ -93,7 +93,7 @@ class TargetResists(ContextMenuCombined): # Items that have a parent for menuName, patterns in list(self.subMenus.items()): # Create parent item for root menu that is simply name of parent - item = wx.MenuItem(rootMenu, ContextMenuCombined.nextID(), menuName) + item = wx.MenuItem(rootMenu, ContextMenuUnconditional.nextID(), menuName) # Create menu for child items grandSub = wx.Menu() diff --git a/gui/contextMenu.py b/gui/contextMenu.py index ed5f8c638..82ecae82b 100644 --- a/gui/contextMenu.py +++ b/gui/contextMenu.py @@ -43,7 +43,7 @@ class ContextMenu(metaclass=ABCMeta): srcContext = fullContext[0] for menuHandler in cls.menus: m = menuHandler() - if m.display(srcContext, mainItem, selection): + if m._baseDisplay(srcContext, mainItem, selection): return True return False