From 2d33a5dda5b5b85e48e26ca73aa2069d08fac58f Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 25 Aug 2010 14:59:46 +0200 Subject: [PATCH] Add a bunch of event.Skip() statements where needed. Wire up a few events in the fittingView Make the + button actualy add new tabs --- gui/fitMultiSwitch.py | 9 ++++++++- gui/fittingView.py | 13 +++++++++++++ gui/shipBrowser.py | 16 ++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/gui/fitMultiSwitch.py b/gui/fitMultiSwitch.py index 51ac91a7f..1ff90e608 100644 --- a/gui/fitMultiSwitch.py +++ b/gui/fitMultiSwitch.py @@ -26,6 +26,7 @@ class FitMultiSwitch(wx.Notebook): wx.Notebook.__init__(self, parent, wx.ID_ANY) self.fitPanes = [] self.AddPage(wx.Panel(self), "+") + self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.checkAdd) def AddTab(self): p = wx.Panel(self) @@ -36,4 +37,10 @@ class FitMultiSwitch(wx.Notebook): p.SetSizer(sizer) pos = self.GetPageCount() - 1 self.InsertPage(pos, p, "Empty tab") - self.SetSelection(pos) + wx.CallAfter(self.ChangeSelection, pos) + + def checkAdd(self, event): + + if event.Selection == self.GetPageCount() - 1: + self.AddTab() + event.Veto() diff --git a/gui/fittingView.py b/gui/fittingView.py index d426e017b..44f4c7b97 100644 --- a/gui/fittingView.py +++ b/gui/fittingView.py @@ -20,6 +20,7 @@ import wx import sys import gui.builtinViewColumns +import gui.mainFrame from gui.builtinViewColumns import * class FittingView(wx.ListCtrl): @@ -43,6 +44,10 @@ class FittingView(wx.ListCtrl): self.Bind(wx.EVT_LIST_COL_END_DRAG, self.dragCheck) #Listen to when stuff in the ship browser changes + mainFrame = gui.mainFrame.MainFrame.getInstance() + for tree in (mainFrame.shipBrowser.shipView, mainFrame.shipBrowser.searchView): + tree.Bind(wx.EVT_TREE_SEL_CHANGED, self.changeFit) + tree.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.renameFit) i = 0 for colName in FittingView.DEFAULT_COLS: @@ -78,3 +83,11 @@ class FittingView(wx.ListCtrl): def dragEnd(self, event): print event + + def renameFit(self, event): + print event + event.Skip() + + def changeFit(self, event): + print event + event.Skip() diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 49d2d9d08..7f03f8d05 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -111,6 +111,8 @@ class ShipBrowser(wx.Panel): for btn in btns: btn.Enable(False) + event.Skip() + def expandLookup(self, event): tree = self.getActiveTree() root = event.Item @@ -133,6 +135,8 @@ class ShipBrowser(wx.Panel): tree.SortChildren(root) + event.Skip() + def newFit(self, event): tree = self.getActiveTree() root = tree.GetSelection() @@ -150,6 +154,7 @@ class ShipBrowser(wx.Panel): tree.Expand(root) tree.SelectItem(childId) tree.EditLabel(childId) + event.Skip() def renameOrExpand(self, event): tree = self.getActiveTree() @@ -168,6 +173,8 @@ class ShipBrowser(wx.Panel): if type == "fit": tree.EditLabel(root) + event.Skip() + def changeFitName(self, event): tree = self.getActiveTree() item = event.Item @@ -176,6 +183,7 @@ class ShipBrowser(wx.Panel): cFit = controller.Fit.getInstance() cFit.renameFit(fitID, newName) wx.CallAfter(tree.SortChildren, tree.GetItemParent(item)) + event.Skip() def deleteFit(self, event): tree = self.getActiveTree() @@ -186,6 +194,8 @@ class ShipBrowser(wx.Panel): cFit.deleteFit(fitID) tree.Delete(root) + event.Skip() + def copyFit(self, event): tree = self.getActiveTree() root = tree.GetSelection() @@ -200,9 +210,12 @@ class ShipBrowser(wx.Panel): tree.SelectItem(childId) tree.EditLabel(childId) + event.Skip() + def scheduleSearch(self, event): self.searchTimer.Stop() self.searchTimer.Start(50, wx.TIMER_ONE_SHOT) + event.Skip() def clearSearch(self, event, clearText=True): if self.getActiveTree() == self.searchView: @@ -216,6 +229,8 @@ class ShipBrowser(wx.Panel): self.viewSizer.Layout() + event.Skip() + def startSearch(self, event): search = self.shipMenu.search.GetLineText(0) if len(search) < 3: @@ -262,6 +277,7 @@ class ShipBrowser(wx.Panel): self.shipView.Collapse(child) child, cookie = self.shipView.GetNextChild(root, cookie) + event.Skip() class ShipView(wx.TreeCtrl): def __init__(self, parent):