diff options
Diffstat (limited to 'TurtleArt/talogo.py')
-rw-r--r-- | TurtleArt/talogo.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 4765222..e53b58d 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -227,7 +227,8 @@ def stop_logo(tw): """ Stop logo is called from the Stop button on the toolbar """ tw.step_time = 0 tw.lc.step = just_stop() - tw.turtles.show_all() + # tw.turtles.show_all() + tw.active_turtle.show() def just_stop(): """ yield False to stop stack """ @@ -402,6 +403,8 @@ class LogoCode: self.iresults = None self.step = None + self.hidden_turtle = None + self.keyboard = 0 self.trace = 0 self.gplay = None @@ -458,7 +461,7 @@ class LogoCode: if run_flag: print "running code: %s" % (code) self.setup_cmd(code) - if self.tw.hide is False: + if not self.tw.hide: self.tw.display_coordinates() else: return code @@ -522,7 +525,8 @@ class LogoCode: def setup_cmd(self, string): """ Execute the psuedocode. """ - self.tw.active_turtle.hide() # Hide the turtle while we are running. + self.hidden_turtle = self.tw.active_turtle + self.hidden_turtle.hide() # Hide the turtle while we are running. self.procstop = False blklist = self.readline(string) self.step = self.start_eval(blklist) @@ -627,7 +631,7 @@ class LogoCode: raise logoerror(str(self.iresult)) self.iline = oldiline self.ireturn() - if self.tw.hide is False and self.tw.step_time > 0: + if not self.tw.hide and self.tw.step_time > 0: self.tw.display_coordinates() yield True @@ -707,7 +711,12 @@ class LogoCode: else: return False except StopIteration: - self.tw.turtles.show_all() + # self.tw.turtles.show_all() + if self.hidden_turtle is not None: + self.hidden_turtle.show() + self.hidden_turtle = None + else: + self.tw.active_turtle.show() return False except logoerror, e: self.tw.showlabel('syntaxerror', str(e)[1:-1]) @@ -774,6 +783,9 @@ class LogoCode: stop_media(self) self.tw.canvas.clearscreen() self.scale = _DEFAULT_SCALE + self.tw.set_polar(False) + self.tw.set_cartesian(False) + self.hidden_turtle = None def prim_start(self): """ Start block: recenter """ |