From 17f21a0ded71f7bce6e21a8decb6f385972cfb0a Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 25 Aug 2010 19:35:49 +0200 Subject: [PATCH] Correctly handle deletion of fits --- gui/fitMultiSwitch.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gui/fitMultiSwitch.py b/gui/fitMultiSwitch.py index b41b0605d..f2c7ad13d 100644 --- a/gui/fitMultiSwitch.py +++ b/gui/fitMultiSwitch.py @@ -35,6 +35,7 @@ class FitMultiSwitch(wx.Notebook): self.shipBrowser.Bind(sb.EVT_FIT_RENAMED, self.processRename) self.shipBrowser.Bind(sb.EVT_FIT_SELECTED, self.changeFit) + self.shipBrowser.Bind(sb.EVT_FIT_REMOVED, self.processRemove) def AddTab(self): pos = self.GetPageCount() - 1 @@ -77,3 +78,20 @@ class FitMultiSwitch(wx.Notebook): view = self.GetPage(i).view if view.activeFitID == fitID: self.SetPageText(i, cFit.getFit(fitID).name) + + def processRemove(self, event): + fitID = event.fitID + cFit = controller.Fit.getInstance() + for i in xrange(self.GetPageCount() - 2, -1, -1): + view = self.GetPage(i).view + if view.activeFitID == fitID: + #If we don't have any tabs left except the first one and the + tab + #Then we only rename it to empty tab, else we remove + if self.GetPageCount() > 2: + self.DeletePage(i) + else: + self.SetPageText(i, "Empty Tab") + + #Deleting a tab might have put us on the "+" tab, make sure we don't stay there + if self.GetSelection() == self.GetPageCount() - 1: + self.SetSelection(self.GetPageCount() - 2)