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

commits at source.squeak.org commits at source.squeak.org
Sat Feb 5 15:11:13 UTC 2022


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

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

Name: Morphic-mt.1869
Author: mt
Time: 5 February 2022, 4:11:07.154491 pm
UUID: 42bc40fc-9eaa-a745-a2f2-0f6fda15d420
Ancestors: Morphic-mt.1868

Prepare Morphic to tweak its widget layout to use a font's #lineGrid and #lineGap.

Note that this is an extra commit for the update map so that images stay functional during updates.

=============== Diff against Morphic-mt.1868 ===============

Item was added:
+ ----- Method: AbstractFont>>lineGapForMorphs (in category '*Morphic-Widgets') -----
+ lineGapForMorphs
+ 	"Use this hook to control the compactness of Morphic views such as lists, trees, and buttons."
+ 
+ 	^ MorphicProject useCompactLists
+ 		ifTrue: [0]
+ 		ifFalse: [self lineGap]!

Item was added:
+ ----- Method: AbstractFont>>lineGapSliceForMorphs (in category '*Morphic-Widgets') -----
+ lineGapSliceForMorphs
+ 	"Use this hook to control the compactness of Morphic views such as lists, trees, and buttons."
+ 
+ 	^ MorphicProject useCompactLists
+ 		ifTrue: [0]
+ 		ifFalse: [self lineGapSlice]!

Item was added:
+ ----- Method: AbstractFont>>lineGridForMorphs (in category '*Morphic-Widgets') -----
+ lineGridForMorphs
+ 	"Use this hook to control the compactness of Morphic views such as lists, trees, and buttons."
+ 	
+ 	^ MorphicProject useCompactLists
+ 		ifTrue: [self height]
+ 		ifFalse: [self lineGrid]!

Item was changed:
  Project subclass: #MorphicProject
  	instanceVariableNames: 'uiProcess'
+ 	classVariableNames: 'DefaultFill UseCompactLists'
- 	classVariableNames: 'DefaultFill'
  	poolDictionaries: ''
  	category: 'Morphic-Support'!
  
  !MorphicProject commentStamp: 'dtl 7/13/2013 15:40' prior: 0!
  An MorphicProject is a project with a Morphic user interface. Its world is a PasteUpMorph, and its UI manager is a MorphicUIManager. It uses a MorphicToolBuilder to create the views for various tools. It has a single uiProcess for its world, and Morph updates and user interaction occur in the context of that UI process.
  !

Item was added:
+ ----- Method: MorphicProject class>>useCompactLists (in category 'preferences') -----
+ useCompactLists
+ 	<preference: 'Compact list/tree/menu widgets'
+ 		categoryList: #('Morphic' 'Tools')
+ 		description: 'When true, ignore the #lineGrid of the current list font when computing the list layout and other geometry properties. Does not interfere with the layout of text fields.'
+ 		type: #Boolean>
+ 
+ 	^ UseCompactLists ifNil: [false]!

Item was added:
+ ----- Method: MorphicProject class>>useCompactLists: (in category 'preferences') -----
+ useCompactLists: aBooleanOrNil
+ 
+ 	UseCompactLists = aBooleanOrNil ifTrue: [^ self].
+ 	UseCompactLists := aBooleanOrNil.
+ 	
+ 	AbstractFont allSubInstancesDo: [:font | font reset "except glyph caches"].
+ 	UserInterfaceTheme current basicApply.!



More information about the Squeak-dev mailing list