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@sugarlabs.org>2010-10-25 18:08:26 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-10-25 18:08:26 (GMT)
commitd141424e6026319e863f7fc17915d7cd4f86477b (patch)
tree59e6c90c7bc2524080c05a191b1c1a519ccf7c96 /TurtleArt
parenta1dc1d2e47593f890c0eeeb0368d92b689f0e0ea (diff)
more timely updates of value blocks when dragging the turtle
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tawindow.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index af039fa..b550a50 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -1175,18 +1175,14 @@ class TurtleArtWindow():
dx = x - tx - w
dy = y - ty - h
# if x, y is near the edge, rotate
+ if not hasattr(self.lc, 'value_blocks'):
+ self.lc.find_value_blocks()
+ self.lc.update_values = True
if (dx * dx) + (dy * dy) > ((w * w) + (h * h)) / 6:
self.drag_turtle = ('turn',
self.canvas.heading - atan2(dy, dx) / DEGTOR, 0)
- self.lc.update_label_value('heading', self.canvas.heading)
else:
self.drag_turtle = ('move', x - tx, y - ty)
- self.lc.update_label_value('xcor',
- self.canvas.xcor / self.coord_scale)
- self.lc.update_label_value('ycor',
- self.canvas.ycor / self.coord_scale)
- if len(self.lc.value_blocks['see']) > 0:
- self.lc.see()
def _move_cb(self, win, event):
x, y = xy(event)
@@ -1211,6 +1207,7 @@ class TurtleArtWindow():
dy = y - sy - self.active_turtle.spr.rect.height / 2
self.canvas.seth(int(dragx + atan2(dy, dx) / DEGTOR + 5) / \
10 * 10)
+ self.lc.update_label_value('heading', self.canvas.heading)
# If we are hoving, show popup help.
elif self.drag_group is None:
@@ -1361,6 +1358,7 @@ class TurtleArtWindow():
self._move_turtle(0, 0)
self.canvas.heading = 0
self.canvas.turn_turtle()
+ self.lc.update_label_value('heading', self.canvas.heading)
else:
self.selected_turtle.hide()
self.turtles.remove_from_dict(k)
@@ -1416,6 +1414,12 @@ class TurtleArtWindow():
if self.running_sugar:
self.display_coordinates()
self.selected_turtle.spr.set_layer(TURTLE_LAYER)
+ self.lc.update_label_value('xcor',
+ self.canvas.xcor / self.coord_scale)
+ self.lc.update_label_value('ycor',
+ self.canvas.ycor / self.coord_scale)
+ if len(self.lc.value_blocks['see']) > 0:
+ self.lc.see()
def _click_block(self, x, y):
""" Click block: lots of special cases to handle... """