it used to be that baseColor would be nil
and RaisedBorder>>trackColorFrom: aMorph On 4/20/18 8:25 AM, David T. Lewis
wrote:
Thanks, I see it now. The problem is also present in my "V3 trunk image", exactly as in the trunk image. So it is not related to any differences in the coversion to Spur in Squeak 5. It must be some other problem that was introduced between Squeak 4.5 and 5.1. I checked Squeak5.0-15113, and the problem is not happening there. So ... it looks like something that was introduced between 5.0 and 5.1. Dave On Fri, Apr 20, 2018 at 06:59:49AM +0200, karl ramberg wrote:Hi, This should show a thick border on the morph, with a simple raised "ilusion". Should be same border width as second rectangle with a red border. RectangleMorph new borderColor: #raised; borderWidth: 10; openInWorld RectangleMorph new borderColor: Color red; borderWidth: 10; openInWorld Best, Karl On Fri, Apr 20, 2018 at 2:57 AM, David T. Lewis [hidden email] wrote:Hi Karl, Can you explain how I can see the problem with #raised and #inset borders? I have a trunk level V3 image for comparison, so I can check if it might be something related to the image conversion. Dave On Thu, Apr 19, 2018 at 10:04:32PM +0200, karl ramberg wrote:Hm, Actually broken in 5.0 Image conversion issue ?? Best, Karl On Thu, Apr 19, 2018 at 9:56 PM, karl ramberg [hidden email]wrote:Well, These border styles have been broken for some time. I checked some old images and it worked in the 4.6 image but not in5.1 sosomething changed between there :-) Best, Karl On Thu, Apr 19, 2018 at 11:44 AM, Marcel Taeumel <[hidden email]>wrote:Well, they kind of work if you set the #baseColor in the respective border style. Otherwise, yes, I noticed that, too. At least the Minesgamedraws the fields on its own. So, there might be a bug hidden indrawingthose border styles. Best, Marcel Am 18.04.2018 20:31:31 schrieb karl ramberg [hidden email]: Hi, #inset and #raised does not work either with or without Marcelschangeset.Best, Karl On Tue, Apr 17, 2018 at 6:50 PM, karl ramberg [hidden email] wrote:Hi, Slightly off topic: I have been looking at border stuff in latest Trunk image and I can't get border #inset and #raised to work. The complex borders work. Best, Karl On Sun, Apr 15, 2018 at 9:34 AM, Marcel Taeumel <[hidden email]>wrote:Thanks Karl and Dave. Chris, does it work in your image(s)? Best, Marcel Am 14.04.2018 21:00:55 schrieb David T. Lewis <[hidden email]:On Thu, Apr 12, 2018 at 11:23:42PM -0700, marcel.taeumel wrote:Anybody? Just file it in your work image and tell me what happens.Sorry I overlook this. I filed the changes in earlier today. All is well with browsers and such, but when I open an Elipse from theObjectstab, then rotate it with the halo handle, things go wrong. It looks like the 'closed' instance variable in the PolygonMorph is nil. I think you may have already addressed this from Karl's report. Dave |
See proposed fix for #raised and #inset issue. Please test. Image gets cranky if border drawing is screwed up. Best, Karl On Fri, Apr 20, 2018 at 3:05 PM, Bob Arning <[hidden email]> wrote:
BorderStyleFix.1.cs (692 bytes) Download Attachment |
Hi Karl, no, I disagree. This is not the issue. The color tracking is currently enabled if the baseColor is transparent, which is not the case by default, which is not a problem as such. You just have to set the baseColor if you want to enable color tracking. Best, Marcel
|
Also, the refactoring does address this minor issue of setting the #baseColor: Best, Marcel
|
Looks better now. Will commit it soon: Best, Marcel
|
In reply to this post by Bob Arning-2
Oh, hmmm... Well, what was the intention behind the change? I can see the stamp: ul 11/2/2016 09:46 Best, Marcel
|
looks like it was known at the time
On 4/23/18 3:50 AM, Marcel Taeumel
wrote:
|
In reply to this post by marcel.taeumel
I will merge that refactoring during the next hours. Please report any issues here and not as a response to the commit e-mails. Best, Marel
|
Well, I did more changes than expected. Please find attached the current version of that refactoring and test again. Note that we have, at the moment, no support for rounded corners in inset/raised borders. Best, Marcel
border-layout.11.cs (187K) Download Attachment |
Filing the change set into a a project with all flaps added I get this error. Best, Karl 4 May 2018 5:29:43.636227 pm VM: Win32 - Smalltalk Image: Squeak6.0alpha [latest update: #17953] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir C:\Users\Karl\Downloads\Squeak6.0alpha-17873-64bit-\Squeak6.0alpha-17873-64bit-201712221331-Windows Trusted Dir C:\Users\Karl\Downloads\Squeak6.0alpha-17873-64bit-\Squeak6.0alpha-17873-64bit-201712221331-Windows\Karl Untrusted Dir C:\Users\Karl\Documents\My Squeak UndefinedObject(Object)>>doesNotUnderstand: #owner Receiver: nil Arguments and temporary variables: aMessage: owner exception: MessageNotUnderstood: UndefinedObject>>owner resumeValue: nil Receiver's instance variables: nil GeeMailMorph(ScrollPane)>>hIsScrollbarShowing Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>hShowScrollBar Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>hHideOrShowScrollBar Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>hideOrShowScrollBars Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>setScrollDeltas Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>borderStyle: Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: aBorderStyle: a SimpleBorder Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>setDefaultParameters Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) GeeMailMorph(ScrollPane)>>applyUserInterfaceTheme Receiver: a GeeMailMorph(2549753) Arguments and temporary variables: Receiver's instance variables: bounds: 19@16 corner: 497@660 owner: a PasteUpMorph(3307392) [world] submorphs: {a ScrollBar(1492571) . a TransformMorph(3447211)} fullBounds: nil color: Color white extension: a MorphExtension (4130764) [sticky] [eventHandler = an EventHandler...etc... borderWidth: 0 borderColor: Color transparent model: nil slotName: nil open: false scrollBar: a ScrollBar(1492571) scroller: a TransformMorph(3447211) retractableScrollBar: false scrollBarOnLeft: true getMenuSelector: nil getMenuTitleSelector: nil hasFocus: false hScrollBar: nil hScrollBarPolicy: nil vScrollBarPolicy: nil scrollBarThickness: nil theTextMorph: nil thePasteUp: a TextPlusPasteUpMorph(1346736) [] in [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply Receiver: a SqueakTheme 'Squeak' Arguments and temporary variables: cc: a GeeMailMorph(2549753) o: an IdentitySet(BottomRightGripMorph NetworkTerminalMorph UpdatingTextMorph QuickGuideMorph...etc... Receiver's instance variables: properties: a Dictionary(size 330) name: 'Squeak' next: nil ignoreApply: false lastScaleFactor: 1.0 Array(SequenceableCollection)>>do: Receiver: {nil . false . true . {Character null . Character value: 1 . Character value: 2 . Character...etc... Arguments and temporary variables: aBlock: [closure] in [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply index: 482773 indexLimiT: 643356 Receiver's instance variables: {nil . false . true . {Character null . Character value: 1 . Character value: 2 . Character...etc... SystemNavigation>>allObjectsDo: Receiver: a SystemNavigation Arguments and temporary variables: aBlock: [closure] in [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply object: nil lastObject: nil allObjects: {nil . false . true . {Character null . Character value: 1 . Character...etc... Receiver's instance variables: browserClass: Browser hierarchyBrowserClass: nil environment: Smalltalk [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply Receiver: a SqueakTheme 'Squeak' Arguments and temporary variables: cc: an IdentitySet(BottomRightGripMorph NetworkTerminalMorph UpdatingTextMorph QuickGuideMorph...etc... Receiver's instance variables: properties: a Dictionary(size 330) name: 'Squeak' next: nil ignoreApply: false lastScaleFactor: 1.0 BlockClosure>>ensure: Receiver: [closure] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply Arguments and temporary variables: aBlock: [closure] in CursorWithMask(Cursor)>>showWhile: complete: nil returnValue: nil Receiver's instance variables: outerContext: [] in [] in SqueakTheme(UserInterfaceTheme)>>apply startpc: 215 numArgs: 0 CursorWithMask(Cursor)>>showWhile: Receiver: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2r11111111111111000000000...etc... Arguments and temporary variables: aBlock: [closure] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply oldcursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2r1...etc... Receiver's instance variables: bits: a Bitmap of length 16 width: 16 height: 16 depth: 1 offset: -1@ -1 maskForm: Form(16x16x1) [] in [] in SqueakTheme(UserInterfaceTheme)>>apply Receiver: a SqueakTheme 'Squeak' Arguments and temporary variables: cc: an IdentitySet(BottomRightGripMorph NetworkTerminalMorph UpdatingTextMorph QuickGuideMorph...etc... Receiver's instance variables: properties: a Dictionary(size 330) name: 'Squeak' next: nil ignoreApply: false lastScaleFactor: 1.0 IdentitySet(Object)>>in: Receiver: an IdentitySet(BottomRightGripMorph NetworkTerminalMorph UpdatingTextMorph QuickGuideMorph...etc... Arguments and temporary variables: aBlock: [closure] in [] in SqueakTheme(UserInterfaceTheme)>>apply Receiver's instance variables: tally: 672 array: {nil . BottomRightGripMorph . nil . NetworkTerminalMorph . UpdatingTextMorph...etc... [] in SqueakTheme(UserInterfaceTheme)>>apply Receiver: a SqueakTheme 'Squeak' Arguments and temporary variables: Receiver's instance variables: properties: a Dictionary(size 330) name: 'Squeak' next: nil ignoreApply: false lastScaleFactor: 1.0 SqueakTheme(UserInterfaceTheme)>>fixFontsAndScaleAround: Receiver: a SqueakTheme 'Squeak' Arguments and temporary variables: block: [closure] in SqueakTheme(UserInterfaceTheme)>>apply scale: nil Receiver's instance variables: properties: a Dictionary(size 330) name: 'Squeak' next: nil ignoreApply: false lastScaleFactor: 1.0 --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #owner GeeMailMorph(ScrollPane)>>hIsScrollbarShowing GeeMailMorph(ScrollPane)>>hShowScrollBar GeeMailMorph(ScrollPane)>>hHideOrShowScrollBar GeeMailMorph(ScrollPane)>>hideOrShowScrollBars GeeMailMorph(ScrollPane)>>setScrollDeltas GeeMailMorph(ScrollPane)>>borderStyle: GeeMailMorph(ScrollPane)>>setDefaultParameters GeeMailMorph(ScrollPane)>>applyUserInterfaceTheme [] in [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply Array(SequenceableCollection)>>do: SystemNavigation>>allObjectsDo: [] in [] in [] in SqueakTheme(UserInterfaceTheme)>>apply BlockClosure>>ensure: CursorWithMask(Cursor)>>showWhile: [] in [] in SqueakTheme(UserInterfaceTheme)>>apply IdentitySet(Object)>>in: [] in SqueakTheme(UserInterfaceTheme)>>apply SqueakTheme(UserInterfaceTheme)>>fixFontsAndScaleAround: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SqueakTheme(UserInterfaceTheme)>>apply UndefinedObject>>DoIt Compiler>>evaluateCue:ifFail: Compiler>>evaluateCue:ifFail:logged: Compiler>>evaluate:in:to:notifying:ifFail:logged: Compiler class>>evaluate:for:notifying:logged: Compiler class>>evaluate:for:logged: Compiler class>>evaluate:logged: [] in [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: BlockClosure>>on:do: [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: [] in [] in MorphicUIManager>>displayProgress:at:from:to:during: BlockClosure>>on:do: [] in MorphicUIManager>>displayProgress:at:from:to:during: BlockClosure>>ensure: MorphicUIManager>>displayProgress:at:from:to:during: ProgressInitiationException>>defaultResumeValue ProgressInitiationException(Exception)>>resume ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: ByteString(String)>>displayProgressFrom:to:during: MultiByteFileStream(PositionableStream)>>fileInAnnouncing: [] in ChangeSet class>>newChangesFromStream:named: BlockClosure>>ensure: ChangeSet class>>newChangesFromStream:named: ChangeSet class>>fileIntoNewChangeSet: SimpleServiceEntry>>performServiceFor: FileList>>executeService: MessageSend>>value PluggableButtonMorphPlus>>performAction [] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp: Array(SequenceableCollection)>>do: PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp: PluggableButtonMorphPlus(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableButtonMorphPlus(Morph)>>handleEvent: PluggableButtonMorphPlus(Morph)>>handleFocusEvent: MorphicEventDispatcher>>doHandlingForFocusEvent:with: -- and more not shown -- On Fri, May 4, 2018 at 4:49 PM, Marcel Taeumel <[hidden email]> wrote:
|
Hi Karl, how many scroll panes w/o hScrollBar do you have in your image? They shouldn't be nil only invisible. Try this: ScrollPane allSubInstances count: [:ea | ea hScrollBar isNil]. Should be zero. Is this related to project loading? This might fix those instances: ScrollPane allSubInstancesDo: [:ea | ea hScrollBar ifNil: [ ea instVarNamed: #hScrollBar put: ((ScrollBar on: ea getValue: nil setValue: #hScrollBarValue:) menuSelector: #hScrollBarMenuButtonPressed:; orientation: #horizontal; extent: 1@1)]]. Yet, is there a place to put such code for project loading? I would like to avoid messing up the ScrollPane implementation again... ;-) Anyway, this is not related to the refactoring of BorderedMorph and BorderStyle. Best, Marcel
|
Hi, Marcel You are right. My image was in a bad state :-) Best, Karl On Sun, May 6, 2018 at 1:47 PM, Marcel Taeumel <[hidden email]> wrote:
|
In reply to this post by marcel.taeumel
When I file the change set into a fresh 5.1 image the attached errors occur. >at the moment
That sounds like you have at least a general sense of how to solve the problem which is encouraging. Do you have any idea of when? Regards, Laurence SqueakDebug.log (14K) Download Attachment |
Hi Laurence, I think there are changes in Trunk that did not get "back-ported" to 5.1 and hence this refactoring might not apply. Sorry. :-/ Trunk only. What do you refer to with "at the moment"? I could not find the corresponding e-mail in my inbox. :-( Best, Marcel
|
Free forum by Nabble | Edit this page |