37 class LibraryPanel(wx.Panel): |
37 class LibraryPanel(wx.Panel): |
38 |
38 |
39 def __init__(self, parent, enable_drag=False): |
39 def __init__(self, parent, enable_drag=False): |
40 wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL) |
40 wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL) |
41 |
41 |
42 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=0) |
42 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0) |
43 main_sizer.AddGrowableCol(0) |
43 main_sizer.AddGrowableCol(0) |
44 main_sizer.AddGrowableRow(1) |
44 main_sizer.AddGrowableRow(1) |
45 |
45 |
46 self.SearchCtrl = wx.SearchCtrl(self) |
46 self.SearchCtrl = wx.SearchCtrl(self) |
47 self.SearchCtrl.ShowSearchButton(True) |
47 self.SearchCtrl.ShowSearchButton(True) |
50 self.OnSearchButtonClick, self.SearchCtrl) |
50 self.OnSearchButtonClick, self.SearchCtrl) |
51 search_textctrl = self.SearchCtrl.GetChildren()[0] |
51 search_textctrl = self.SearchCtrl.GetChildren()[0] |
52 search_textctrl.Bind(wx.EVT_CHAR, self.OnKeyDown) |
52 search_textctrl.Bind(wx.EVT_CHAR, self.OnKeyDown) |
53 main_sizer.AddWindow(self.SearchCtrl, flag=wx.GROW) |
53 main_sizer.AddWindow(self.SearchCtrl, flag=wx.GROW) |
54 |
54 |
55 self.Tree = wx.TreeCtrl(self, |
55 splitter_window = wx.SplitterWindow(self) |
|
56 splitter_window.SetSashGravity(1.0) |
|
57 main_sizer.AddWindow(splitter_window, flag=wx.GROW) |
|
58 |
|
59 self.Tree = wx.TreeCtrl(splitter_window, |
|
60 size=wx.Size(0, 0), |
56 style=wx.TR_HAS_BUTTONS| |
61 style=wx.TR_HAS_BUTTONS| |
57 wx.TR_SINGLE| |
62 wx.TR_SINGLE| |
58 wx.SUNKEN_BORDER| |
63 wx.SUNKEN_BORDER| |
59 wx.TR_HIDE_ROOT| |
64 wx.TR_HIDE_ROOT| |
60 wx.TR_LINES_AT_ROOT) |
65 wx.TR_LINES_AT_ROOT) |
61 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnTreeItemSelected, self.Tree) |
66 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnTreeItemSelected, self.Tree) |
62 self.Tree.Bind(wx.EVT_CHAR, self.OnKeyDown) |
67 self.Tree.Bind(wx.EVT_CHAR, self.OnKeyDown) |
63 if enable_drag: |
68 if enable_drag: |
64 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnTreeBeginDrag, self.Tree) |
69 self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnTreeBeginDrag, self.Tree) |
65 main_sizer.AddWindow(self.Tree, flag=wx.GROW) |
70 |
66 |
71 self.Comment = wx.TextCtrl(splitter_window, size=wx.Size(0, 80), |
67 self.Comment = wx.TextCtrl(self, size=wx.Size(0, 80), |
|
68 style=wx.TE_READONLY|wx.TE_MULTILINE) |
72 style=wx.TE_READONLY|wx.TE_MULTILINE) |
69 main_sizer.AddWindow(self.Comment, flag=wx.GROW) |
73 |
|
74 splitter_window.SplitHorizontally(self.Tree, self.Comment, -80) |
70 |
75 |
71 self.SetSizer(main_sizer) |
76 self.SetSizer(main_sizer) |
72 |
77 |
73 self.Controller = None |
78 self.Controller = None |
74 |
79 |