Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.896.mcz==================== Summary ====================
Name: Tools-mt.896
Author: mt
Time: 1 October 2019, 12:51:43.394611 pm
UUID: 64caf9cf-236a-a744-9d3d-2f33f66647d9
Ancestors: Tools-mt.895
Fixes a tool-update bug when drag-dropping classes or methods between categories.
This surfaced only now because I recently cached #getFullList in PluggableListMorph. Now we notice those missing "self changed: #myListSelector" in tool models. I suppose that only "more recent" features - such as this drag-and-drop feature - might be affected because list filtering is not around *that* long.
=============== Diff against Tools-mt.895 ===============
Item was changed:
----- Method: Browser>>dropOnMessageCategories:at: (in category 'drag and drop') -----
dropOnMessageCategories: method at: index
| sourceClass destinationClass category copy |
copy := Sensor shiftPressed.
(method isKindOf: CompiledMethod)
ifFalse:[^self inform: 'Can only drop methods'].
sourceClass := method methodClass.
destinationClass := self selectedClassOrMetaClass.
sourceClass == destinationClass ifTrue:[
category := self messageCategoryList at: index.
category = ClassOrganizer allCategory ifTrue: [^false].
destinationClass organization classify: method selector under: category suppressIfDefault: false logged: true.
+ self changed: #messageCategoryList.
+ self changed: #messageList.
^true ].
(copy
or: [ (destinationClass inheritsFrom: sourceClass)
or: [ (sourceClass inheritsFrom: destinationClass)
or: [ sourceClass theNonMetaClass == destinationClass theNonMetaClass ] ] ])
ifFalse: [
(self confirm: (
'Classes "{1}" and "{2}" are unrelated.{3}Are you sure you want to move this method?'
format: { sourceClass. destinationClass. Character cr }))
ifFalse: [ ^false ] ].
destinationClass
compile: method getSource
classified: (self messageCategoryList at: index)
withStamp: method timeStamp
notifying: nil.
copy ifFalse: [
sourceClass removeSelector: method selector ].
^true!
Item was changed:
----- Method: Browser>>dropOnSystemCategories:at: (in category 'drag and drop') -----
dropOnSystemCategories: aClass at: index
| category |
(aClass isBehavior) ifFalse:[^self inform: 'Can only drop classes'].
category := self systemCategoryList at: index.
self selectedEnvironment organization classify: aClass instanceSide name under: category.
+ self changed: #systemCategoryList.
+ self changed: #classList.
^true!