Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/talogo.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-10-22 01:12:59 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-10-22 01:12:59 (GMT)
commit7ca2e993a8973395b05a643df06f7ab7ffea2cd6 (patch)
treeba0f6f2d98aecc74ab22a38c15130b43777f096b /TurtleArt/talogo.py
parent4344ba47cb05ae87b4fc259e85e86bdb8bbbda9b (diff)
extend value block label updates to xcor and ycor attributes
Diffstat (limited to 'TurtleArt/talogo.py')
-rw-r--r--TurtleArt/talogo.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py
index 5d5c24d..6dc47ad 100644
--- a/TurtleArt/talogo.py
+++ b/TurtleArt/talogo.py
@@ -305,8 +305,8 @@ class LogoCode:
DEFPRIM = {
'(': [1, lambda self, x: self.prim_opar(x)],
'and': [2, lambda self, x, y: taand(x, y)],
- 'arc': [2, lambda self, x, y: self.tw.canvas.arc(x, y)],
- 'back': [1, lambda self, x: self.tw.canvas.forward(-x)],
+ 'arc': [2, lambda self, x, y: self.prim_move(self.tw.canvas.arc, x, y)],
+ 'back': [1, lambda self, x: self.prim_move(self.tw.canvas.forward, -x)],
'black': [0, lambda self: BLACK],
'blue': [0, lambda self: 70],
'bpos': [0, lambda self: -self.tw.canvas.height / \
@@ -330,7 +330,8 @@ class LogoCode:
'equal?': [2, lambda self,x, y: taequal(x, y)],
'fillscreen': [2, lambda self, x, y: self.tw.canvas.fillscreen(x, y)],
'forever': [1, self.prim_forever, True],
- 'forward': [1, lambda self, x: self.tw.canvas.forward(x)],
+ 'forward': [1, lambda self, x: self.prim_move(self.tw.canvas.forward,
+ x)],
'fullscreen': [0, lambda self: self.tw.set_fullscreen()],
'greater?': [2, lambda self, x, y: tamore(x, y)],
'green': [0, lambda self: 30],
@@ -384,7 +385,6 @@ class LogoCode:
'savesvg': [1, lambda self, x: self.save_svg(x)],
'scale': [0, lambda self: self.scale],
'see': [0, lambda self: self.see()],
-
'setcolor': [1, lambda self, x: set_prim(self.tw, 'color',
self.tw.canvas.setcolor, x)],
'setgray': [1, lambda self, x: set_prim(self.tw, 'gray',
@@ -397,14 +397,12 @@ class LogoCode:
self.set_scale, x)],
'setshade': [1, lambda self, x: set_prim(self.tw, 'shade',
self.tw.canvas.setshade, x)],
-
'settextcolor': [1, lambda self, x: self.tw.canvas.settextcolor(x)],
'settextsize': [1, lambda self, x: self.tw.canvas.settextsize(x)],
-
- 'setxy2': [2, lambda self, x, y: self.tw.canvas.setxy(x, y)],
- 'setxy': [2, lambda self, x, y: self.tw.canvas.setxy(x, y,
- pendown=False)],
-
+ 'setxy2': [2, lambda self, x, y: self.prim_move(self.tw.canvas.setxy,
+ x, y)],
+ 'setxy': [2, lambda self, x, y: self.prim_move(self.tw.canvas.setxy, x,
+ y, pendown=False)],
'shade': [0, lambda self: self.tw.canvas.shade],
'show': [1, lambda self, x: self.show(x, True)],
'showaligned': [1,lambda self, x: self.show(x, False)],
@@ -857,7 +855,7 @@ class LogoCode:
self.tw.set_cartesian(False)
self.hidden_turtle = None
for name in ['box1', 'box2', 'color', 'shade', 'gray', 'scale',
- 'pensize', 'heading']:
+ 'pensize', 'heading', 'xcor', 'ycor']:
update_label_value(self.tw, name)
def prim_start(self):
@@ -1096,6 +1094,16 @@ class LogoCode:
self.tw.canvas.right(value)
update_label_value(self.tw, 'heading', self.tw.canvas.heading)
+ def prim_move(self, cmd, value1, value2=None):
+ if value2 is None:
+ cmd(value1)
+ else:
+ cmd(value1, value2)
+ update_label_value(self.tw, 'xcor',
+ self.tw.canvas.xcor / self.tw.coord_scale)
+ update_label_value(self.tw, 'ycor',
+ self.tw.canvas.ycor / self.tw.coord_scale)
+
def prim_setbox(self, name, x, val):
""" Define value of named box """
if x is not None: