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 --- 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 diff --git a/plugins/audio_sensors/audio_sensors.py b/plugins/audio_sensors/audio_sensors.py index ecb2e2d..2c75bd8 100644 --- a/plugins/audio_sensors/audio_sensors.py +++ b/plugins/audio_sensors/audio_sensors.py @@ -26,8 +26,8 @@ except: from plugins.plugin import Plugin -from plugins.audio_sensors.audiograb import AudioGrab, \ - SENSOR_DC_NO_BIAS, SENSOR_DC_BIAS, SENSOR_AC_BIAS +from plugins.audio_sensors.audiograb import (AudioGrab, + SENSOR_DC_NO_BIAS, SENSOR_DC_BIAS, SENSOR_AC_BIAS) from plugins.audio_sensors.ringbuffer import RingBuffer1d @@ -331,7 +331,8 @@ class Audio_sensors(Plugin): buf = self.ringbuffer[channel].read(None, self.input_step) if len(buf) > 0: sound = float(buf[0]) - self._parent.lc.update_label_value('sound', sound) + if self._parent.lc.update_values: + self._parent.lc.update_label_value('sound', sound) return sound else: return 0 @@ -362,7 +363,8 @@ class Audio_sensors(Plugin): maxi += c / float(a + b + c) pitch = maxi * 48000 / (len(buf) * 2) - self._parent.lc.update_label_value('pitch', pitch) + if self._parent.lc.update_values: + self._parent.lc.update_label_value('pitch', pitch) return pitch else: return 0 @@ -372,11 +374,13 @@ class Audio_sensors(Plugin): return 0 if self.hw == XO1: resistance = self._prim_resistance(0) - self._update_resistance_labels(0, resistance) + if self._parent.lc.update_values: + self._update_resistance_labels(0, resistance) return resistance elif self.hw == XO15: resistance = self._prim_resistance(channel) - self._update_resistance_labels(channel, resistance) + if self._parent.lc.update_values: + self._update_resistance_labels(channel, resistance) return resistance # FIXME: For ARM (XO175, XO4) channel assignment is seemingly # random (#3675), so sum both channels @@ -384,7 +388,8 @@ class Audio_sensors(Plugin): chan0 = self._prim_resistance(0) chan1 = self._prim_resistance(1) resistance = (chan0 + chan1) / 2. - self._update_resistance_labels(0, resistance) + if self._parent.lc.update_values: + self._update_resistance_labels(0, resistance) return resistance def _prim_resistance(self, channel): @@ -428,11 +433,13 @@ class Audio_sensors(Plugin): return 0 if self.hw == XO1: voltage = self._prim_voltage(0) - self._update_voltage_labels(0, voltage) + if self._parent.lc.update_values: + self._update_voltage_labels(0, voltage) return voltage elif self.hw == XO15: voltage = self._prim_voltage(channel) - self._update_voltage_labels(channel, voltage) + if self._parent.lc.update_values: + self._update_voltage_labels(channel, voltage) return voltage # FIXME: For ARM (XO175, XO4) channel assignment is seemingly # random (#3675), so sum both channels @@ -440,7 +447,8 @@ class Audio_sensors(Plugin): chan0 = self._prim_voltage(0) chan1 = self._prim_voltage(1) voltage = (chan0 + chan1) / 2. - self._update_voltage_labels(0, voltage) + if self._parent.lc.update_values: + self._update_voltage_labels(0, voltage) return voltage def _prim_voltage(self, channel): -- cgit v0.9.1