[squeak-dev] The Trunk: Morphic-mt.1715.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jan 12 13:04:13 UTC 2021

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

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

Name: Morphic-mt.1715
Author: mt
Time: 12 January 2021, 2:04:07.252356 pm
UUID: 2641645d-9048-f44f-b6ea-2cd85e2c7ff0
Ancestors: Morphic-mt.1714

Fixes the issue where a dialog with flexible contents was not fully visible in small worlds. Thanks to Chris (cbc) for pointing this out!

(Note that I think that we need a better way for this combination of #fullBounds, #extent:, and #translatedToBeWithin: to make sure that a morph is visible in the world. May be also useful for other windows. Not sure about this variation with #center: though.)

=============== Diff against Morphic-mt.1714 ===============

Item was changed:
  ----- Method: DialogWindow>>moveToHand (in category 'position') -----
+ 	self moveToHand: self currentHand.!
- 	self moveToHand: self activeHand.!

Item was changed:
  ----- Method: DialogWindow>>moveToPreferredPosition (in category 'initialization') -----
+ 	"Moves the dialog window to its preferred position, which can be a point on the screen or a named widget in the dialog's central pane. Ensure that the dialog is fully visible in the world. Also see #positionOverWidgetNamed:."
+ 	| visibleArea decorationOffset |
+ 	self fullBounds. "Compute new layout to have updated bounds."
+ 	visibleArea := self currentWorld visibleClearArea.
+ 	decorationOffset := self extent - self paneMorph extent.
+ 	self paneMorph extent:
+ 		(self paneMorph extent min: visibleArea extent - decorationOffset).
+ 	self fullBounds. "Compute new layout to have updated bounds."
  	self center:
  		(preferredPosition isPoint
  			ifTrue: [ preferredPosition ]
  			ifFalse: [ self center + self currentHand position - preferredPosition center ]).
+ 	self bounds:
+ 		(self bounds translatedToBeWithin: visibleArea).!
- 	self bounds: (self bounds translatedToBeWithin: self currentWorld visibleClearArea)!

More information about the Squeak-dev mailing list