[squeak-dev] The Trunk: Morphic-ct.1693.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Oct 8 11:34:39 UTC 2020


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/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!



More information about the Squeak-dev mailing list