From 8f0b3ede6fdec724a9c6ec878880321b076f1efc Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 04 Feb 2010 14:22:37 +0000 Subject: fixed text entry/label display problem --- diff --git a/sprites.py b/sprites.py index ef5ed2b..14394e2 100644 --- a/sprites.py +++ b/sprites.py @@ -169,10 +169,14 @@ class Sprite: _h = self.images[i].get_height() else: _w, _h = self.images[i].get_size() - if _w > self._width: + if len(self.images) == 1: self._width = _w - if _h > self._height: self._height = _h + else: # TODO: fix this calculation + if _w > self._width: + self._width = _w + if _h > self._height: + self._height = _h def move(self, pos): self.inval() diff --git a/tablock.py b/tablock.py index f85e541..69b27e7 100644 --- a/tablock.py +++ b/tablock.py @@ -120,7 +120,7 @@ class Block: # make sure the label fits lw = self.spr.label_width() lwh = self.spr.label_area_dimensions() - self._dx = (lw-lwh[0]) + self._dx += (lw-lwh[0]) if self._dx < 0: self._dx = 0 self._make_block(self.svg) @@ -292,7 +292,7 @@ class Block: self._make_portfolio_style_1x2(svg) else: self._make_basic_style(svg) - print ">>>>> I don't know how to create a %s block" % (self.name) + print "WARNING: I don't know how to create a %s block" % (self.name) def _set_colors(self, svg): if BOX_COLORS.has_key(self.name): diff --git a/tawindow.py b/tawindow.py index 940c367..a9f0cc8 100644 --- a/tawindow.py +++ b/tawindow.py @@ -174,7 +174,7 @@ class TurtleArtWindow(): """ Resize all of the blocks """ - def resize(self, scale): + def resize_blocks(self, scale): self.block_scale = scale for b in self.just_blocks(): b.rescale(self.block_scale) @@ -796,6 +796,7 @@ class TurtleArtWindow(): 'Alt_L', 'Alt_R', 'KP_Enter', 'ISO_Level3_Shift']: keyname = '' keyunicode = 0 + print "saw a noise key: %s" % (keyname) # Hack until I sort out input and unicode and dead keys, if keyname[0:5] == 'dead_': self.dead_key = keyname @@ -803,6 +804,7 @@ class TurtleArtWindow(): keyunicode = 0 if keyname in WHITE_SPACE: keyunicode = 32 + print "preparing to process [%s:%s] (%s)" % (oldleft, oldright, keyname) if keyname == 'BackSpace': if len(oldleft) > 1: newleft = oldleft[:len(oldleft)-1] @@ -822,16 +824,13 @@ class TurtleArtWindow(): elif keyname == 'End': newleft = oldleft+oldright oldright = '' - elif keyname == 'Return': + elif keyname == 'Return' or keyname == 'Down': self._unselect_block() return - elif keyname == 'Up': # Restore previous state + elif keyname == 'Up' or keyname == 'Escape': # Restore previous state self.selected_blk.spr.set_label(self.saved_string) self._unselect_block() return - elif keyname == 'Down': # Erase entire string - self.selected_blk.spr.set_label('') - return else: if self.dead_key is not '': keyunicode =\ @@ -842,8 +841,11 @@ class TurtleArtWindow(): newleft = oldleft+unichr(keyunicode) else: newleft = oldleft + ''' else: + print "setting new left to ''" newleft = '' + ''' self.selected_blk.spr.set_label("%s%s%s" % \ (newleft, CURSOR, oldright)) @@ -866,7 +868,8 @@ class TurtleArtWindow(): tur = self.turtle_list.spr_to_turtle(self.selected_spr) if blk is not None: if keyname == 'Return' or keyname == 'KP_Page_Up': - self._click_block() + (x, y) = blk.spr.get_xy() + self._click_block(x, y) elif keyname == 'KP_Page_Down': if self.drag_group == None: self.drag_group = self._find_group(blk) -- cgit v0.9.1