Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TurtleArt/tabasics.py32
-rw-r--r--TurtleArt/talogo.py4
-rw-r--r--TurtleArt/tawindow.py4
-rw-r--r--plugins/audio_sensors/audio_sensors.py28
4 files changed, 45 insertions, 23 deletions
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):