diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobwidget.py')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobwidget.py | 24 |
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 | ||
735 | class 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 | |||
758 | gobject.type_register(HobWarpCellRendererText) | ||