aboutsummaryrefslogtreecommitdiffstats
path: root/misc/gui/wxbe
blob: 40c584d11e6cd61f1f8eb005041f1177935862af (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
44
45
46
47
48
49
#!/usr/bin/env python
from wxPython.wx import *
from wxPython.lib.mixins.listctrl import wxListCtrlAutoWidthMixin
import sys, os.path
sys.path.append(os.path.realpath(os.path.join".."))
from libbe import bugdir

class MyApp(wxApp):
    def OnInit(self):
        frame = wxFrame(NULL, -1, "Bug display")
        frame.Show(true)
        self.SetTopWindow(frame)
        panel = wxPanel(frame, -1, style=(wxVSCROLL | wxHSCROLL))
        panel.SetSize((500, 400))
        sizer = wxBoxSizer(wxVERTICAL)
        sizer.Add(panel, wxGROW)
        frame.SetSizer(sizer)
        bugs = BugList(panel)
        bugs.SetSize((400, -1))
#        bugs.SetDimensions(-1, -1, -1, -1)
        sizer = wxBoxSizer(wxVERTICAL)
        sizer.Add(bugs, wxGROW)
        frame.SetSizer(sizer)
        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()