def __init__(self, readonly=False, hob=False): gtk.TreeView.__init__(self) self.readonly = readonly # The icon that indicates whether we're building or failed. # add 'hob' flag because there has not only hob to share this code if hob: renderer = HobCellRendererPixbuf() else: renderer = gtk.CellRendererPixbuf() col = gtk.TreeViewColumn("Status", renderer) col.add_attribute(renderer, "icon-name", 4) self.append_column(col) # The message of the build. # add 'hob' flag because there has not only hob to share this code if hob: self.message_renderer = HobWarpCellRendererText(col_number=1) else: self.message_renderer = gtk.CellRendererText() self.message_column = gtk.TreeViewColumn("Message", self.message_renderer, text=3) self.message_column.add_attribute(self.message_renderer, 'background', 5) self.message_renderer.set_property('editable', (not self.readonly)) self.append_column(self.message_column)
def __init__ (self): gtk.TreeView.__init__(self) self.set_rules_hint(False) self.set_headers_visible(False) self.set_property("hover-expand", True) self.get_selection().set_mode(gtk.SELECTION_SINGLE) # The icon that indicates whether we're building or failed. renderer0 = gtk.CellRendererText() renderer0.set_property('font-desc', pango.FontDescription('courier bold 12')) col0 = gtk.TreeViewColumn ("Name", renderer0, text=0) self.append_column (col0) # The message of configuration. renderer1 = HobWarpCellRendererText(col_number=1) col1 = gtk.TreeViewColumn ("Values", renderer1, text=1) self.append_column (col1)
def __init__(self): gtk.TreeView.__init__(self) self.set_rules_hint(False) self.set_headers_visible(False) self.get_selection().set_mode(gtk.SELECTION_SINGLE) # The icon that indicates whether we're building or failed. renderer = HobCellRendererPixbuf() col = gtk.TreeViewColumn("Status", renderer) col.add_attribute(renderer, "icon-name", RunningBuildModel.COL_ICON) self.append_column(col) # The message of the build. self.message_renderer = HobWarpCellRendererText(col_number=1) self.message_column = gtk.TreeViewColumn( "Message", self.message_renderer, text=RunningBuildModel.COL_MESSAGE, background=RunningBuildModel.COL_COLOR) self.append_column(self.message_column)
def __init__ (self, readonly=False, hob=False): gtk.TreeView.__init__ (self) self.readonly = readonly # The icon that indicates whether we're building or failed. # add 'hob' flag because there has not only hob to share this code if hob: renderer = HobCellRendererPixbuf () else: renderer = gtk.CellRendererPixbuf() col = gtk.TreeViewColumn ("Status", renderer) col.add_attribute (renderer, "icon-name", 4) self.append_column (col) # The message of the build. # add 'hob' flag because there has not only hob to share this code if hob: self.message_renderer = HobWarpCellRendererText (col_number=1) else: self.message_renderer = gtk.CellRendererText () self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3) self.message_column.add_attribute(self.message_renderer, 'background', 5) self.message_renderer.set_property('editable', (not self.readonly)) self.append_column (self.message_column)
class RunningBuildTreeView(gtk.TreeView): __gsignals__ = {"button_press_event": "override"} def __init__(self, readonly=False, hob=False): gtk.TreeView.__init__(self) self.readonly = readonly # The icon that indicates whether we're building or failed. # add 'hob' flag because there has not only hob to share this code if hob: renderer = HobCellRendererPixbuf() else: renderer = gtk.CellRendererPixbuf() col = gtk.TreeViewColumn("Status", renderer) col.add_attribute(renderer, "icon-name", 4) self.append_column(col) # The message of the build. # add 'hob' flag because there has not only hob to share this code if hob: self.message_renderer = HobWarpCellRendererText(col_number=1) else: self.message_renderer = gtk.CellRendererText() self.message_column = gtk.TreeViewColumn("Message", self.message_renderer, text=3) self.message_column.add_attribute(self.message_renderer, 'background', 5) self.message_renderer.set_property('editable', (not self.readonly)) self.append_column(self.message_column) def do_button_press_event(self, event): gtk.TreeView.do_button_press_event(self, event) if event.button == 3: selection = super(RunningBuildTreeView, self).get_selection() (model, it) = selection.get_selected() if it is not None: can_paste = model.get(it, model.COL_LOG)[0] if can_paste == 'pastebin': # build a simple menu with a pastebin option menu = gtk.Menu() menuitem = gtk.MenuItem("Copy") menu.append(menuitem) menuitem.connect("activate", self.clipboard_handler, (model, it)) menuitem.show() menuitem = gtk.MenuItem("Send log to pastebin") menu.append(menuitem) menuitem.connect("activate", self.pastebin_handler, (model, it)) menuitem.show() menu.show() menu.popup(None, None, None, event.button, event.time) def _add_to_clipboard(self, clipping): """ Add the contents of clipping to the system clipboard. """ clipboard = gtk.clipboard_get() clipboard.set_text(clipping) clipboard.store() def pastebin_handler(self, widget, data): """ Send the log data to pastebin, then add the new paste url to the clipboard. """ (model, it) = data paste_url = do_pastebin(model.get(it, model.COL_MESSAGE)[0]) # @todo Provide visual feedback to the user that it is done and that # it worked. print paste_url self._add_to_clipboard(paste_url) def clipboard_handler(self, widget, data): """ """ (model, it) = data message = model.get(it, model.COL_MESSAGE)[0] self._add_to_clipboard(message)
class RunningBuildTreeView (gtk.TreeView): __gsignals__ = { "button_press_event" : "override" } def __init__ (self, readonly=False, hob=False): gtk.TreeView.__init__ (self) self.readonly = readonly # The icon that indicates whether we're building or failed. # add 'hob' flag because there has not only hob to share this code if hob: renderer = HobCellRendererPixbuf () else: renderer = gtk.CellRendererPixbuf() col = gtk.TreeViewColumn ("Status", renderer) col.add_attribute (renderer, "icon-name", 4) self.append_column (col) # The message of the build. # add 'hob' flag because there has not only hob to share this code if hob: self.message_renderer = HobWarpCellRendererText (col_number=1) else: self.message_renderer = gtk.CellRendererText () self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3) self.message_column.add_attribute(self.message_renderer, 'background', 5) self.message_renderer.set_property('editable', (not self.readonly)) self.append_column (self.message_column) def do_button_press_event(self, event): gtk.TreeView.do_button_press_event(self, event) if event.button == 3: selection = super(RunningBuildTreeView, self).get_selection() (model, it) = selection.get_selected() if it is not None: can_paste = model.get(it, model.COL_LOG)[0] if can_paste == 'pastebin': # build a simple menu with a pastebin option menu = gtk.Menu() menuitem = gtk.MenuItem("Copy") menu.append(menuitem) menuitem.connect("activate", self.clipboard_handler, (model, it)) menuitem.show() menuitem = gtk.MenuItem("Send log to pastebin") menu.append(menuitem) menuitem.connect("activate", self.pastebin_handler, (model, it)) menuitem.show() menu.show() menu.popup(None, None, None, event.button, event.time) def _add_to_clipboard(self, clipping): """ Add the contents of clipping to the system clipboard. """ clipboard = gtk.clipboard_get() clipboard.set_text(clipping) clipboard.store() def pastebin_handler(self, widget, data): """ Send the log data to pastebin, then add the new paste url to the clipboard. """ (model, it) = data paste_url = do_pastebin(model.get(it, model.COL_MESSAGE)[0]) # @todo Provide visual feedback to the user that it is done and that # it worked. print paste_url self._add_to_clipboard(paste_url) def clipboard_handler(self, widget, data): """ """ (model, it) = data message = model.get(it, model.COL_MESSAGE)[0] self._add_to_clipboard(message)