Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.912.mcz
==================== Summary ====================
Name: Tools-mt.912
Author: mt
Time: 7 November 2019, 9:21:36.964312 am
UUID: 56087af9-7f23-d243-9e11-13826172a49f
Ancestors: Tools-mt.911
Quick fix for versions browser.
Note that I think that the interaction that results in selection changes should be implemented in the widgets, not the models.
Is [shift] pressed?
Is it a drag?
Is it a click on an already selected item?
All these things belong into widget code to keep model code simple. For example, I think that we should also move the logic behind range selection from MessageTrace into the AlternatePluggableListMorphOfMany. So other models (or tools) could benefit from it.
=============== Diff against Tools-mt.911 ===============
Item was added:
+ ----- Method: VersionsBrowser>>toggleListIndex: (in category 'viewing access') -----
+ toggleListIndex: newListIndex
+
+ listIndex ~= 0 ifTrue: [listSelections at: listIndex put: false].
+ newListIndex ~= 0 ifTrue: [listSelections at: newListIndex put: true].
+
+ super toggleListIndex: newListIndex.!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1117.mcz
==================== Summary ====================
Name: System-mt.1117
Author: mt
Time: 6 November 2019, 6:52:50.594854 pm
UUID: f5648e1c-b449-e24e-b148-98dcc34928c1
Ancestors: System-mt.1116
Adds missing method to make #test01ImplementationHooks pass again.
We might want to re-design this at some point. There are now several cases in the image where class-side caches need to be invalidated on UI-theme application. Maybe change the test...
=============== Diff against System-mt.1116 ===============
Item was added:
+ ----- Method: RealEstateAgent>>applyUserInterfaceTheme (in category 'preferences') -----
+ applyUserInterfaceTheme
+
+ "Ignore. Only class-side cache."!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1584.mcz
==================== Summary ====================
Name: Morphic-mt.1584
Author: mt
Time: 6 November 2019, 9:06:51.922374 am
UUID: 2e6402c5-7245-ae48-a58b-025014f95acb
Ancestors: Morphic-mt.1583
Fixes a regression in PluggableListMorph >> #getVisibleList. Also restore code formatting in that method.
Note that "3@3" referred to #hMargin in LazyListMorph, which is not required since the entire row is defined by its selection rectangle, not the beginning of the text. Still, "0@1" is required because #bottomLeft is (always) one pixel to far down.
=============== Diff against Morphic-mt.1583 ===============
Item was changed:
----- Method: PluggableListMorph>>bottomVisibleRowIndex (in category 'accessing - items') -----
bottomVisibleRowIndex
+ ^ self rowAtLocation: self scroller bottomLeft - (0@1)!
- ^ self rowAtLocation: self bottomLeft+(3@3 negated)!
Item was changed:
----- Method: PluggableListMorph>>topVisibleRowIndex (in category 'accessing - items') -----
topVisibleRowIndex
+ ^ self rowAtLocation: self scroller topLeft!
- ^ self rowAtLocation: self topLeft+(3@3)!
Item was changed:
----- Method: PluggableListMorph>>visibleList (in category 'accessing') -----
visibleList
+ "For convenience. Avoid accessing #getList directly. Just use the same protocol that my #listMorph uses."
+
+ ^ self listSize = 0
+ ifTrue: [ Array empty ]
+ ifFalse:
+ [ (self topVisibleRowIndex to: self bottomVisibleRowIndex) collect:
+ [ :viewIndex |
+ self itemAt: viewIndex ] ].!
-
- ^ (self topVisibleRowIndex to: (self bottomVisibleRowIndex min: self listSize))
- collect: [:viewIndex | self itemAt: viewIndex].!