Skip to content

Commit

Permalink
Start reworking context menus into several special classes to improve…
Browse files Browse the repository at this point in the history
… menu handling consistency
  • Loading branch information
DarkFenX committed Apr 23, 2019
1 parent 6615bed commit 53fe324
Show file tree
Hide file tree
Showing 31 changed files with 272 additions and 106 deletions.
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/ammoToDmgPattern.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

import gui.globalEvents as GE
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class AmmoToDmgPattern(ContextMenu):
class AmmoToDmgPattern(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/boosterSideEffects.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

import gui.mainFrame
from gui import fitCommands as cmd
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class BoosterSideEffects(ContextMenu):
class BoosterSideEffects(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand All @@ -34,7 +34,7 @@ def getText(self, itmContext, mainItem, selection):

def addEffect(self, menu, ability):
label = ability.name
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
self.effectIds[id] = ability

menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK)
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/cargoAdd.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class AddToCargo(ContextMenu):
class AddToCargo(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/cargoAddAmmo.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.settings import ContextMenuSettings


class AddToCargoAmmo(ContextMenu):
class AddToCargoAmmo(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
8 changes: 4 additions & 4 deletions gui/builtinContextMenus/commandFitAdd.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.market import Market
from service.settings import ContextMenuSettings


class AddCommandFit(ContextMenu):
class AddCommandFit(ContextMenuCombined):

# Get list of items that define a command fit
sMkt = Market.getInstance()
Expand Down Expand Up @@ -53,7 +53,7 @@ def getText(self, itmContext, mainItem, selection):

def addFit(self, menu, fit, includeShip=False):
label = fit.name if not includeShip else "({}) {}".format(fit.ship.item.name, fit.name)
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
self.fitMenuItemIds[id] = fit
menuItem = wx.MenuItem(menu, id, label)
menu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)
Expand All @@ -80,7 +80,7 @@ def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem):
typeDict[shipName].append(fit)

for ship in sorted(typeDict.keys()):
shipItem = wx.MenuItem(sub, ContextMenu.nextID(), ship)
shipItem = wx.MenuItem(sub, ContextMenuCombined.nextID(), ship)
grandSub = wx.Menu()
shipItem.SetSubMenu(grandSub)

Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/damagePatternChange.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
import gui.globalEvents as GE
import gui.mainFrame
from gui.bitmap_loader import BitmapLoader
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.damagePattern import DamagePattern as import_DamagePattern
from service.fit import Fit
from service.settings import ContextMenuSettings


class ChangeDamagePattern(ContextMenu):
class ChangeDamagePattern(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down Expand Up @@ -56,7 +56,7 @@ def getText(self, itmContext, mainItem, selection):
return self.m

def addPattern(self, rootMenu, pattern):
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
name = getattr(pattern, "_name", pattern.name) if pattern is not None else "No Profile"

self.patternIds[id] = pattern
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/droneAddStack.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from gui.fitCommands.helpers import droneStackLimit
from service.fit import Fit
from service.settings import ContextMenuSettings


class DroneAddStack(ContextMenu):
class DroneAddStack(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/droneSplitStack.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class DroneSplitStack(ContextMenu):
class DroneSplitStack(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/envEffectAdd.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.market import Market
from service.settings import ContextMenuSettings


class AddEnvironmentEffect(ContextMenu):
class AddEnvironmentEffect(ContextMenuCombined):

# 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:
Expand Down Expand Up @@ -92,7 +92,7 @@ def buildMenu(self, grouped_data, flat_data, local_menu, rootMenu, msw):

def processFlat(data, root, sub):
for swData in sorted(data, key=lambda tpl: tpl[2]):
wxid = ContextMenu.nextID()
wxid = ContextMenuCombined.nextID()
swObj, swName, swClass = swData
self.idmap[wxid] = (swObj, swName)
subItem = wx.MenuItem(sub, wxid, swClass)
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/factorReload.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

import gui.globalEvents as GE
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class FactorReload(ContextMenu):
class FactorReload(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/fighterAbilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

import gui.mainFrame
from gui import fitCommands as cmd
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class FighterAbilities(ContextMenu):
class FighterAbilities(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand All @@ -31,7 +31,7 @@ def getText(self, itmContext, mainItem, selection):

def addAbility(self, menu, ability):
label = ability.name
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
self.abilityIds[id] = ability
menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK)
menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)
Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/fitAddCurrentlyOpen.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.builtinViews.emptyView import BlankPage
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit


class AddCurrentlyOpenFit(ContextMenu):
class AddCurrentlyOpenFit(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down Expand Up @@ -41,7 +41,7 @@ def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem):
if isinstance(page, BlankPage):
continue
fit = sFit.getFit(page.activeFitID, basic=True)
id = ContextMenu.nextID()
id = ContextMenuCombined.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
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/fitOpenNewTab.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@

import gui.mainFrame
from gui.builtinShipBrowser.events import FitSelected
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.settings import ContextMenuSettings


class OpenFitInNewTab(ContextMenu):
class OpenFitInNewTab(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
6 changes: 3 additions & 3 deletions gui/builtinContextMenus/implantSetAdd.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
import gui.fitCommands as cmd
import gui.globalEvents as GE
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.character import Character
from service.implantSet import ImplantSets as s_ImplantSets
from service.settings import ContextMenuSettings


class AddImplantSet(ContextMenu):
class AddImplantSet(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down Expand Up @@ -56,7 +56,7 @@ def getSubMenu(self, context, mainItem, selection, rootMenu, i, pitem):
self.idmap = {}

for set in implantSets:
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
mitem = wx.MenuItem(rootMenu, id, set.name)
bindmenu.Bind(wx.EVT_MENU, self.handleSelection, mitem)
self.idmap[id] = set
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemAmountChange.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter as es_Fighter
from eos.saveddata.fit import Fit as es_Fit
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class ChangeItemAmount(ContextMenu):
class ChangeItemAmount(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemFill.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.settings import ContextMenuSettings


class FillWithItem(ContextMenu):
class FillWithItem(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemMarketJump.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.market import Market
from service.settings import ContextMenuSettings


class JumpToMarketItem(ContextMenu):
class JumpToMarketItem(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemProject.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class ProjectItem(ContextMenu):
class ProjectItem(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemRemove.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.settings import ContextMenuSettings


class RemoveItem(ContextMenu):
class RemoveItem(ContextMenuCombined):

def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
Expand Down
4 changes: 2 additions & 2 deletions gui/builtinContextMenus/itemStats.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
import wx

import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from gui.itemStats import ItemStatsDialog
from service.fit import Fit
from service.settings import ContextMenuSettings


class ItemStats(ContextMenu):
class ItemStats(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down
8 changes: 4 additions & 4 deletions gui/builtinContextMenus/itemVariationChange.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenu
from gui.contextMenu import ContextMenuCombined
from service.fit import Fit
from service.market import Market
from service.settings import ContextMenuSettings


class ChangeItemToVariation(ContextMenu):
class ChangeItemToVariation(ContextMenuCombined):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
Expand Down Expand Up @@ -119,11 +119,11 @@ def get_boosterrank(x):

if thisgroup != group and context not in ('implantItem', 'boosterItem'):
group = thisgroup
id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
m.Append(id, '─ %s ─' % group)
m.Enable(id, False)

id = ContextMenu.nextID()
id = ContextMenuCombined.nextID()
mitem = wx.MenuItem(rootMenu, id, item.name)
bindmenu.Bind(wx.EVT_MENU, self.handleModule, mitem)

Expand Down
Loading

0 comments on commit 53fe324

Please sign in to comment.