Interesting Morphic improvement

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

Interesting Morphic improvement

Stephan Eggermont-3
Marcel Taeumel has made a lot of improvements to Morphic Squeak.
This looks like an interesting one for us.
I tried it in 50292 (making the changes in the right order)
haven't found a problem yet.

Stephan


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.900.mcz

==================== Summary ====================

Name: Morphic-mt.900
Author: mt
Time: 19 April 2015, 11:27:22.653 am
UUID: 950b4378-f3fe-db4c-b054-88b646a1feb0
Ancestors: Morphic-mt.899

Fix to avoid unnecessary layout computation for proportional layout.

Note: Please report any visual glitches. Not 100% sure about the extent
of this change...

=============== Diff against Morphic-mt.899 ===============

Item was changed:
   ----- Method: Morph>>layoutProportionallyIn: (in category 'layout')
-----
   layoutProportionallyIn: newBounds
   "Layout specific. Apply the given bounds to the receiver."
   | box frame |
   frame := self layoutFrame ifNil:[^self].
- "before applying the proportional values make sure the receiver's
layout is computed"
- self fullBounds. "sigh..."
   "compute the cell size the receiver has given its layout frame"
   box := frame layout: self bounds in: newBounds.
   (box = self bounds) ifTrue:[^self]. "no change"
   ^self layoutInBounds: box.!

Item was added:
+ ----- Method: PluggableTextMorph>>isAutoFit (in category 'accessing')
-----
+ isAutoFit
+
+ ^ textMorph isAutoFit!

Item was added:
+ ----- Method: ScrollPane>>isAutoFit (in category 'access') -----
+ isAutoFit
+ "Does this scroll pane modifies the extent of its scrollable content
when it resizes itself to avoid, for example, a horizontal or vertical
scrollbar?"
+
+ ^ false!

Item was added:
+ ----- Method: ScrollPane>>layoutProportionallyIn: (in category
'layout') -----
+ layoutProportionallyIn: newBounds
+
+ self layoutFrame ifNil:[^self].
+ self isAutoFit ifTrue: [self fullBounds].
+ ^ super layoutProportionallyIn: newBounds.!


Reply | Threaded
Open this post in threaded view
|

Re: Interesting Morphic improvement

stepharo
Hi stefan

Ok let us know and once you are ok publish an issue with the slice.

Stef

Le 31/8/15 17:35, Stephan Eggermont a écrit :

> Marcel Taeumel has made a lot of improvements to Morphic Squeak.
> This looks like an interesting one for us.
> I tried it in 50292 (making the changes in the right order)
> haven't found a problem yet.
>
> Stephan
>
>
> Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
> http://source.squeak.org/trunk/Morphic-mt.900.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-mt.900
> Author: mt
> Time: 19 April 2015, 11:27:22.653 am
> UUID: 950b4378-f3fe-db4c-b054-88b646a1feb0
> Ancestors: Morphic-mt.899
>
> Fix to avoid unnecessary layout computation for proportional layout.
>
> Note: Please report any visual glitches. Not 100% sure about the
> extent of this change...
>
> =============== Diff against Morphic-mt.899 ===============
>
> Item was changed:
>   ----- Method: Morph>>layoutProportionallyIn: (in category 'layout')
> -----
>   layoutProportionallyIn: newBounds
>   "Layout specific. Apply the given bounds to the receiver."
>   | box frame |
>   frame := self layoutFrame ifNil:[^self].
> - "before applying the proportional values make sure the receiver's
> layout is computed"
> - self fullBounds. "sigh..."
>   "compute the cell size the receiver has given its layout frame"
>   box := frame layout: self bounds in: newBounds.
>   (box = self bounds) ifTrue:[^self]. "no change"
>   ^self layoutInBounds: box.!
>
> Item was added:
> + ----- Method: PluggableTextMorph>>isAutoFit (in category
> 'accessing') -----
> + isAutoFit
> +
> + ^ textMorph isAutoFit!
>
> Item was added:
> + ----- Method: ScrollPane>>isAutoFit (in category 'access') -----
> + isAutoFit
> + "Does this scroll pane modifies the extent of its scrollable content
> when it resizes itself to avoid, for example, a horizontal or vertical
> scrollbar?"
> +
> + ^ false!
>
> Item was added:
> + ----- Method: ScrollPane>>layoutProportionallyIn: (in category
> 'layout') -----
> + layoutProportionallyIn: newBounds
> +
> + self layoutFrame ifNil:[^self].
> + self isAutoFit ifTrue: [self fullBounds].
> + ^ super layoutProportionallyIn: newBounds.!
>
>
>