diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-21 12:45:36 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-21 12:45:36 (GMT) |
commit | a054eb3a4b2b58d65db7e49ba093b48e47f26a34 (patch) | |
tree | f89f41155794e5a2b3818397038867afddc7bd3a /sugar | |
parent | 446a58d52c5997c21245a9da9198d111f41532b5 (diff) |
Implement the frame mouse activation logic.
Some fixes in the Timeline
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/canvas/Timeline.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sugar/canvas/Timeline.py b/sugar/canvas/Timeline.py index 333484e..d28aa19 100644 --- a/sugar/canvas/Timeline.py +++ b/sugar/canvas/Timeline.py @@ -40,6 +40,17 @@ class Timeline: n_frames = tag.start_frame - tag.end_frame self._observer.next_frame(tag.name, frame, n_frames) + def goto(self, tag_name, end_frame=False): + self.stop() + + tag = self._name_to_tag[tag_name] + if end_frame: + self._current_frame = tag.end_frame + else: + self._current_frame = tag.start_frame + + self._next_frame(tag, self._current_frame) + def on_tag(self, name): tag = self._name_to_tag[name] return (tag.start_frame <= self._current_frame and \ @@ -67,7 +78,7 @@ class Timeline: self.stop() if start_tag == None: - start = self._tags[0].start_frame + start = 0 else: start = self._name_to_tag[start_tag].start_frame |