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) | ||
