Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2009-10-17 14:36:46 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2009-10-17 14:36:46 (GMT)
commit84a9eecceca98a9df6f429ecb8d06c749ef292eb (patch)
tree48d8021969435473430aeb6e502adc144902c942
parent5463687e5e8a07a22f2f93e1f03c4982a2c7b22c (diff)
display coordinates
-rw-r--r--TurtleArtActivity.py14
-rw-r--r--talogo.py29
-rw-r--r--tawindow.py1
3 files changed, 40 insertions, 4 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index b4d4b23..12889b5 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -165,6 +165,20 @@ class TurtleArtActivity(activity.Activity):
Cartesian_button.connect('clicked', self._do_Cartesian_cb)
view_toolbar.insert(Cartesian_button,-1)
Cartesian_button.show()
+
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = True
+ view_toolbar.insert(separator, -1)
+ separator.show()
+
+ self.coordinates_label = \
+ gtk.Label(_("(x,y): ") + "(0,0)")
+ self.coordinates_label.set_line_wrap(True)
+ self.coordinates_label.show()
+ self.coordinates_toolitem = gtk.ToolItem()
+ self.coordinates_toolitem.add(self.coordinates_label)
+ view_toolbar.insert(self.coordinates_toolitem,-1)
+ self.coordinates_toolitem.show()
view_toolbar_button = ToolbarButton(
page=view_toolbar,
diff --git a/talogo.py b/talogo.py
index a49b3f9..3693ba9 100644
--- a/talogo.py
+++ b/talogo.py
@@ -189,6 +189,7 @@ def evline(lc, list):
raise logoerror(str(lc.iresult))
lc.iline = oldiline
ireturn(lc)
+ display_coordinates(lc.tw)
yield True
def eval(lc, infixarg=False):
@@ -247,15 +248,16 @@ def infixnext(lc):
def debug_trace(lc, token):
if lc.trace:
- if token.name in ['forward', 'right', 'back', 'left', 'seth', 'setxy', 'arc', \
- 'heading', 'xcor', 'ycor']:
+ if token.name in ['forward', 'right', 'back', 'left', 'seth', 'setxy', \
+ 'arc', 'heading', 'xcor', 'ycor']:
my_string = token.name +\
"\nxcor= " + str(int(lc.tw.turtle.xcor)) +\
"\nycor= " + str(int(lc.tw.turtle.ycor)) +\
"\nheading= " + str(int(lc.tw.turtle.heading)) +\
"\nscale= " + str(lc.scale)
- elif token.name in ['penup', 'pendown', 'setcolor', 'setshade', 'fillscreen',\
- 'settextcolor', 'settextsize', 'shade', 'color', 'pensize']:
+ elif token.name in ['penup', 'pendown', 'setcolor', 'setshade', \
+ 'settextcolor', 'settextsize', 'shade', 'color', \
+ 'fillscreen', 'pensize']:
if lc.tw.turtle.pendown:
penstatus = "\npen down"
else:
@@ -593,6 +595,25 @@ def lcNew(tw):
return lc
+def display_coordinates(tw):
+ if hasattr(tw, "activity"):
+ if hasattr(tw.activity, "coordinates_label"):
+ x = tw.turtle.xcor
+ if int(float(x)) == x:
+ xx = int(x)
+ else:
+ xx = int(float(x)*10)/10.
+ y = tw.turtle.ycor
+ if int(float(y)) == y:
+ yy = int(y)
+ else:
+ yy = int(float(y)*10)/10.
+ # print _("(x,y): ") + "(" + str(xx) + "," + str(yy) + ")"
+ tw.activity.coordinates_label.set_text(_("(x,y): ") + "(" + \
+ str(xx) + "," + \
+ str(yy) + ")")
+ tw.activity.coordinates_label.show()
+
def box(lc,x):
try:
return lc.boxes['box3'+str(x)]
diff --git a/tawindow.py b/tawindow.py
index 30ba715..e41af70 100644
--- a/tawindow.py
+++ b/tawindow.py
@@ -404,6 +404,7 @@ def button_release(tw, x, y, verbose=False):
tw.turtle.ycor = tw.turtle.canvas.height/2-tw.turtle.spr.y+ \
tw.turtle.canvas.y-30
move_turtle(tw.turtle)
+ display_coordinates(tw)
tw.draggroup = None
return
if tw.block_operation=='move' and hit(tw.category_spr, (x,y)):