44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import wx
|
|
|
|
import gui.fitCommands as cmd
|
|
import gui.mainFrame
|
|
from gui.contextMenu import ContextMenuSingle
|
|
from service.fit import Fit
|
|
|
|
_t = wx.GetTranslation
|
|
|
|
|
|
class AddToCargo(ContextMenuSingle):
|
|
|
|
def __init__(self):
|
|
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
|
|
|
def display(self, callingWindow, srcContext, mainItem):
|
|
if srcContext not in ("marketItemGroup", "marketItemMisc"):
|
|
return False
|
|
|
|
if mainItem is None:
|
|
return False
|
|
|
|
sFit = Fit.getInstance()
|
|
fitID = self.mainFrame.getActiveFit()
|
|
fit = sFit.getFit(fitID)
|
|
|
|
if not fit or (fit.isStructure and mainItem.category.ID != 8):
|
|
return False
|
|
|
|
return True
|
|
|
|
def getText(self, callingWindow, itmContext, mainItem):
|
|
return _t("Add {} to Cargo").format(itmContext)
|
|
|
|
def activate(self, callingWindow, fullContext, mainItem, i):
|
|
fitID = self.mainFrame.getActiveFit()
|
|
typeID = int(mainItem.ID)
|
|
command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=1)
|
|
if self.mainFrame.command.Submit(command):
|
|
self.mainFrame.additionsPane.select("Cargo", focus=False)
|
|
|
|
|
|
AddToCargo.register()
|