diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-13 18:56:37 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-13 19:24:48 (GMT) |
commit | 32109b8764e3b44a640538b8a96707ad8d035e69 (patch) | |
tree | 7a05791884d4bfe8ace7dc87f1e764a33a969596 | |
parent | 94e12f52f253c27738f88c053c95169aa199ee51 (diff) |
Redraw cell renderers on hovering changed
-rw-r--r-- | src/sugar/graphics/palette.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/sugar/graphics/palette.py b/src/sugar/graphics/palette.py index f94f4bc..3419e52 100644 --- a/src/sugar/graphics/palette.py +++ b/src/sugar/graphics/palette.py @@ -1203,6 +1203,10 @@ class CellRendererInvoker(Invoker): path, column_, x_, y_ = tree_view.get_path_at_pos(int(event.x), int(event.y)) if path != self.path: + if self.path is not None: + self._redraw_path(self.path) + if path is not None: + self._redraw_path(path) if self.palette is not None: self.palette.popdown(immediate=True) self.palette = None @@ -1210,9 +1214,19 @@ class CellRendererInvoker(Invoker): self.notify_mouse_enter() else: + if self.path is not None: + self._redraw_path(self.path) self.path = None self.notify_mouse_leave() + def _redraw_path(self, path): + for column in self._tree_view.get_columns(): + if self._cell_renderer in column.get_cell_renderers(): + break + area = self._tree_view.get_background_area(path, column) + x, y = self._tree_view.convert_tree_to_widget_coords(area.x, area.y) + self._tree_view.queue_draw_area(x, y, area.width, area.height) + def __leave_notify_event_cb(self, widget, event): self.notify_mouse_leave() |