Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.678.mcz==================== Summary ====================
Name: Tools-mt.678
Author: mt
Time: 16 March 2016, 2:34:21.339033 pm
UUID: db77a698-d959-4e09-97d3-9011979a9723
Ancestors: Tools-topa.677
Fixes bug in Hierarchy Browser related to subclassing and class-list updating. Might be a regression fix caused by some recent updates.
Note that we might want to establish the same update mechanism as in other CodeHolder subclasses, which is #stepAt:. At the moment, Hierarchy Browsers do not recognize general changes in the class hierarchy - only if that change origins from within that hierarchy browser.
=============== Diff against Tools-topa.677 ===============
Item was removed:
- ----- Method: HierarchyBrowser>>changed: (in category 'initialization') -----
- changed: sym
- sym == #classList ifTrue: [self updateAfterClassChange].
- super changed: sym!
Item was added:
+ ----- Method: HierarchyBrowser>>copyClass (in category 'class functions') -----
+ copyClass
+
+ super copyClass.
+ self updateAfterClassChange.!
Item was added:
+ ----- Method: HierarchyBrowser>>defineClass:notifying: (in category 'class functions') -----
+ defineClass: defString notifying: aController
+
+ super defineClass: defString notifying: aController.
+ self updateAfterClassChange.!
Item was added:
+ ----- Method: HierarchyBrowser>>defineTrait:notifying: (in category 'traits') -----
+ defineTrait: defString notifying: aController
+
+ super defineTrait: defString notifying: aController.
+ self updateAfterClassChange.!
Item was changed:
----- Method: HierarchyBrowser>>initHierarchyForClass: (in category 'initialization') -----
initHierarchyForClass: aClassOrMetaClass
| nonMetaClass superclasses |
centralClass := aClassOrMetaClass.
nonMetaClass := aClassOrMetaClass theNonMetaClass.
self systemOrganizer: SystemOrganization.
metaClassIndicated := aClassOrMetaClass isMeta.
classDisplayList := OrderedCollection new.
(superclasses := nonMetaClass allSuperclasses reversed) withIndexDo:
[ : each : indent | classDisplayList add:
(String streamContents:
[ : stream | indent - 1 timesRepeat: [ stream nextPutAll: ' ' ].
stream nextPutAll: each name ]) ].
nonMetaClass
allSubclassesWithLevelDo:
[ : eachClass : lvl | classDisplayList add:
(String streamContents:
[ : stream | lvl timesRepeat: [ stream nextPutAll: ' ' ].
stream nextPutAll: eachClass name ]) ]
startingLevel: superclasses size.
+
+ self changed: #classList.
self selectClass: nonMetaClass!
Item was added:
+ ----- Method: HierarchyBrowser>>renameClass (in category 'class functions') -----
+ renameClass
+
+ super renameClass.
+ self updateAfterClassChange.!