--- /dev/null
+#!/usr/bin/env python
+from wxPython.wx import *
+from wxPython.lib.mixins.listctrl import wxListCtrlAutoWidthMixin
+from libbe import bugdir
+
+class MyApp(wxApp):
+ def OnInit(self):
+ frame = wxFrame(NULL, -1, "Bug display")
+ frame.Show(true)
+ self.SetTopWindow(frame)
+ sizer = wxBoxSizer(wxVERTICAL)
+ bugs = BugList(frame)
+ bugs.SetSize((400, 65))
+# bugs.SetDimensions(-1, -1, -1, -1)
+ sizer.Add(bugs, wxGROW)
+ frame.SetSizer(sizer)
+ frame.Layout()
+ return true
+
+class BugList(wxListCtrl, wxListCtrlAutoWidthMixin):
+ def __init__(self, parent):
+ wxListCtrl.__init__(self, parent, -1,
+ style = wxLC_REPORT|wxLC_VRULES|wxLC_HRULES)
+ wxListCtrlAutoWidthMixin.__init__(self)
+ columns = ("Severity", "Creator", "Summary")
+ for x in range(len(columns)):
+ self.InsertColumn(x, columns[x])
+ self.SetColumnWidth(x, wxLIST_AUTOSIZE_USEHEADER)
+ for bug in [b for b in bugdir.tree_root(".").list() if b.active]:
+ id = self.InsertStringItem(self.GetItemCount(), bug.severity)
+ self.SetStringItem(id, 1, bug.creator)
+ self.SetStringItem(id, 2, bug.summary)
+ self.EnsureVisible(id)
+ for x in range(len(columns)):
+ self.SetColumnWidth(x, wxLIST_AUTOSIZE)
+ conts_width = self.GetColumnWidth(x)
+ self.SetColumnWidth(x, wxLIST_AUTOSIZE_USEHEADER)
+ if conts_width > self.GetColumnWidth(x):
+ self.SetColumnWidth(x, conts_width)
+
+
+app = MyApp(0)
+app.MainLoop()