From f5a205566335b3bc711822f89252c3e1a7b6bf43 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Fri, 01 Mar 2013 22:30:09 +0000 Subject: work on coordinate display --- 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, 'Return') + self.do_fullscreen_cb, self._view_toolbar, + '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: -- cgit v0.9.1