aboutsummaryrefslogtreecommitdiffstats
path: root/misc/gui/wxbe
diff options
context:
space:
mode:
Diffstat (limited to 'misc/gui/wxbe')
-rwxr-xr-xmisc/gui/wxbe87
1 files changed, 0 insertions, 87 deletions
diff --git a/misc/gui/wxbe b/misc/gui/wxbe
deleted file mode 100755
index e71ae0c..0000000
--- a/misc/gui/wxbe
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env python
-import wx
-from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
-import sys, os.path
-from libbe import bugdir, names
-from libbe.bug import cmp_status, cmp_severity, cmp_time, cmp_full
-
-class MyApp(wx.App):
- def OnInit(self):
- frame = BugListFrame(None, title="Bug List")
- frame.Show(True)
- self.SetTopWindow(frame)
- return True
-
-class BugListFrame(wx.Frame):
- def __init__(self, *args, **kwargs):
- wx.Frame.__init__(self, *args, **kwargs)
- bugs = BugList(self)
-
- # Widgets to display/sort/edit will go in this panel
- # for now it is just a placeholder
- panel = wx.Panel(self)
- panel.SetBackgroundColour("RED")
-
- vbox = wx.BoxSizer(wx.VERTICAL)
- vbox.Add(panel, 0, wx.EXPAND)
- vbox.Add(bugs, 1, wx.EXPAND)
-
- self.SetAutoLayout(True)
- self.SetSizer(vbox)
- self.Layout()
-
-class BugList(wx.ListCtrl, ListCtrlAutoWidthMixin):
- def __init__(self, parent):
- wx.ListCtrl.__init__(self, parent,
- style=wx.LC_REPORT)
- ListCtrlAutoWidthMixin.__init__(self)
-
- self.bugdir = bugdir.tree_root(".")
- self.buglist = list(self.bugdir.list())
- self.buglist.sort()
- self.columns = ("id", "status", "severity", "summary")
-
- dataIndex = 0
- for x in range(len(self.columns)):
- self.InsertColumn(x, self.columns[x].capitalize())
- self.SetColumnWidth(x, wx.LIST_AUTOSIZE_USEHEADER)
- for bug in [b for b in self.buglist if b.active]:
- name = names.unique_name(bug, self.buglist)
- id = self.InsertStringItem(self.GetItemCount(), name)
- self.SetStringItem(id, 1, bug.status)
- self.SetStringItem(id, 2, bug.severity)
- self.SetStringItem(id, 3, bug.summary)
- self.SetItemData(id, dataIndex) # set keys for each line
- dataIndex += 1
- self.EnsureVisible(id)
- for x in range(len(self.columns)):
- self.SetColumnWidth(x, wx.LIST_AUTOSIZE)
- conts_width = self.GetColumnWidth(x)
- self.SetColumnWidth(x, wx.LIST_AUTOSIZE_USEHEADER)
- if conts_width > self.GetColumnWidth(x):
- self.SetColumnWidth(x, conts_width)
-
- self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColumnClick)
- self.bugcmp_fn = cmp_full
- # For reasons I don't understant, sorting is broken...
- #self.SortItems(self.Sorter)
- #self.Refresh()
- def Sorter(self, key1, key2):
- """Get bug info from the keys and pass to self.bugcmp_fn"""
- bug1 = self.buglist[key1-1]
- bug2 = self.buglist[key2-1]
- # Another way of getting bug information
- #bug1uuid = self.GetItem(key1, 0).GetText()
- #bug2uuid = self.GetItem(key2, 0).GetText()
- #print bug1uuid, bug2uuid
- #bug1 = self.bugdir.get_bug(bug1uuid)
- #bug2 = self.bugdir.get_bug(bug1uuid)
- print self.bugcmp_fn(bug1,bug2)
- return self.bugcmp_fn(bug1,bug2)
- def OnColumnClick(self, event):
- """Resort bug list depending on which column was clicked"""
- print "TODO: sort by column %d" % event.Column
- # change self.bugcmp_fn and resort, but I can't get it working
-
-app = MyApp()
-app.MainLoop()