Add code for drone splitting, lacking a little amount selection popup

atm
This commit is contained in:
cncfanatics
2010-10-21 16:47:22 +02:00
parent b76a793661
commit 774ac5cf8a
4 changed files with 46 additions and 4 deletions

View File

@@ -1 +1 @@
__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump"]
__all__ = ["moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "droneSplit"]

View File

@@ -0,0 +1,24 @@
from gui.contextMenu import ContextMenu
from gui.itemStats import ItemStatsDialog
import gui.mainFrame
import gui.fittingView
import service
import wx
class DroneSplit(ContextMenu):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
def display(self, context, selection):
return context in ("drone") and selection[0].amount > 1
def getText(self, context, selection):
return "Split stack"
def activate(self, context, selection, i):
sFit = service.Fit.getInstance()
fitID = self.mainFrame.getActiveFit()
sFit.splitDroneStack(fitID, selection[0], 1)
wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID))
DroneSplit.register()

View File

@@ -49,9 +49,10 @@ class DroneView(d.Display):
cFit = service.Fit.getInstance()
fit = cFit.getFit(event.fitID)
stuff = fit.drones if fit is not None else None
self.populate(stuff)
self.refresh(stuff)
stuff = fit.drones[:] if fit is not None else None
if stuff is not None:
stuff.sort(key=lambda d: d.item.name)
self.update(stuff)
event.Skip()
def addItem(self, event):