Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2013-03-01 22:30:09 (GMT)
committer Walter Bender <walter.bender@gmail.com>2013-03-01 22:30:09 (GMT)
commitf5a205566335b3bc711822f89252c3e1a7b6bf43 (patch)
tree44f2738508cf8fe97e49119a971ca70ec96ffc30
parent007b1147007a01c242101b467e7bce73b3375bf7 (diff)
work on coordinate display
-rw-r--r--TurtleArt/tawindow.py21
-rw-r--r--TurtleArtActivity.py40
2 files changed, 38 insertions, 23 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index dd3013f..686b30e 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -137,6 +137,7 @@ class TurtleArtWindow():
self.mouse_flag = 0
self.mouse_x = 0
self.mouse_y = 0
+ self.update_counter = 0
self.running_blocks = False
try:
@@ -1271,8 +1272,7 @@ before making changes to your Turtle Blocks program'))
self.dragging_canvas[1] = x
self.dragging_canvas[2] = y
if spr is None:
- if not self.running_blocks and not self.hw in (
- XO1, XO15, XO175, XO30):
+ if not self.running_blocks and not self.hw in [XO1]:
self.dragging_canvas[0] = True
self.dragging_counter = 0
self.dragging_dx = 0
@@ -1459,6 +1459,7 @@ before making changes to your Turtle Blocks program'))
self.selected_turtle = t
self.canvas.set_turtle(self.turtles.get_turtle_key(t))
self._turtle_pressed(x, y)
+ self.update_counter = 0
return True
return False
@@ -2183,6 +2184,7 @@ before making changes to your Turtle Blocks program'))
(sx, sy) = self.selected_turtle.get_xy()
# self.canvas.set_turtle(self.selected_turtle.get_name())
if dtype == 'move':
+ self.update_counter += 1
dx = x - dragx - sx + self.selected_turtle.spr.rect.width / 2
dy = y - dragy - sy + self.selected_turtle.spr.rect.height / 2
self.selected_turtle.spr.set_layer(TOP_LAYER)
@@ -2194,16 +2196,21 @@ before making changes to your Turtle Blocks program'))
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)
+ if self.update_counter % 10:
+ 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
self.canvas.seth(int(dragx + atan2(dy, dx) / DEGTOR + 5) / \
10 * 10, share=False)
- self.lc.update_label_value('heading', self.canvas.heading)
+ if self.update_counter % 10:
+ self.lc.update_label_value('heading', self.canvas.heading)
+ if self.update_counter % 10:
+ self.display_coordinates()
+ self.update_counter = 0
self.turtle_movement_to_share = self.selected_turtle
# If we are hoving, show popup help.
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index c459688..a5d9070 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -135,6 +135,7 @@ class TurtleArtActivity(activity.Activity):
self._toolbox.toolbar.remove(self.samples_button)
self._toolbox.toolbar.remove(self.stop_separator)
self._toolbox.toolbar.remove(self.stop_button)
+ self._view_toolbar.remove(self._coordinates_toolitem)
if gtk.gdk.screen_width() / 14 < style.GRID_CELL_SIZE:
self.keep_button2.show()
@@ -157,6 +158,7 @@ class TurtleArtActivity(activity.Activity):
self._toolbox.toolbar.insert(self.stop_separator, -1)
self.stop_separator.show()
self._toolbox.toolbar.insert(self.stop_button, -1)
+ self._view_toolbar.insert(self._coordinates_toolitem, -1)
self._toolbox.show_all()
@@ -572,9 +574,9 @@ class TurtleArtActivity(activity.Activity):
page=edit_toolbar,
icon_name='toolbar-edit')
- view_toolbar = gtk.Toolbar()
+ self._view_toolbar = gtk.Toolbar()
self.view_toolbar_button = ToolbarButton(label=_('View'),
- page=view_toolbar,
+ page=self._view_toolbar,
icon_name='toolbar-view')
self._palette_toolbar = gtk.Toolbar()
self.palette_toolbar_button = ToolbarButton(
@@ -601,8 +603,8 @@ class TurtleArtActivity(activity.Activity):
self._project_toolbar = gtk.Toolbar()
self._toolbox.add_toolbar(_('Project'), self._project_toolbar)
- view_toolbar = gtk.Toolbar()
- self._toolbox.add_toolbar(_('View'), view_toolbar)
+ self._view_toolbar = gtk.Toolbar()
+ self._toolbox.add_toolbar(_('View'), self._view_toolbar)
edit_toolbar = gtk.Toolbar()
self._toolbox.add_toolbar(_('Edit'), edit_toolbar)
journal_toolbar = gtk.Toolbar()
@@ -622,31 +624,37 @@ class TurtleArtActivity(activity.Activity):
self._undo_cb, edit_toolbar)
self._add_button('view-fullscreen', _('Fullscreen'),
- self.do_fullscreen_cb, view_toolbar, '<Alt>Return')
+ self.do_fullscreen_cb, self._view_toolbar,
+ '<Alt>Return')
self._add_button('view-Cartesian', _('Cartesian coordinates'),
- self.do_cartesian_cb, view_toolbar)
+ self.do_cartesian_cb, self._view_toolbar)
self._add_button('view-polar', _('Polar coordinates'),
- self.do_polar_cb, view_toolbar)
+ self.do_polar_cb, self._view_toolbar)
if get_hardware() in [XO1, XO15, XO175, XO4]:
self._add_button('view-metric', _('Metric coordinates'),
- self.do_metric_cb, view_toolbar)
- self._add_separator(view_toolbar, visible=False)
- self.coordinates_label = self._add_label('(0, 0) 0', view_toolbar)
- self._add_separator(view_toolbar, expand=True, visible=False)
+ self.do_metric_cb, self._view_toolbar)
self.rescale_button = self._add_button(
'expand-coordinates', _('Rescale coordinates up'),
- self.do_rescale_cb, view_toolbar)
+ self.do_rescale_cb, self._view_toolbar)
self.resize_up_button = self._add_button(
- 'resize+', _('Grow blocks'), self.do_grow_blocks_cb, view_toolbar)
+ 'resize+', _('Grow blocks'), self.do_grow_blocks_cb,
+ self._view_toolbar)
self.resize_down_button = self._add_button(
'resize-', _('Shrink blocks'), self.do_shrink_blocks_cb,
- view_toolbar)
+ self._view_toolbar)
self._hover_help_toggle = self._add_button(
'help-off', _('Turn off hover help'), self._do_hover_help_toggle,
- view_toolbar)
+ self._view_toolbar)
+ self._add_separator(self._view_toolbar, visible=False)
+ self.coordinates_label = gtk.Label('(0, 0) 0')
+ self.coordinates_label.show()
+ self._coordinates_toolitem = gtk.ToolItem()
+ self._coordinates_toolitem.add(self.coordinates_label)
+ self._coordinates_toolitem.show()
+ self._view_toolbar.insert(self._coordinates_toolitem, -1)
edit_toolbar.show()
- view_toolbar.show()
+ self._view_toolbar.show()
self._toolbox.show()
if not self.has_toolbarbox: