Doug Way wrote:
Jesse Welton wrote:
Doug Way wrote:
The only small plug I would make would be to include Jesse Welton's LayoutFix changeset posted earlier today, which is sort of a bug fix.
Besides addressing (some of) the conceptual problems with SystemWindow layout, it also fixes a concrete layout bug in the FileContentsBrowser and Celeste. In these windows, the bottom pane stuck out below the window frame. So I think it's more than "sort of a bug fix". It fixes a honest-to-goodness behavioral bug.
(Actually, it looks like someone else already fixed the FileContentsBrowser in 3278. But Celeste was not fixed, and neither was Scamper, so you've still got 2 concrete fixes to your credit. :) )
I hadn't yet had the opportunity to try the latest changes. Nor had I known about any problem with Scamper layout. There must be some sort of conservation principle at work here... :)
If SqC doesn't have a strong opinion on this, I would tend to just go with offsets. I believe that LayoutFrames in VisualWorks are always treated as offsets, but I'm not positive... it would be worth checking. (As far as the object conversion goes, wouldn't a single pass through LayoutFrames allInstances take care of it? You wouldn't have to check for class version or anything. Or is the problem that you only want to convert the LayoutFrames that are in SystemWindows, or vice versa?)
The tricky bit is making sure that instances are converted when an image segment is loaded, that was saved from a pre-conversion image. At the same time, you must ensure that the post-conversion instances are not erroneously negated again. That's where the class version check comes in. I think I've actually got it working now; I just have to check against the latest changes.
-Jesse