On Wed, Jun 12, 2013 at 2:39 PM, Eliot Miranda <eliot.miranda@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