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

commits at source.squeak.org commits at source.squeak.org
Wed Oct 23 11:41:48 UTC 2019


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

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

Name: Morphic-mt.1581
Author: mt
Time: 23 October 2019, 1:41:38.794795 pm
UUID: 564716d4-ab46-4013-b314-813d9ed8ece0
Ancestors: Morphic-mt.1580

Complements ToolBuilder-Kernel-mt.134.

=============== Diff against Morphic-mt.1580 ===============

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellInsetAtColumn: (in category 'layout') -----
+ cellInsetAtColumn: columnIndex
+ 	
+ 	^ self cellInsetForColumns
+ 		at: columnIndex
+ 		ifAbsent: [
+ 			"Repeat the inset of the last column or choose the default."
+ 			self cellInsetForColumns
+ 				ifEmpty: [3 at 0]
+ 				ifNotEmpty: [:paddings | paddings last]]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellInsetForColumns (in category 'layout') -----
+ cellInsetForColumns
+ 	
+ 	^ self valueOfProperty: #cellInsetForColumns ifAbsent: [#()]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellInsetForColumns: (in category 'layout') -----
+ cellInsetForColumns: someSymbols
+ 	"Cache the preferred inset of items per column because column count can vary."
+ 	
+ 	self setProperty: #cellInsetForColumns toValue: someSymbols.!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellPositioningAtColumn: (in category 'layout') -----
+ cellPositioningAtColumn: columnIndex
+ 	
+ 	^ self cellPositioningForColumns
+ 		at: columnIndex
+ 		ifAbsent: [
+ 			"Repeat the alignment of the last column or choose the default."
+ 			self cellPositioningForColumns
+ 				ifEmpty: [#leftCenter]
+ 				ifNotEmpty: [:alignments | alignments last]]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellPositioningForColumns (in category 'layout') -----
+ cellPositioningForColumns
+ 	
+ 	^ self valueOfProperty: #cellPositioningForColumns ifAbsent: [#()]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>cellPositioningForColumns: (in category 'layout') -----
+ cellPositioningForColumns: someSymbols
+ 	"Cache the preferred positioning of items per column because column count can vary."
+ 	
+ 	self setProperty: #cellPositioningForColumns toValue: someSymbols.!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>hResizingAtColumn: (in category 'layout') -----
+ hResizingAtColumn: columnIndex
+ 	
+ 	^ self hResizingForColumns
+ 		at: columnIndex
+ 		ifAbsent: [
+ 			"Repeat the resizing strategy of the last column or choose the default."
+ 			self hResizingForColumns
+ 				ifEmpty: [#spaceFill]
+ 				ifNotEmpty: [:strategies | strategies last]]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>hResizingForColumns (in category 'layout') -----
+ hResizingForColumns
+ 	
+ 	^ self valueOfProperty: #hResizingForColumns ifAbsent: [#()]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>hResizingForColumns: (in category 'layout') -----
+ hResizingForColumns: someSymbols
+ 	"Cache the preferred horizontal resizing for each column because column count can vary."
+ 	
+ 	self setProperty: #hResizingForColumns toValue: someSymbols.!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>spaceFillWeightAtColumn: (in category 'layout') -----
+ spaceFillWeightAtColumn: columnIndex
+ 	
+ 	^ self spaceFillWeightForColumns
+ 		at: columnIndex
+ 		ifAbsent: [
+ 			"Repeat the weight of the last column or choose the default."
+ 			self spaceFillWeightForColumns
+ 				ifEmpty: [1]
+ 				ifNotEmpty: [:weights | weights last]]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>spaceFillWeightForColumns (in category 'layout') -----
+ spaceFillWeightForColumns
+ 	
+ 	^ self valueOfProperty: #spaceFillWeightForColumns ifAbsent: [#()]!

Item was added:
+ ----- Method: PluggableMultiColumnListMorph>>spaceFillWeightForColumns: (in category 'layout') -----
+ spaceFillWeightForColumns: someSymbols
+ 	"Cache the preferred space-fill weight for each column because column count can vary."
+ 	
+ 	self setProperty: #spaceFillWeightForColumns toValue: someSymbols.!

Item was changed:
  ----- Method: PluggableMultiColumnListMorph>>updateColumns (in category 'updating') -----
  updateColumns
  	"The number of columns must match the number of list morphs."
  	
+ 	| columnsChanged |
+ 	columnsChanged := self columnCount ~= listMorphs size.
- 	self columnCount = listMorphs size ifTrue: [^ self].
  	
  	[self columnCount < listMorphs size]
  		whileTrue: [
  			listMorphs removeLast delete].
  	
  	[self columnCount > listMorphs size]
  		whileTrue: [
  			listMorphs addLast: self createListMorph.
  			self scroller addMorphBack: listMorphs last].
  	
+ 	listMorphs doWithIndex: [:listMorph :columnIndex |
+ 		listMorph
+ 			columnIndex: columnIndex;
+ 			cellPositioning: (self cellPositioningAtColumn: columnIndex);
+ 			cellInset: (self cellInsetAtColumn: columnIndex);
+ 			hResizing: (self hResizingAtColumn: columnIndex);
+ 			spaceFillWeight: (self spaceFillWeightAtColumn: columnIndex)].
+ 		
+ 	columnsChanged ifTrue: [self setListParameters].!
- 	listMorphs doWithIndex: [:ea :col | ea columnIndex: col].
- 	self setListParameters.!



More information about the Squeak-dev mailing list