[squeak-dev] The Trunk: ToolBuilder-Kernel-mt.134.mcz

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


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

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

Name: ToolBuilder-Kernel-mt.134
Author: mt
Time: 23 October 2019, 1:40:47.348795 pm
UUID: 66bc16c6-9595-4c55-a506-a374d1f642a4
Ancestors: ToolBuilder-Kernel-ct.133

Support the functional layout properties for LazyListMorph in tool-builder specs. Chose "alignment" instead of "positioning" because specs are not Morphic-specific. The terms "item" and "column" reflect item- or column-specifc settings, which can be confusing because our current lists do only support uniform (item) rows.

=============== Diff against ToolBuilder-Kernel-ct.133 ===============

Item was changed:
  PluggableWidgetSpec subclass: #PluggableListSpec
+ 	instanceVariableNames: 'list getIndex setIndex getSelected setSelected menu keyPress autoDeselect dragItem dropItem dropAccept doubleClick listSize listItem keystrokePreview icon vScrollBarPolicy hScrollBarPolicy dragStarted helpItem filterableList clearFilterAutomatically itemAlignment itemPadding'
- 	instanceVariableNames: 'list getIndex setIndex getSelected setSelected menu keyPress autoDeselect dragItem dropItem dropAccept doubleClick listSize listItem keystrokePreview icon vScrollBarPolicy hScrollBarPolicy dragStarted helpItem filterableList clearFilterAutomatically'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'ToolBuilder-Kernel'!
  
  !PluggableListSpec commentStamp: 'ar 7/15/2005 11:54' prior: 0!
  A single selection list element.
  
  Instance variables:
  	list		<Symbol>	The selector to retrieve the list elements.
  	getIndex	<Symbol>	The selector to retrieve the list selection index.
  	setIndex	<Symbol>	The selector to set the list selection index.
  	getSelected	<Symbol>	The selector to retrieve the list selection.
  	setSelected	<Symbol>	The selector to set the list selection.
  	menu	<Symbol>	The selector to offer (to retrieve?) the context menu.
  	keyPress <Symbol>	The selector to invoke for handling keyboard shortcuts.
  	autoDeselect	<Boolean>	Whether the list should allow automatic deselection or not.
  	dragItem	<Symbol>	Selector to initiate a drag action on an item
  	dropItem	<Symbol>	Selector to initiate a drop action of an item
  	dropAccept	<Symbol>	Selector to determine whether a drop would be accepted!

Item was added:
+ ----- Method: PluggableListSpec>>itemAlignment (in category 'accessing') -----
+ itemAlignment
+ 	"Define the alignment of each list item in its layout cell. The value can encode both horizontal and vertical dimensions."
+ 	
+ 	^ itemAlignment!

Item was added:
+ ----- Method: PluggableListSpec>>itemAlignment: (in category 'accessing') -----
+ itemAlignment: aSymbol
+ 	"For convenience, map #left and #right to their correct values. At least for Morphic."
+ 	
+ 	aSymbol == #left ifTrue: [^ itemAlignment := #leftCenter].
+ 	aSymbol == #right ifTrue: [^ itemAlignment := #rightCenter].
+ 	
+ 	itemAlignment := aSymbol.!

Item was added:
+ ----- Method: PluggableListSpec>>itemPadding (in category 'accessing') -----
+ itemPadding
+ 	
+ 	^ itemPadding!

Item was added:
+ ----- Method: PluggableListSpec>>itemPadding: (in category 'accessing') -----
+ itemPadding: numberOrPointOrRectangle
+ 	
+ 	itemPadding := numberOrPointOrRectangle.!

Item was changed:
  PluggableListSpec subclass: #PluggableMultiColumnListSpec
+ 	instanceVariableNames: 'itemAlignments itemPaddings columnResizings columnSpaceFillWeights'
- 	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'ToolBuilder-Kernel'!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>columnResizings (in category 'accessing') -----
+ columnResizings
+ 	"For each column, define the horizontal resizing (or #hResizing) behavior. Choose from #rigid, #shrinkWrap, and #spaceFill."
+ 	
+ 	^ columnResizings ifNil: [#(spaceFill)]!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>columnResizings: (in category 'accessing') -----
+ columnResizings: someSymbols
+ 
+ 	columnResizings := someSymbols.!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>columnSpaceFillWeights (in category 'accessing') -----
+ columnSpaceFillWeights
+ 	"For each column, define the relative space-fill weight, which will be used if the resizing strategy is set to #spaceFill."
+ 	
+ 	^ columnSpaceFillWeights ifNil: [#(1)]!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>columnSpaceFillWeights: (in category 'accessing') -----
+ columnSpaceFillWeights: someNumbers
+ 	
+ 	columnSpaceFillWeights := someNumbers.!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>itemAlignments (in category 'accessing') -----
+ itemAlignments
+ 	"For each column, define the alignment of each list item in its layout cell. The value can encode both horizontal and vertical dimensions."
+ 	
+ 	^ itemAlignments ifNil: [self itemAlignment ifNil: [#()] ifNotNil: [:alignment | {alignment}]]!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>itemAlignments: (in category 'accessing') -----
+ itemAlignments: someSymbols
+ 	"For convenience, map #left and #right to their correct values. At least for Morphic."
+ 
+ 	itemAlignments := someSymbols collect: [:alignment |
+ 		alignment == #left ifTrue: [#leftCenter] ifFalse: [
+ 		alignment == #right ifTrue: [#rightCenter] ifFalse: [
+ 		alignment]]].!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>itemPaddings (in category 'accessing') -----
+ itemPaddings
+ 	
+ 	^ itemPaddings ifNil: [self itemPadding ifNil: [#()] ifNotNil: [:padding | {padding}]]!

Item was added:
+ ----- Method: PluggableMultiColumnListSpec>>itemPaddings: (in category 'accessing') -----
+ itemPaddings: someNumbersOrPointsOrRectangles
+ 	
+ 	itemPaddings := someNumbersOrPointsOrRectangles.!



More information about the Squeak-dev mailing list