def __init__(self, icons):
Gtk.ScrolledWindow.__init__(self)
BasePane.__init__(self)
self.state = DisplayState()
self.pane_name = _("Progress")
self.tv = Gtk.TreeView()
# customization
self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
self.add(self.tv)
self.tv.set_headers_visible(False)
self.tv.connect("button-press-event", self._on_button_pressed)
# icon
self.icons = icons
tp = Gtk.CellRendererPixbuf()
tp.set_property("xpad", self.CANCEL_XPAD)
tp.set_property("ypad", self.CANCEL_YPAD)
column = Gtk.TreeViewColumn("Icon", tp, pixbuf=PendingStore.COL_ICON)
self.tv.append_column(column)
# name
tr = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Name", tr, markup=PendingStore.COL_STATUS)
column.set_min_width(200)
column.set_expand(True)
self.tv.append_column(column)
# progress
tp = Gtk.CellRendererProgress()
tp.set_property("xpad", self.CANCEL_XPAD)
tp.set_property("ypad", self.CANCEL_YPAD)
tp.set_property("text", "")
column = Gtk.TreeViewColumn("Progress", tp,
value=PendingStore.COL_PROGRESS,
pulse=PendingStore.COL_PULSE)
column.set_min_width(200)
self.tv.append_column(column)
# cancel icon
tpix = Gtk.CellRendererPixbuf()
column = Gtk.TreeViewColumn("Cancel", tpix,
stock_id=PendingStore.COL_CANCEL)
self.tv.append_column(column)
# fake columns that eats the extra space at the end
tt = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Cancel", tt)
self.tv.append_column(column)
# add it
store = PendingStore(icons)
self.tv.set_model(store)
评论列表
文章目录