Fix exception with character implants, and don't show implant set menu if there aren't any (#1172)

This commit is contained in:
Ryan Holmes
2017-05-15 22:59:47 -04:00
committed by GitHub
parent 89b508d0f6
commit 65f71b6f6b
2 changed files with 17 additions and 0 deletions

View File

@@ -18,6 +18,12 @@ class ImplantSets(ContextMenu):
if not self.settings.get('implantSets'):
return False
sIS = s_ImplantSets.getInstance()
implantSets = sIS.getImplantSetList()
if len(implantSets) == 0:
return False
return srcContext in ("implantView", "implantEditor")
def getText(self, itmContext, selection):

View File

@@ -62,6 +62,7 @@ class ImplantView(wx.Panel):
activeFitID = self.mainFrame.getActiveFit()
fit = sFit.getFit(activeFitID)
if fit:
self.source = fit.implantSource
if fit.implantSource == ImplantLocation.FIT:
self.rbFit.SetValue(True)
else:
@@ -159,6 +160,10 @@ class ImplantDisplay(d.Display):
event.Skip()
def removeItem(self, event):
# Character implants can't be changed here...
if self.Parent.source == ImplantLocation.CHARACTER:
return
row, _ = self.HitTest(event.Position)
if row != -1:
col = self.getColumn(event.Position)
@@ -168,11 +173,17 @@ class ImplantDisplay(d.Display):
def removeImplant(self, implant):
fitID = self.mainFrame.getActiveFit()
sFit = Fit.getInstance()
sFit.removeImplant(fitID, self.original.index(implant))
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
def click(self, event):
event.Skip()
# Character implants can't be changed here...
if self.Parent.source == ImplantLocation.CHARACTER:
return
row, _ = self.HitTest(event.Position)
if row != -1:
col = self.getColumn(event.Position)