Store wrappers in graph lists

This commit is contained in:
DarkPhoenix
2019-08-03 23:56:44 +03:00
parent 1b2bff8a77
commit e821b2d09c
26 changed files with 604 additions and 567 deletions

View File

@@ -161,7 +161,7 @@ class RemoveItem(ContextMenuCombined):
fitID=fitID, commandFitIDs=commandFitIDs))
def __handleGraphItem(self, callingWindow, mainItem, selection):
callingWindow.removeListItems(selection)
callingWindow.removeWrappers(selection)
RemoveItem.register()

View File

@@ -27,9 +27,10 @@ import gui.mainFrame
from eos.saveddata.fit import Fit
from eos.saveddata.targetProfile import TargetProfile
from eos.utils.spoolSupport import SpoolOptions, SpoolType
from graphs.wrapper import BaseWrapper
from gui.bitmap_loader import BitmapLoader
from gui.viewColumn import ViewColumn
from gui.utils.numberFormatter import formatAmount
from gui.viewColumn import ViewColumn
class GraphColumn(ViewColumn, metaclass=ABCMeta):
@@ -47,6 +48,8 @@ class GraphColumn(ViewColumn, metaclass=ABCMeta):
raise NotImplementedError
def getText(self, stuff):
if isinstance(stuff, BaseWrapper):
stuff = stuff.item
if isinstance(stuff, (Fit, TargetProfile)):
val, unit = self._getValue(stuff)
if val is None:
@@ -59,6 +62,8 @@ class GraphColumn(ViewColumn, metaclass=ABCMeta):
raise NotImplementedError
def getToolTip(self, stuff):
if isinstance(stuff, BaseWrapper):
stuff = stuff.item
if isinstance(stuff, (Fit, TargetProfile)):
return self._getFitTooltip()
return ''

View File

@@ -1,11 +1,13 @@
# noinspection PyPackageRequirements
import wx
from eos.saveddata.implant import Implant
from eos.saveddata.drone import Drone
from eos.saveddata.module import Module, Rack
from eos.saveddata.fit import Fit
from eos.saveddata.targetProfile import TargetProfile
from eos.const import FittingSlot
from eos.saveddata.drone import Drone
from eos.saveddata.fit import Fit
from eos.saveddata.implant import Implant
from eos.saveddata.module import Module, Rack
from eos.saveddata.targetProfile import TargetProfile
from graphs.wrapper import BaseWrapper
from gui.viewColumn import ViewColumn
@@ -21,6 +23,9 @@ class BaseIcon(ViewColumn):
self.shipImage = fittingView.imageList.GetImageIndex("ship_small", "gui")
def getImageId(self, stuff):
if isinstance(stuff, BaseWrapper):
stuff = stuff.item
if isinstance(stuff, Drone):
return -1
elif isinstance(stuff, Fit):

View File

@@ -21,19 +21,22 @@
# noinspection PyPackageRequirements
import wx
from logbook import Logger
import gui.mainFrame
from eos.const import FittingSlot
from eos.saveddata.cargo import Cargo
from eos.saveddata.implant import Implant
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter
from eos.saveddata.module import Module, Rack
from eos.saveddata.fit import Fit, FitLite
from eos.saveddata.implant import Implant
from eos.saveddata.module import Module, Rack
from eos.saveddata.targetProfile import TargetProfile
from eos.const import FittingSlot
from graphs.wrapper import BaseWrapper
from gui.builtinContextMenus.envEffectAdd import AddEnvironmentEffect
from gui.viewColumn import ViewColumn
from service.fit import Fit as FitSvc
from service.market import Market
from gui.viewColumn import ViewColumn
from gui.builtinContextMenus.envEffectAdd import AddEnvironmentEffect
import gui.mainFrame
pyfalog = Logger(__name__)
@@ -50,6 +53,9 @@ class BaseName(ViewColumn):
self.projectedView = isinstance(fittingView, gui.builtinAdditionPanes.projectedView.ProjectedView)
def getText(self, stuff):
if isinstance(stuff, BaseWrapper):
stuff = stuff.item
if isinstance(stuff, Drone):
return "%dx %s" % (stuff.amount, stuff.item.name)
elif isinstance(stuff, Fighter):