From 138a327cf363f7c905f8c466a50ecabf1d0b6dbe Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 23 Aug 2010 21:28:52 +0000 Subject: move default turtle to (0, 0) when dragged onto the palette --- diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 6a5629e..0e2aa76 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -1317,17 +1317,15 @@ class TurtleArtWindow(): k = self.turtles.get_turtle_key(self.selected_turtle) # Remove turtles by dragging them onto the trash palette. - if k != self.default_turtle_name and self._in_the_trash(tx, ty): - self.selected_turtle.hide() - self.turtles.remove_from_dict(k) + if self._in_the_trash(tx, ty): + if k == self.default_turtle_name: + self._move_turtle(0, 0) + else: + self.selected_turtle.hide() + self.turtles.remove_from_dict(k) else: - (cx, cy) = self.canvas.canvas.get_xy() - self.canvas.xcor = tx - self.canvas.width/2 + 30 - cx - self.canvas.ycor = self.canvas.height/2 - ty - 30 + cy - self.canvas.move_turtle() - if self.running_sugar: - self.display_coordinates() - self.selected_turtle.spr.set_layer(TURTLE_LAYER) + self._move_turtle(tx - self.canvas.width / 2 + 30, + self.canvas.height / 2 - ty - 30) self.selected_turtle = None self.active_turtle = self.turtles.get_turtle( self.default_turtle_name) @@ -1366,6 +1364,16 @@ class TurtleArtWindow(): if self.block_operation == 'click': self._click_block(x, y) + def _move_turtle(self, x, y): + """ Move the selected turtle to (x, y). """ + (cx, cy) = self.canvas.canvas.get_xy() + self.canvas.xcor = x - cx + self.canvas.ycor = y + cy + self.canvas.move_turtle() + if self.running_sugar: + self.display_coordinates() + self.selected_turtle.spr.set_layer(TURTLE_LAYER) + def _click_block(self, x, y): """ Click block """ blk = self.block_list.spr_to_block(self.selected_spr) -- cgit v0.9.1