The Trunk: Morphic-mt.1581.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-mt.1581.mcz

commits-2
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@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.!