Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-03-16 13:29:39 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-03-16 13:29:39 (GMT)
commit7beb2b24aceaf82f41d35e2adcff1e954ea5e6c5 (patch)
treef6953b77466d57acf68cdbc7b6da3b4d7076754d /sugar
parent84dcb022cb1b05d77afc0e4181bfa8b95429d17e (diff)
Use Animation for popdown.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/graphics/canvasicon.py14
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):