1 import wx, wx.grid # noqa: E401 multiple imports on one line
2 from .AWindow import AWindow
5 class GridPanel(wx.Panel):
7 def __init__(self, parent, param):
8 wx.Panel.__init__(self, parent)
11 vsizer = wx.BoxSizer(wx.VERTICAL)
14 self.grid = grid = wx.grid.Grid(self)
15 vsizer.Add(grid, 0, wx.EXPAND, 0)
17 grid.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnDClick)
18 grid.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
23 parent.Bind(wx.EVT_ACTIVATE, self.OnActivate)
24 parent.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
25 self.Bind(wx.EVT_ACTIVATE, self.OnActivate)
26 self.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
29 raise NotImplementedError
31 def OnDClick(self, event):
32 raise NotImplementedError
34 def OnKeyDown(self, event):
35 raise NotImplementedError
37 def OnActivate(self, event):
41 def OnSetFocus(self, event):
45 class GridWindow(AWindow):
47 # Subclasses must override these
48 session_config_section_name = None
50 GridPanelClass = GridPanel
52 def __init__(self, parent, param):
54 AWindow.__init__(self, parent)
58 self.panel = self.GridPanelClass(self, self.param)