diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-07-10 16:51:58 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-07-10 16:51:58 (GMT) |
commit | 1429092b4b38d7e7ef4ffe53d3692a433c637156 (patch) | |
tree | d3bd71cea23da027db08983a1d6cde2e725f1674 | |
parent | aca1a40bf9b870f772c5642226858b87cd7c2a90 (diff) |
remove hippo and make separate callbacks for enter- and leave-notify-events
-rw-r--r-- | src/sugar/graphics/palettewindow.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/sugar/graphics/palettewindow.py b/src/sugar/graphics/palettewindow.py index 5281e54..f61faca 100644 --- a/src/sugar/graphics/palettewindow.py +++ b/src/sugar/graphics/palettewindow.py @@ -25,7 +25,6 @@ import logging import gtk import gobject -import hippo from sugar.graphics import palettegroup from sugar.graphics import animator @@ -793,7 +792,8 @@ class CanvasInvoker(Invoker): Invoker.__init__(self) self._position_hint = self.AT_CURSOR - self._motion_hid = None + self._motion_enter_hid = None + self._motion_leave_hid = None self._release_hid = None self._item = None @@ -804,14 +804,17 @@ class CanvasInvoker(Invoker): Invoker.attach(self, parent) self._item = parent - self._motion_hid = self._item.connect('motion-notify-event', - self.__motion_notify_event_cb) + self._motion_enter_hid = self._item.connect( + 'enter-notify-event', self.__enter_notify_event_cb) + self._motion_leave_hid = self._item.connect( + 'leave-notify-event', self.__leave_notify_event_cb) self._release_hid = self._item.connect('button-release-event', self.__button_release_event_cb) def detach(self): Invoker.detach(self) - self._item.disconnect(self._motion_hid) + self._item.disconnect(self._motion_enter_hid) + self._item.disconnect(self._motion_leave_hid) self._item.disconnect(self._release_hid) def get_default_position(self): @@ -826,12 +829,12 @@ class CanvasInvoker(Invoker): else: return gtk.gdk.Rectangle() - def __motion_notify_event_cb(self, button, event): - if event.detail == hippo.MOTION_DETAIL_ENTER: - self.notify_mouse_enter() - elif event.detail == hippo.MOTION_DETAIL_LEAVE: - self.notify_mouse_leave() + def __enter_notify_event_cb(self, button, event): + self.notify_mouse_enter() + return False + def __leave_notify_event_cb(self, button, event): + self.notify_mouse_leave() return False def __button_release_event_cb(self, button, event): @@ -842,7 +845,7 @@ class CanvasInvoker(Invoker): return False def get_toplevel(self): - return hippo.get_canvas_for_item(self._item).get_toplevel() + return self._item.get_toplevel() class ToolInvoker(WidgetInvoker): |