From 0a9af5864cec9dc59b611c8fcf69053ed67a37db Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sun, 23 Dec 2012 21:26:21 +0000 Subject: clean up value block updates --- (limited to 'TurtleArt') diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py index cdf092c..776dc3b 100644 --- a/TurtleArt/tabasics.py +++ b/TurtleArt/tabasics.py @@ -1015,11 +1015,12 @@ variable')) def _prim_arc(self, cmd, value1, value2): """ Turtle draws an arc of degree, radius """ cmd(float(value1), float(value2)) - self.tw.lc.update_label_value( - 'xcor', self.tw.canvas.xcor / self.tw.coord_scale) - self.tw.lc.update_label_value( - 'ycor', self.tw.canvas.ycor / self.tw.coord_scale) - self.tw.lc.update_label_value('heading', self.tw.canvas.heading) + if self.tw.lc.update_values: + self.tw.lc.update_label_value( + 'xcor', self.tw.canvas.xcor / self.tw.coord_scale) + self.tw.lc.update_label_value( + 'ycor', self.tw.canvas.ycor / self.tw.coord_scale) + self.tw.lc.update_label_value('heading', self.tw.canvas.heading) def _prim_box(self, x): """ Retrieve value from named box """ @@ -1064,10 +1065,11 @@ variable')) cmd(value1) else: cmd(float(value1), float(value2), pendown=pendown) - self.tw.lc.update_label_value('xcor', - self.tw.canvas.xcor / self.tw.coord_scale) - self.tw.lc.update_label_value('ycor', - self.tw.canvas.ycor / self.tw.coord_scale) + if self.tw.lc.update_values: + self.tw.lc.update_label_value( + 'xcor', self.tw.canvas.xcor / self.tw.coord_scale) + self.tw.lc.update_label_value( + 'ycor', self.tw.canvas.ycor / self.tw.coord_scale) def _prim_or(self, x, y): """ Logical or """ @@ -1087,13 +1089,15 @@ variable')) def _prim_right(self, value): """ Turtle rotates clockwise """ self.tw.canvas.right(float(value)) - self.tw.lc.update_label_value('heading', self.tw.canvas.heading) + if self.tw.lc.update_values: + self.tw.lc.update_label_value('heading', self.tw.canvas.heading) def _prim_set(self, name, cmd, value=None): """ Set a value and update the associated value blocks """ if value is not None: cmd(value) - self.tw.lc.update_label_value(name, value) + if self.tw.lc.update_values: + self.tw.lc.update_label_value(name, value) def _prim_setbox(self, name, x, val): """ Define value of named box """ @@ -1102,10 +1106,12 @@ variable')) if int(float(x)) == x: x = int(x) self.tw.lc.boxes[name + str(x)] = val - self.tw.lc.update_label_value('box', val, label=x) + if self.tw.lc.update_values: + self.tw.lc.update_label_value('box', val, label=x) else: self.tw.lc.boxes[name] = val - self.tw.lc.update_label_value(name, val) + if self.tw.lc.update_values: + self.tw.lc.update_label_value(name, val) def _prim_stack(self, x): """ Process a named stack """ diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 2fd4904..c1456d7 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -200,6 +200,7 @@ class LogoCode: self.update_values = True else: self.update_values = False + self.clear_value_blocks() # Disabled hover help while program is running if not self.tw.no_help: self._disable_help = True @@ -599,6 +600,9 @@ class LogoCode: self.scale = DEFAULT_SCALE self.hidden_turtle = None self.start_time = time() + self.clear_value_blocks() + + def clear_value_blocks(self): for name in value_blocks: self.update_label_value(name) diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 6fe71e5..7192077 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -2112,6 +2112,10 @@ class TurtleArtWindow(): self.canvas.setpen(True) else: self.canvas.setxy(tx, ty, share=False) + self.lc.update_label_value('xcor', + self.canvas.xcor / self.coord_scale) + self.lc.update_label_value('ycor', + self.canvas.ycor / self.coord_scale) else: dx = x - sx - self.selected_turtle.spr.rect.width / 2 dy = y - sy - self.selected_turtle.spr.rect.height / 2 -- cgit v0.9.1