diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-09-20 11:48:14 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-09-20 11:48:14 (GMT) |
commit | c7187f3620b2806ff0c01d7a4f32941aae13ce50 (patch) | |
tree | e1056a25e2fa715080be4e1e986c8605f26092a5 /TurtleArt/tawindow.py | |
parent | 03f7bb3fae58b5404253a3d153242c3b09e2efec (diff) |
shrink expandable block on disconnect
Diffstat (limited to 'TurtleArt/tawindow.py')
-rw-r--r-- | TurtleArt/tawindow.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 926fc68..0adcd7e 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -1721,7 +1721,28 @@ class TurtleArtWindow(): if collapsed(blk): return blk2 = blk.connections[0] - blk2.connections[blk2.connections.index(blk)] = None + c = blk2.connections.index(blk) + blk2.connections[c] = None + + print "disconnecting", blk.name, "from", blk2.name + if blk2.name in EXPANDABLE_BLOCKS and c == 1: + if blk2.ey > 0: + print "shrinking ", blk2.name + dy = blk2.reset_y() + + if dy != 0: + group = find_group(blk) + group.append(blk2) + for gblk in find_group(blk2): + if gblk not in group: + gblk.spr.move_relative( + (0, dy * blk2.scale)) + if blk2.name in COMPARE_STYLE: + for gblk in find_group(blk2): + gblk.spr.move_relative( + (0, -dy * blk2.scale)) + grow_stack_arm(find_sandwich_top(blk2)) + blk.connections[0] = None def _keypress_cb(self, area, event): |