diff options
author | Marion <marion.zepf@gmail.com> | 2013-09-09 13:23:44 (GMT) |
---|---|---|
committer | Marion <marion.zepf@gmail.com> | 2013-09-09 13:23:44 (GMT) |
commit | 023c384f5cb05d172920e23aaa2bf7820186e5e1 (patch) | |
tree | 9b55290f8070cf466aa43e7f00024dbdb3a2da30 | |
parent | 066e85b7103e978bc306a46b15d5bd2477e42f00 (diff) |
divide the primitive of the 'clean' block up into more functions than before
- The block still does the same, but the exported code is a bit less obscure.
-rw-r--r-- | TurtleArt/tabasics.py | 10 | ||||
-rw-r--r-- | TurtleArt/talogo.py | 17 |
2 files changed, 19 insertions, 8 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py index 3fd3c9c..a905e37 100644 --- a/TurtleArt/tabasics.py +++ b/TurtleArt/tabasics.py @@ -188,12 +188,14 @@ class Palettes(): logo_command='clean', help_string=_('clears the screen and reset the \ turtle')) - self.tw.lc.def_prim( - 'clean', 0, + self.tw.lc.def_prim('clean', 0, Primitive(Primitive.group, arg_descs=[ConstantArg([ Primitive(self.tw.clear_plugins), - Primitive(self.tw.lc.prim_clear_helper, - export_me=False), + Primitive(self.tw.lc.stop_playing_media), + Primitive(self.tw.lc.reset_scale), + Primitive(self.tw.lc.reset_timer), + Primitive(self.tw.lc.clear_value_blocks), + Primitive(self.tw.lc.reset_internals), Primitive(self.tw.canvas.clearscreen), Primitive(self.tw.turtles.reset_turtles)])])) diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index f4cd7ea..ed40555 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -661,18 +661,27 @@ class LogoCode: def prim_clear(self): """ Clear screen """ self.tw.clear_plugins() - self.prim_clear_helper() + self.stop_playing_media() + self.reset_scale() + self.reset_timer() + self.clear_value_blocks() + self.reset_internals() self.tw.canvas.clearscreen() self.tw.turtles.reset_turtles() - def prim_clear_helper(self): + def stop_playing_media(self): if self.tw.gst_available: from tagplay import stop_media stop_media(self) + + def reset_scale(self): self.scale = DEFAULT_SCALE - self.hidden_turtle = None + + def reset_timer(self): self.start_time = time() - self.clear_value_blocks() + + def reset_internals(self): + self.hidden_turtle = None if self.tw.running_turtleart: self.tw.activity.restore_state() |