Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-06-13 18:56:37 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-06-13 18:56:37 (GMT)
commit81fc651a1b9aa3d4413f50e60bb828d9ab707d77 (patch)
treec7946e6f1b7e8c645fd097a2c786ef4d1b0d385e /src
parent6c90a3b4fcaa2fd0ccfcdd9dc49fd7f84ad0856b (diff)
Redraw cell renderers on hovering changed
Diffstat (limited to 'src')
-rw-r--r--src/sugar/graphics/palette.py14
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()