]> git.phdru.name Git - m_librarian.git/blob - m_librarian/wx/Grids.py
Refactor(wx): Refactor common code
[m_librarian.git] / m_librarian / wx / Grids.py
1 import wx, wx.grid  # noqa: E401 multiple imports on one line
2 from .AWindow import AWindow
3
4
5 class GridPanel(wx.Panel):
6
7     def __init__(self, parent, param):
8         wx.Panel.__init__(self, parent)
9         self.param = param
10
11         vsizer = wx.BoxSizer(wx.VERTICAL)
12         self.SetSizer(vsizer)
13
14         self.grid = grid = wx.grid.Grid(self)
15         vsizer.Add(grid, 0, wx.EXPAND, 0)
16
17         self.InitGrid()
18
19     def InitGrid(self):
20         raise NotImplementedError
21
22
23 class GridWindow(AWindow):
24
25     # Subclasses must override these
26     session_config_section_name = None
27     window_title = None
28     GridPanelClass = GridPanel
29
30     def __init__(self, parent, param):
31         self.param = param
32         AWindow.__init__(self, parent)
33
34     def OnInit(self):
35         AWindow.OnInit(self)
36         self.GridPanelClass(self, self.param)