From 29cd6b61fe1c41cf5558080beb262f47940a2095 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Wed, 02 May 2012 01:18:39 +0000 Subject: more refinements to the run/hide blocks interaction --- diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 5bf202d..4049a65 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -352,10 +352,14 @@ class LogoCode: yield True if self.tw.running_sugar: # self.tw.activity.stop_turtle_button.set_icon("stopitoff") - if self.tw.step_time == 0: + if self.tw.step_time == 0 and self.tw.selected_blk is None: self.tw.activity.stop_turtle_button.set_icon("hideshowoff") self.tw.activity.stop_turtle_button.set_tooltip( _('Show blocks')) + else: + self.tw.activity.stop_turtle_button.set_icon("stopitoff") + self.tw.activity.stop_turtle_button.set_tooltip( + _('Stop turtle')) elif self.tw.interactive_mode: self.tw.toolbar_shapes['stopiton'].hide() yield False diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index f8ecf02..852661b 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -494,7 +494,7 @@ class TurtleArtWindow(): self.lc.prim_clear() self.display_coordinates() - def run_button(self, time): + def run_button(self, time, running_from_button_push=False): """ Run turtle! """ if self.running_sugar: self.activity.recenter() @@ -505,6 +505,10 @@ class TurtleArtWindow(): self.step_time = time debug_output("running stack starting from %s" % (blk.name), self.running_sugar) + if running_from_button_push: + self.selected_blk = None + else: + self.selected_blk = blk self._run_stack(blk) return @@ -514,6 +518,10 @@ class TurtleArtWindow(): self.step_time = time debug_output("running stack starting from %s" % (blk.name), self.running_sugar) + if running_from_button_push: + self.selected_blk = None + else: + self.selected_blk = blk self._run_stack(blk) return diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index 2bd8fd6..04f6229 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -360,21 +360,21 @@ class TurtleArtActivity(activity.Activity): self.tw.lc.trace = 0 # Autohide blocks and palettes on run self.tw.hideblocks() - self.tw.run_button(0) + self.tw.run_button(0, running_from_button_push=True) gobject.timeout_add(1000, self.run_button.set_icon, 'run-fastoff') def do_step_cb(self, button): ''' Callback for step button (turtle) ''' self.step_button.set_icon('run-slowon') self.tw.lc.trace = 1 - self.tw.run_button(3) + self.tw.run_button(3, running_from_button_push=True) gobject.timeout_add(1000, self.step_button.set_icon, 'run-slowoff') def do_debug_cb(self, button): ''' Callback for debug button (bug) ''' self.debug_button.set_icon('debugon') self.tw.lc.trace = 1 - self.tw.run_button(9) + self.tw.run_button(9, running_from_button_push=True) gobject.timeout_add(1000, self.debug_button.set_icon, 'debugoff') def do_stop_cb(self, button): -- cgit v0.9.1