Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.911.mcz
==================== Summary ====================
Name: Tools-mt.911
Author: mt
Time: 30 October 2019, 9:16:36.005226 am
UUID: 14795473-427f-2c4d-81b1-79db8f78296f
Ancestors: Tools-mt.910
*at:put: should always return the stored value.
=============== Diff against Tools-mt.910 ===============
Item was changed:
----- Method: ChangeList>>listSelectionAt:put: (in category 'viewing access') -----
listSelectionAt: index put: value
listSelections at: index put: value.
+ self changed: #listIndex.
+ ^ value!
- self changed: #listIndex.!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1583.mcz
==================== Summary ====================
Name: Morphic-mt.1583
Author: mt
Time: 29 October 2019, 3:09:10.326172 pm
UUID: 2724b1c3-9a13-1c4f-811f-a5bbc8ed76e1
Ancestors: Morphic-mt.1582
Make it possible to recover from (deprecation) warnings in important drawing methods.
See http://forum.world.st/The-Trunk-System-mt-1093-mcz-tp5103937p5106420.html
=============== Diff against Morphic-mt.1582 ===============
Item was changed:
----- Method: WorldState>>displayWorldSafely: (in category 'update cycle') -----
displayWorldSafely: aWorld
"Update this world's display and keep track of errors during draw methods."
| finished classesWithErrors |
finished := false.
[finished] whileFalse: [
+ [aWorld displayWorld. finished := true] on: Error, Halt, Warning do: [:ex |
- [aWorld displayWorld. finished := true] on: Error, Halt do: [:ex |
"Handle a drawing error"
| err rcvr errCtx errMorph |
err := ex description.
rcvr := ex receiver.
errCtx := thisContext.
[
errCtx := errCtx sender.
"Search the sender chain to find the morph causing the problem"
[errCtx notNil and:[(errCtx receiver isMorph) not]]
whileTrue:[errCtx := errCtx sender].
"If we're at the root of the context chain then we have a fatal drawing problem"
errCtx ifNil:[^Project current fatalDrawingError: err].
errMorph := errCtx receiver.
"If the morph causing the problem has already the #drawError flag set,
then search for the next morph above in the caller chain."
errMorph hasProperty: #errorOnDraw
] whileTrue.
errMorph setProperty: #errorOnDraw toValue: true.
"Catch all errors, one for each receiver class."
classesWithErrors ifNil: [classesWithErrors := IdentitySet new].
(classesWithErrors includes: rcvr class) ifFalse: [
classesWithErrors add: rcvr class.
ToolSet debugException: ex].
"Repaint all to catch all errors now and not if the debugger will appear."
aWorld fullRepaintNeeded.
]].!
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.910.mcz
==================== Summary ====================
Name: Tools-mt.910
Author: mt
Time: 29 October 2019, 12:39:01.998604 pm
UUID: 981eb775-0636-d744-b7bf-8f13d72351b1
Ancestors: Tools-mt.909
Fixes (a regression in) list selection in change-list tool. It is not the job of the model to implement toggle in a multi-selection setting. The model only has to react to index selector and selection-list selectors.
=============== Diff against Tools-mt.909 ===============
Item was changed:
----- Method: ChangeList>>listSelectionAt:put: (in category 'viewing access') -----
listSelectionAt: index put: value
+ listSelections at: index put: value.
+ self changed: #listIndex.!
- ^ listSelections at: index put: value!
Item was changed:
----- Method: ChangeList>>toggleListIndex: (in category 'viewing access') -----
toggleListIndex: newListIndex
+ listIndex = newListIndex ifTrue: [^ self].
- listIndex ~= 0 ifTrue: [listSelections at: listIndex put: false].
- newListIndex ~= 0 ifTrue: [listSelections at: newListIndex put: true].
listIndex := newListIndex.
+
self changed: #listIndex.
self contentsChanged!
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.!
Karl Ramberg uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-kfr.363.mcz
==================== Summary ====================
Name: EToys-kfr.363
Author: kfr
Time: 18 October 2019, 9:59:23.452765 pm
UUID: b1411ef5-32ec-1f4b-b9bb-7d139d7facb2
Ancestors: EToys-mt.362
Utilities>>setterSelectorfor: was deprecated
=============== Diff against EToys-mt.362 ===============
Item was changed:
----- Method: AssignmentTileMorph>>assignmentRootForParseNode (in category '*Etoys-Squeakland-player viewer') -----
assignmentRootForParseNode
"Answer the assignment root"
+ ^ assignmentRoot asSetterSelector!
- ^ Utilities setterSelectorFor: assignmentRoot!