<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">Hi, there,<div><br></div><div>Please find attached a change set that addresses several bugs around layouting and re-drawing. I had the following goals:</div><div><br></div><div>- Better support for <b>TextMorphs </b>in TableLayout</div><div>- Better support for <b>protruding submorphs</b> in a non-clipping and non-shrink-wrapping morph</div><div>- Ensure full layout computation after calling #fullBounds ... no extra re-draw cycles to <b>avoid flickering</b>.</div><div><br></div><div>I have to admit that I did break some layout things back in 2016 because I didn't understand the implementation good enough. Other things have never been working correctly before, such as height-for-width updates for TextMorph children ... which do their own (text) layout and thus misbehaved in a table-layout container.</div><div><br></div><div>What's (still) not working?</div><div><br></div><div>- Useful <b>minimum extent</b> for windows and dialogs</div><div>- <b>#justified</b> list-centering with #spaceFill children (-> might be a new issue but rare?)</div><div><br></div><div>How can you test some changes? Well, try resizing the find-class or save-file dialog to this:</div><div><br></div><div><img src="cid:188d59ba-dee0-439c-8868-a345afd81877" width="auto"></img><img src="cid:8adbf694-3c46-4908-92ba-c4dd46fb7f54" width="auto" style="font-size: 10pt"></img></div><div><br></div><div>Usually, submorphs are either not protruding their morphs or they get clipped. If they are protruding and not clipped, the layout-cell computation was a mix of bounds and fullBounds. I suppose that other frameworks use just the bounds, ignoring any protruding submorphs, like this:</div><div><br></div><div><img src="cid:79eb6016-cb29-4e68-a280-37d51e64873b" width="auto"></img></div><div><br></div><div>The blue-filled morphs are shrink-wrapped in a container arranged from the left to the right. Protruding submorphs share the owner's border color. Only the rightmost morph has its own table layout and adjuts its height to its children -- but not its width.</div><div><br></div><div>Best,</div><div>Marcel</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>