diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-03-16 13:29:39 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-03-16 13:29:39 (GMT) |
commit | 7beb2b24aceaf82f41d35e2adcff1e954ea5e6c5 (patch) | |
tree | f6953b77466d57acf68cdbc7b6da3b4d7076754d /sugar | |
parent | 84dcb022cb1b05d77afc0e4181bfa8b95429d17e (diff) |
Use Animation for popdown.
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/graphics/canvasicon.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sugar/graphics/canvasicon.py b/sugar/graphics/canvasicon.py index 6108ece..3d5438f 100644 --- a/sugar/graphics/canvasicon.py +++ b/sugar/graphics/canvasicon.py @@ -41,6 +41,15 @@ class _PopupAnimation(animator.Animation): if current == 1.0: self._icon.show_popup() +class _PopdownAnimation(animator.Animation): + def __init__(self, icon): + animator.Animation.__init__(self, 0.0, 1.0) + self._icon = icon + + def next_frame(self, current): + if current == 1.0: + self._icon.hide_popup() + class _IconCacheIcon: def __init__(self, name, fill_color, stroke_color, now): self.data_size = None @@ -409,7 +418,10 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): self.prelight(enter=True) def _leave(self): - self.hide_popup() + self._popup_anim = animator.Animator(0.2, 10) + self._popup_anim.add(_PopdownAnimation(self)) + self._popup_anim.start() + self.prelight(enter=False) def _enter_or_leave_cb(self): |