Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-12-23 21:26:21 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-12-23 21:26:21 (GMT)
commit0a9af5864cec9dc59b611c8fcf69053ed67a37db (patch)
tree4cc544a2fcf2a9d90e90fade21b7042c78927134 /TurtleArt
parent80456eeceaf4a6f300367dd91378c732e74d8665 (diff)
clean up value block updates
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tabasics.py32
-rw-r--r--TurtleArt/talogo.py4
-rw-r--r--TurtleArt/tawindow.py4
3 files changed, 27 insertions, 13 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