Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/tawindow.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-09-20 11:48:14 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-09-20 11:48:14 (GMT)
commitc7187f3620b2806ff0c01d7a4f32941aae13ce50 (patch)
treee1056a25e2fa715080be4e1e986c8605f26092a5 /TurtleArt/tawindow.py
parent03f7bb3fae58b5404253a3d153242c3b09e2efec (diff)
shrink expandable block on disconnect
Diffstat (limited to 'TurtleArt/tawindow.py')
-rw-r--r--TurtleArt/tawindow.py23
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):