From 490fc913643db08b821332d542bb23c45bb9bc2d Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Sat, 16 Oct 2010 16:57:30 +0300 Subject: [PATCH] Implemented removal of modules using delete key as requested in ticket #113 --- gui/fittingView.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gui/fittingView.py b/gui/fittingView.py index 75419f050..3f5dce7ee 100644 --- a/gui/fittingView.py +++ b/gui/fittingView.py @@ -49,6 +49,24 @@ class FittingView(d.Display): self.activeFitID = None + self.Bind(wx.EVT_KEY_UP, self.kbEvent) + + def kbEvent(self,event): + keycode = event.GetKeyCode() + if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + row = self.GetFirstSelected() + firstSel = row + while row != -1: + cFit = service.Fit.getInstance() + populate = cFit.removeModule(self.activeFitID, self.mods[self.GetItemData(row)].position) + self.Select(row,0) + row = self.GetNextSelected(row) + if populate is not None: + self.Select(firstSel) + if populate: self.slotsChanged() + wx.PostEvent(self.mainFrame, FitChanged(fitID=self.activeFitID)) + + event.Skip() #Gets called from the fitMultiSwitch when it decides its time def changeFit(self, fitID): self.activeFitID = fitID