summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/hobwidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobwidget.py')
-rw-r--r--bitbake/lib/bb/ui/crumbs/hobwidget.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobwidget.py b/bitbake/lib/bb/ui/crumbs/hobwidget.py
index 9d144c906b..020c5e232d 100644
--- a/bitbake/lib/bb/ui/crumbs/hobwidget.py
+++ b/bitbake/lib/bb/ui/crumbs/hobwidget.py
@@ -732,3 +732,27 @@ class HobNotebook(gtk.VBox):
732 def set_search_entry_clear_cb(self, search, icon_pos, event): 732 def set_search_entry_clear_cb(self, search, icon_pos, event):
733 self.reset_entry(search) 733 self.reset_entry(search)
734 734
735class HobWarpCellRendererText(gtk.CellRendererText):
736 def __init__(self, col_number):
737 gtk.CellRendererText.__init__(self)
738 self.set_property("wrap-mode", pango.WRAP_WORD_CHAR)
739 self.set_property("wrap-width", 300) # default value wrap width is 300
740 self.col_n = col_number
741
742 def do_render(self, window, widget, background_area, cell_area, expose_area, flags):
743 if widget:
744 self.props.wrap_width = self.get_resized_wrap_width(widget, widget.get_column(self.col_n))
745 return gtk.CellRendererText.do_render(self, window, widget, background_area, cell_area, expose_area, flags)
746
747 def get_resized_wrap_width(self, treeview, column):
748 otherCols = []
749 for col in treeview.get_columns():
750 if col != column:
751 otherCols.append(col)
752 adjwidth = treeview.allocation.width - sum(c.get_width() for c in otherCols)
753 adjwidth -= treeview.style_get_property("horizontal-separator") * 4
754 if self.props.wrap_width == adjwidth or adjwidth <= 0:
755 adjwidth = self.props.wrap_width
756 return adjwidth
757
758gobject.type_register(HobWarpCellRendererText)