Make sure we can display context menus when clicks are anywhere on the

panel
This commit is contained in:
cncfanatics
2010-10-06 11:48:17 +02:00
parent 21465a557e
commit b66cfd06ea

View File

@@ -63,15 +63,17 @@ class StatsPane(wx.Panel):
view = StatsView.getView(viewName)(self) view = StatsView.getView(viewName)(self)
self.views.append(view) self.views.append(view)
contentPanel.Bind(wx.EVT_RIGHT_DOWN, self.contextHandler)
headerPanel = tp.GetHeaderPanel() headerPanel = tp.GetHeaderPanel()
view.populatePanel(contentPanel, headerPanel) view.populatePanel(contentPanel, headerPanel)
tp.SetLabel(view.getHeaderText(None)) tp.SetLabel(view.getHeaderText(None))
view.refreshPanel(None) view.refreshPanel(None)
contentPanel.Bind(wx.EVT_RIGHT_DOWN, self.contextHandler(contentPanel))
for child in contentPanel.GetChildren():
child.Bind(wx.EVT_RIGHT_DOWN, self.contextHandler(contentPanel))
mainSizer.Add(tp, 0, wx.EXPAND | wx.LEFT, 3) mainSizer.Add(tp, 0, wx.EXPAND | wx.LEFT, 3)
if i < maxviews - 1: if i < maxviews - 1:
mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, style=wx.HORIZONTAL), 0, wx.EXPAND | wx.ALL,2) mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, style=wx.HORIZONTAL), 0, wx.EXPAND | wx.ALL,2)
@@ -82,11 +84,13 @@ class StatsPane(wx.Panel):
self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.mainFrame.Bind(fv.FIT_CHANGED, self.fitChanged) self.mainFrame.Bind(fv.FIT_CHANGED, self.fitChanged)
def contextHandler(self, event): def contextHandler(self, contentPanel):
contentPanel = event.EventObject
viewName = contentPanel.viewName viewName = contentPanel.viewName
menu = ContextMenu.getMenu(None, viewName) def handler(event):
if menu is not None: menu = ContextMenu.getMenu(None, viewName)
contentPanel.PopupMenu(menu) if menu is not None:
contentPanel.PopupMenu(menu)
event.Skip() event.Skip()
return handler