Add "Command Fit" context menu

This commit is contained in:
blitzman
2016-11-20 19:17:53 -05:00
parent 883917d5d6
commit 14e69b1e59
2 changed files with 21 additions and 8 deletions

View File

@@ -82,7 +82,7 @@ class AdditionsPane(TogglePanel):
self.notebook.SetSelection(0)
PANES = ["Drones", "Fighters", "Cargo", "Implants", "Boosters", "Projected", "Fleet"]
PANES = ["Drones", "Fighters", "Cargo", "Implants", "Boosters", "Projected", "Command"]
def select(self, name):
self.notebook.SetSelection(self.PANES.index(name))

View File

@@ -1552,6 +1552,15 @@ class FitItem(SFItem.SFBrowserItem):
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=activeFit))
self.mainFrame.additionsPane.select("Projected")
def OnAddCommandFit(self, event):
activeFit = self.mainFrame.getActiveFit()
if activeFit:
sFit = service.Fit.getInstance()
commandFit = sFit.getFit(self.fitID)
sFit.addCommandFit(activeFit, commandFit)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=activeFit))
self.mainFrame.additionsPane.select("Command")
def OnMouseCaptureLost(self, event):
''' Destroy drag information (GH issue #479)'''
if self.dragging and self.dragged:
@@ -1564,6 +1573,11 @@ class FitItem(SFItem.SFBrowserItem):
def OnContextMenu(self, event):
''' Handles context menu for fit. Dragging is handled by MouseLeftUp() '''
sFit = service.Fit.getInstance()
fit = sFit.getFit(self.mainFrame.getActiveFit())
if not fit:
return
pos = wx.GetMousePosition()
pos = self.ScreenToClient(pos)
@@ -1572,13 +1586,9 @@ class FitItem(SFItem.SFBrowserItem):
self.mainFrame.additionsPane.gangPage.draggedFitID = self.fitID
menu = wx.Menu()
toggleItem = menu.Append(wx.ID_ANY, "Booster Fit", kind=wx.ITEM_CHECK)
menu.Check(toggleItem.GetId(), self.fitBooster)
self.Bind(wx.EVT_MENU, self.OnToggleBooster, toggleItem)
sFit = service.Fit.getInstance()
fit = sFit.getFit(self.mainFrame.getActiveFit())
# toggleItem = menu.Append(wx.ID_ANY, "Booster Fit", kind=wx.ITEM_CHECK)
# menu.Check(toggleItem.GetId(), self.fitBooster)
# self.Bind(wx.EVT_MENU, self.OnToggleBooster, toggleItem)
# if fit and not fit.isStructure:
# # If there is an active fit, get menu for setting individual boosters
@@ -1590,6 +1600,9 @@ class FitItem(SFItem.SFBrowserItem):
projectedItem = menu.Append(wx.ID_ANY, "Project onto Active Fit")
self.Bind(wx.EVT_MENU, self.OnProjectToFit, projectedItem)
commandItem = menu.Append(wx.ID_ANY, "Add Command Booster")
self.Bind(wx.EVT_MENU, self.OnAddCommandFit, commandItem )
self.PopupMenu(menu, pos)
event.Skip()