The Inbox: Morphic-ct.1693.mcz

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

The Inbox: Morphic-ct.1693.mcz

commits-2
A new version of Morphic was added to project The Inbox:
http://source.squeak.org/inbox/Morphic-ct.1693.mcz

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

Name: Morphic-ct.1693
Author: ct
Time: 7 October 2020, 1:51:31.244742 pm
UUID: 44dd03e5-ba2e-0449-bdcc-162507d4bb77
Ancestors: Morphic-eem.1686

Fixes unnecessary layout hickup during repositioning a SystemProgressMorph. Speeds up Collection >> #do:displayingProgress: significantly.

See http://forum.world.st/Overhead-of-SystemProgressMorph-do-displayingProgress-is-huge-td5123048.html for more information. Thanks to Marcel for the tip! :-)

=============== Diff against Morphic-eem.1686 ===============

Item was added:
+ ----- Method: SystemProgressMorph>>extent: (in category 'as yet unclassified') -----
+ extent: foo
+
+ "self haltIf: [self extent ~= foo]."
+ ^ super extent:foo!

Item was changed:
  ----- Method: SystemProgressMorph>>reposition (in category 'private') -----
  reposition
  "Put ourself in the requested position on the display, but ensure completely within the bounds of the display"
  | position |
  self bounds:
+ ((self bounds
- ((self fullBounds
  align: self fullBounds center
  with: (self requestedPosition ifNil: [ self fullBounds center ])) translatedToBeWithin: Display boundingBox).
  "Check to see if labels are wider than progress bars. In that case do
  a centered instead of the default left aligned layout."
  position := self width > (Inset x * 2 + (self borderWidth * 2) + BarWidth)
  ifTrue: [ #topCenter ]
  ifFalse: [ #leftCenter ].
  self cellPositioning: position!