[Please Test] Refactoring for BorderedMorph to use BorderStyle

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Bob Arning-2

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.

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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                




            



      

      




Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Karl Ramberg
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:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.


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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                



            


      

      

    








BorderStyleFix.1.cs (692 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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


Am 21.04.2018 00:21:54 schrieb karl ramberg <[hidden email]>:

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:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.


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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                


            

        

      

      

    







Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
Also, the refactoring does address this minor issue of setting the #baseColor:




Best,
Marcel

Am 23.04.2018 08:33:39 schrieb Marcel Taeumel <[hidden email]>:

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


Am 21.04.2018 00:21:54 schrieb karl ramberg <[hidden email]>:

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:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.


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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                

              

            

        

      

      

    







Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
Looks better now. Will commit it soon:


Best,
Marcel

Am 23.04.2018 08:56:00 schrieb Marcel Taeumel <[hidden email]>:

Also, the refactoring does address this minor issue of setting the #baseColor:




Best,
Marcel

Am 23.04.2018 08:33:39 schrieb Marcel Taeumel <[hidden email]>:

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


Am 21.04.2018 00:21:54 schrieb karl ramberg <[hidden email]>:

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:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.


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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                

              

            

        

      

      

    







Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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

Am 20.04.2018 15:05:24 schrieb Bob Arning <[hidden email]>:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.

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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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







                




            



      

      




Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Bob Arning-2

looks like it was known at the time



[squeak-dev] Re: raised & inset borders

Levente Uzonyi [hidden email]
Thu Nov 3 22:22:26 UTC 2016
Hi Hans-Martin,

My intention was to always initialize baseColor, because nil was used as a 
substitute of Color transparent back and forth for seemingly no reason.
I must have overlooked those #trackColorFrom: methods, and I think 
replacing ifNil: with isTransparent ifTrue: in them is the right fix.
If you have a better solution in mind, let me know. Or I'll push the above 
fix this week to the Trunk.

Levente

On Tue, 1 Nov 2016, Hans-Martin Mosner wrote:

> Looks like there is a regression with raised and inset borders. The method #initialize in SimpleBorder sets baseColor to
> "Color transparent", which prevents #trackColorFrom: in its subclasses to work correctly.
>
> Since it is unclear to me whether it would have unintended side effects if the initialization of baseColor was removed,
> I've added a check for transparent baseColor in all three trackColorFrom: methods, but that looks a bit ugly.
>
> Levente, the method is from April 2016 and carries your initials - do you remember what the motivation for this change was?
>
>
> Cheers,
>
> Hans-Martin
>
>
>


More information about the Squeak-dev mailing list


On 4/23/18 3:50 AM, Marcel Taeumel wrote:
Oh, hmmm... Well, what was the intention behind the change? I can see the stamp:

ul 11/2/2016 09:46

Best,
Marcel

Am 20.04.2018 15:05:24 schrieb Bob Arning [hidden email]:

it used to be that baseColor would be nil and

RaisedBorder>>trackColorFrom: aMorph
    baseColor ifNil:[self color: aMorph raisedColor].

would set the appropriate color, but now baseColor is set to Color transparent in the #initialize method and setting the raised color never happens.

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 in
5.1 so
something 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 Mines
game
draws the fields on its own. So, there might be a bug hidden in
drawing
those 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 Marcels
changeset.
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 the
Objects
tab, 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










          




    



Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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

Am 11.04.2018 12:01:47 schrieb Marcel Taeumel <[hidden email]>:

Hi, there.

Please find attached a refactoring of BorderedMorph to make use of BorderStyle like regular morphs do. Maybe, in the future, we can get rid of BorderedMorph.

It includes:
- No instVar access to borderColor and borderWidth but message sends.
- No #inset or #raised anymore when asking a morph for its #borderColor. Just colors.
- Copying the prototypical border styles from the UI theme when used in morphs.
- A post-load script that updates all your morphs in the image. Not that important but good for keeping your current tools opened.

After a few days of no complaints, I will merge it into Trunk.

Best,
Marcel



Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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

Am 04.05.2018 10:34:20 schrieb Marcel Taeumel <[hidden email]>:

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

Am 11.04.2018 12:01:47 schrieb Marcel Taeumel <[hidden email]>:

Hi, there.

Please find attached a refactoring of BorderedMorph to make use of BorderStyle like regular morphs do. Maybe, in the future, we can get rid of BorderedMorph.

It includes:
- No instVar access to borderColor and borderWidth but message sends.
- No #inset or #raised anymore when asking a morph for its #borderColor. Just colors.
- Copying the prototypical border styles from the UI theme when used in morphs.
- A post-load script that updates all your morphs in the image. Not that important but good for keeping your current tools opened.

After a few days of no complaints, I will merge it into Trunk.

Best,
Marcel




border-layout.11.cs (187K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Karl Ramberg
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:
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

Am 04.05.2018 10:34:20 schrieb Marcel Taeumel <[hidden email]>:

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

Am 11.04.2018 12:01:47 schrieb Marcel Taeumel <[hidden email]>:

Hi, there.

Please find attached a refactoring of BorderedMorph to make use of BorderStyle like regular morphs do. Maybe, in the future, we can get rid of BorderedMorph.

It includes:
- No instVar access to borderColor and borderWidth but message sends.
- No #inset or #raised anymore when asking a morph for its #borderColor. Just colors.
- Copying the prototypical border styles from the UI theme when used in morphs.
- A post-load script that updates all your morphs in the image. Not that important but good for keeping your current tools opened.

After a few days of no complaints, I will merge it into Trunk.

Best,
Marcel







Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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

Am 04.05.2018 17:33:46 schrieb karl ramberg <[hidden email]>:

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:
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

Am 04.05.2018 10:34:20 schrieb Marcel Taeumel <[hidden email]>:

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

Am 11.04.2018 12:01:47 schrieb Marcel Taeumel <[hidden email]>:

Hi, there.

Please find attached a refactoring of BorderedMorph to make use of BorderStyle like regular morphs do. Maybe, in the future, we can get rid of BorderedMorph.

It includes:
- No instVar access to borderColor and borderWidth but message sends.
- No #inset or #raised anymore when asking a morph for its #borderColor. Just colors.
- Copying the prototypical border styles from the UI theme when used in morphs.
- A post-load script that updates all your morphs in the image. Not that important but good for keeping your current tools opened.

After a few days of no complaints, I will merge it into Trunk.

Best,
Marcel







Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Karl Ramberg
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:
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

Am 04.05.2018 17:33:46 schrieb karl ramberg <[hidden email]>:

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:
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

Am 04.05.2018 10:34:20 schrieb Marcel Taeumel <[hidden email]>:

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

Am 11.04.2018 12:01:47 schrieb Marcel Taeumel <[hidden email]>:

Hi, there.

Please find attached a refactoring of BorderedMorph to make use of BorderStyle like regular morphs do. Maybe, in the future, we can get rid of BorderedMorph.

It includes:
- No instVar access to borderColor and borderWidth but message sends.
- No #inset or #raised anymore when asking a morph for its #borderColor. Just colors.
- Copying the prototypical border styles from the UI theme when used in morphs.
- A post-load script that updates all your morphs in the image. Not that important but good for keeping your current tools opened.

After a few days of no complaints, I will merge it into Trunk.

Best,
Marcel











Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

Laurence Rozier
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
Reply | Threaded
Open this post in threaded view
|

Re: [Please Test] Refactoring for BorderedMorph to use BorderStyle

marcel.taeumel
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

Am 21.05.2018 17:48:25 schrieb Laurence Rozier III <[hidden email]>:

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




12