[squeak-dev] Re: straaannnnge code in SystemWindow>>addMorph:fullFrame:

Eliot Miranda eliot.miranda at gmail.com
Wed Jun 12 22:23:01 UTC 2013


On Wed, Jun 12, 2013 at 2:39 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

> Hi All,
>
>     in SystemWindow>>addMorph:fullFrame: towards the bottom are the lines:
>
> aMorph adoptPaneColor: self paneColor.
>  aMorph borderWidth: 1; borderColor: Color lightGray; color: Color white.
>
> I'm adding a UpdatingThreePhaseButtonMorph checkBox to my window so, via
> ImageMorph>>colors:
>
> ImageMorph>>color: aColor
>         super color: aColor.
>         (image depth = 1 and: [aColor isColor]) ifTrue: [
>                 image colors: {Color transparent. aColor}.
>                 self changed]
>
> this has the effect of completely smashing the checkBox's normal image,
> and setting to white ScriptingSystem formAtKey: #CheckBoxOn, which is what
> the checkBox uses as its default image.
>
> What business does SystemWindow have of smashing the colour of any morph
> added to it?  Surely this is bogus, no?
>

I see the regression.  Back in 3.9 the method read

(aMorph isKindOf: ImageMorph) ifFalse:[
aMorph adoptPaneColor: self paneColor.
aMorph borderWidth: 2; borderColor: #inset; color: Color transparent]

Unless anyone objects I'll put back this guard.  it seems obviously correct
(or rather, obviously less broken; the method also includes this priceless
gem:
(aMorph class name = #BrowserCommentTextMorph) ifTrue:
[aLayoutFrame rightOffset: windowBorderWidth negated.
aLayoutFrame leftOffset: windowBorderWidth.
aLayoutFrame bottomOffset: windowBorderWidth negated.
aLayoutFrame topOffset: (windowBorderWidth negated) + 4].
).

-- 
> best,
> Eliot
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130612/93e07eee/attachment.htm


More information about the Squeak-dev mailing list