Fix the bug where one needed two clicks to select market/ship browser

This commit is contained in:
cncfanatics
2010-08-28 20:46:53 +02:00
parent b2a44ccac2
commit a1490a4f09
3 changed files with 16 additions and 8 deletions

View File

@@ -47,13 +47,14 @@ class MainFrame(wx.Frame):
self.splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
notebookBrowsers = wx.Notebook(self.splitter, wx.ID_ANY)
self.notebookBrowsers = wx.Notebook(self.splitter, wx.ID_ANY)
self.notebookBrowsers.Bind(wx.EVT_LEFT_DOWN, self.mouseHit)
self.marketBrowser = MarketBrowser(notebookBrowsers)
notebookBrowsers.AddPage(self.marketBrowser, "Market")
self.marketBrowser = MarketBrowser(self.notebookBrowsers)
self.notebookBrowsers.AddPage(self.marketBrowser, "Market")
self.shipBrowser = ShipBrowser(notebookBrowsers)
notebookBrowsers.AddPage(self.shipBrowser, "Ships")
self.shipBrowser = ShipBrowser(self.notebookBrowsers)
self.notebookBrowsers.AddPage(self.shipBrowser, "Ships")
statsFitviewPanel = wx.Panel(self.splitter)
self.statsSizer = wx.BoxSizer(wx.HORIZONTAL)
@@ -67,7 +68,7 @@ class MainFrame(wx.Frame):
self.statsSizer.Add(self.fitMultiSwitch, 1, wx.EXPAND)
self.statsSizer.Add(self.statsPane, 0, wx.EXPAND)
self.splitter.SplitVertically(notebookBrowsers, statsFitviewPanel)
self.splitter.SplitVertically(self.notebookBrowsers, statsFitviewPanel)
self.splitter.SetMinimumPaneSize(10)
self.splitter.SetSashPosition(300)
@@ -80,6 +81,11 @@ class MainFrame(wx.Frame):
#Show ourselves
self.Show()
def mouseHit(self, event):
tab, _ = self.notebookBrowsers.HitTest(event.Position)
if tab != -1:
self.notebookBrowsers.SetSelection(tab)
def ExitApp(self, evt):
self.Close()

View File

@@ -31,6 +31,7 @@ class MarketBrowser(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
vbox = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(vbox)
#Add a search button on top
@@ -40,6 +41,7 @@ class MarketBrowser(wx.Panel):
p = wx.Panel(self)
sizer = wx.BoxSizer(wx.HORIZONTAL)
p.SetSizer(sizer)
vbox.Add(p, 0, wx.EXPAND)
self.search = wx.SearchCtrl(p, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)
self.search.ShowCancelButton(True)
@@ -63,7 +65,6 @@ class MarketBrowser(wx.Panel):
self.splitter = wx.SplitterWindow(self, style = wx.SP_LIVE_UPDATE)
vbox.Add(self.splitter, 1, wx.EXPAND)
self.SetSizer(vbox)
self.marketView = MarketTree(self.splitter)
listStyle = wx.LC_REPORT | wx.BORDER_NONE | wx.LC_NO_HEADER | wx.LC_SINGLE_SEL

View File

@@ -11,8 +11,9 @@ FitSelected, EVT_FIT_SELECTED = wx.lib.newevent.NewEvent()
class ShipBrowser(wx.Panel):
def __init__(self, parent):
self.built = False
wx.Panel.__init__(self, parent)
self.built = False
self.viewSizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(self.viewSizer)