aboutsummaryrefslogtreecommitdiffstats
path: root/wxbe
blob: a83a89604c35c90d9a96bc6578acb7d4efa748e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/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()