From 5fb4e26f2329c8522047fb13a9f4975b309ce7d8 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 21 Jan 2010 15:05:11 +0000 Subject: fixed findsprite bug --- (limited to 'tawindow.py') diff --git a/tawindow.py b/tawindow.py index 5da2cf8..53aa435 100644 --- a/tawindow.py +++ b/tawindow.py @@ -166,8 +166,7 @@ class TurtleArtWindow(): change the icon for user-defined blocks after Python code is loaded """ def set_userdefined(self): - list = self.sprites.list[:] - for spr in list: + for spr in self.sprites.list: if hasattr(spr,'proto') and spr.proto.name == 'nop': setimage(spr,self.media_shapes['pythonloaded']) self.nop = 'pythonloaded' @@ -177,13 +176,13 @@ class TurtleArtWindow(): """ def hideshow_button(self): if self.hide is False: - for b in self._blocks(): b.set_layer(100) + for b in self._blocks(): b.set_layer(HIDE_LAYER) self._hide_palette() self.select_mask.hide() self.select_mask_string.hide() self.hide = True else: - for b in self._blocks(): b.set_layer(650) + for b in self._blocks(): b.set_layer(BLOCK_LAYER) self.show_palette() self.hide = False self.turtle.canvas.inval() @@ -220,13 +219,16 @@ class TurtleArtWindow(): if self.selected_block != None: self._unselect() else: - self.status_spr.set_layer(400) + self.status_spr.set_layer(HIDE_LAYER) spr = self.sprites.find_sprite((x,y)) + print "found %s at (%d,%d)" % (str(spr),x,y) self.x, self.y = x,y self.dx = 0 self.dy = 0 if spr is None: return True + if hasattr(spr, 'type'): + print "type: %s" % (spr.type) if spr.type == "canvas": return True elif spr.type == 'selbutton': @@ -260,7 +262,7 @@ class TurtleArtWindow(): show palette """ def show_palette(self): - for i in self.selbuttons: i.set_layer(800) + for i in self.selbuttons: i.set_layer(TAB_LAYER) self._select_category(self.selbuttons[0]) self.palette = True @@ -705,19 +707,19 @@ class TurtleArtWindow(): for b in self.draggroup: b.move((b.x+200, b.y)) self._snap_to_dock() - for b in self.draggroup: b.set_layer(650) + for b in self.draggroup: b.set_layer(BLOCK_LAYER) self.draggroup = None if self.block_operation=='click': if self.spr.proto.name=='number': self.selected_block = spr self.select_mask.move((spr.x-5,spr.y-5)) - self.select_mask.set_layer(660) + self.select_mask.set_layer(MASK_LAYER) self.firstkey = True elif self.defdict.has_key(spr.proto.name): self.selected_block = spr if self.spr.proto.name=='string': self.select_mask_string.move((spr.x-5,spr.y-5)) - self.select_mask_string.set_layer(660) + self.select_mask_string.set_layer(MASK_LAYER) self.firstkey = True elif self.spr.proto.name in self.importblocks: self._import_from_journal(spr) @@ -735,13 +737,13 @@ class TurtleArtWindow(): if self.spr.proto.name=='number': self.selected_block = self.spr self.select_mask.move((self.spr.x-5,self.spr.y-5)) - self.select_mask.set_layer(660) + self.select_mask.set_layer(MASK_LAYER) self.firstkey = True elif self.defdict.has_key(self.spr.proto.name): self.selected_block = self.spr if self.spr.proto.name=='string': self.select_mask_string.move((self.spr.x-5,self.spr.y-5)) - self.select_mask_string.set_layer(660) + self.select_mask_string.set_layer(MASK_LAYER) self.firstkey = True elif self.spr.proto.name in self.importblocks: self._import_from_journal(self.spr) @@ -877,7 +879,7 @@ class TurtleArtWindow(): newblk = block.Block(self.blocks,proto.name,x-20,y-20,[proto.name]) newspr = newblk.spr - newspr.set_layer(2000) + newspr.set_layer(TOP_LAYER) self.dragpos = 20,20 newspr.type = 'block' newspr.proto = proto @@ -895,7 +897,7 @@ class TurtleArtWindow(): argspr.type = 'block' argspr.proto = argproto argspr.set_label(str(proto.defaults[i])) - argspr.set_layer(2000) + argspr.set_layer(TOP_LAYER) argspr.connections = [newspr,None] newspr.connections[i+1] = argspr self.draggroup = findgroup(newspr) @@ -909,7 +911,7 @@ class TurtleArtWindow(): def _block_pressed(self, mask, x, y, spr): if spr is not None: self.draggroup = findgroup(spr) - for b in self.draggroup: b.set_layer(2000) + for b in self.draggroup: b.set_layer(TOP_LAYER) if spr.connections[0] != None and spr.proto.name == 'lock': b = self._find_top_block(spr) self.dragpos = x-b.x,y-b.y -- cgit v0.9.1