[squeak-dev] The Trunk: PreferenceBrowser-mt.124.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 31 08:45:05 UTC 2021


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

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

Name: PreferenceBrowser-mt.124
Author: mt
Time: 31 December 2021, 9:45:05.003725 am
UUID: 2bcd047d-e488-a248-b512-ef43d4611855
Ancestors: PreferenceBrowser-mt.123

Allow users to experiment with various scale factors in the wizard, which requires to hide some static texts to be able to click on 100% again after trying, e.g., 300%.

=============== Diff against PreferenceBrowser-mt.123 ===============

Item was changed:
  ----- Method: PreferenceWizardMorph>>step (in category 'stepping') -----
  step
  
+ 	| oldBounds |
- 	| oldWidth oldBounds |
  	"self comeToFront."
  
  	isFullScreen == true
  		ifTrue: [
  			oldBounds := self bounds.
  			self bounds: self world bounds.
  			self bounds = oldBounds ifFalse: [
+ 				self updateWindowBounds.
+ 				self updatePageVisibility]]
- 				self updateWindowBounds]]
  		ifFalse: [
- 			oldWidth := self width.
  			self width: self world width.
+ 			self center: self world center].!
- 			self center: self world center.
- 			self width = oldWidth ifFalse: [
- 				self updateWindowBounds]].!

Item was added:
+ ----- Method: PreferenceWizardMorph>>updatePageVisibility (in category 'layout') -----
+ updatePageVisibility
+ 	"Hide extra labels if page has not enough space."
+ 	
+ 	| currentPage scrollPane enoughRoom topText bottomText firstItem |
+ 	controlMorph ifNil: [^ self].
+ 	controlMorph submorphs size > 1 ifFalse: [^ self].
+ 	currentPage := controlMorph lastSubmorph.
+ 	scrollPane := currentPage submorphs second.
+ 
+ 	topText := controlMorph firstSubmorph.
+ 	bottomText := currentPage lastSubmorph isTextMorph
+ 		ifTrue: [currentPage lastSubmorph].
+ 	firstItem := scrollPane scroller firstSubmorph firstSubmorph. "checkbox"
+ 
+ 	enoughRoom := topText visible
+ 		ifTrue: [firstItem height <= scrollPane height]
+ 		ifFalse: [firstItem height <= (scrollPane height
+ 			- topText height - (bottomText ifNil: [0] ifNotNil: [:t | t height]))].
+ 	
+ 	enoughRoom not
+ 		ifTrue: [
+ 			controlMorph firstSubmorph
+ 				visible: false;
+ 				disableLayout: true.
+ 			currentPage lastSubmorph isTextMorph
+ 				ifTrue: [
+ 					currentPage lastSubmorph
+ 						visible: false;
+ 						disableLayout: true]]
+ 		ifFalse: [
+ 			controlMorph firstSubmorph
+ 				visible: true;
+ 				disableLayout: false.
+ 			currentPage lastSubmorph isTextMorph
+ 				ifTrue: [
+ 					currentPage lastSubmorph
+ 						visible: true;
+ 						disableLayout: false]]!



More information about the Squeak-dev mailing list