Marcel Taeumel uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-mt.1207.mcz
==================== Summary ====================
Name: Tools-mt.1207 Author: mt Time: 31 May 2023, 3:42:47.717502 pm UUID: bf03c261-761b-0144-aca8-63a3a4b98371 Ancestors: Tools-mt.1206
In TreeBrowser, fixes some bugs regarding multi-window support. Thanks to Eliot (eem) for reporting those!
=============== Diff against Tools-mt.1206 ===============
Item was changed: ----- Method: Browser>>restoreToCategory:className:protocol:selector:mode:meta: (in category 'multi-window support') ----- restoreToCategory: category className: className protocol: protocol selector: selector mode: editMode meta: metaBool + selectedSystemCategory := nil. "forces UI updates in selectSystemCategory:" - selectedSystemCategory := nil. "forces recomputation in selectSystemCategory:" self selectSystemCategory: category. self selectClassNamed: className. self metaClassIndicated: metaBool. self selectMessageCategoryNamed: protocol. self selectMessageNamed: selector. editSelection := editMode. self contentsChanged; decorateButtons!
Item was changed: ----- Method: TreeBrowser>>buildAndOpenCategoryBrowserLabel: (in category 'toolbuilder') ----- buildAndOpenCategoryBrowserLabel: aLabel "Overwrite to replay certain interactive features that only work if the browser is already open." super buildAndOpenCategoryBrowserLabel: aLabel. self expandClassTree. self changed: #classChild. + + self expandMessageCategoryTree. + self changed: #messageCategoryChild. !
Item was changed: ----- Method: TreeBrowser>>buildAndOpenFullBrowser (in category 'toolbuilder') ----- buildAndOpenFullBrowser "Overwrite to replay certain interactive features that only work if the browser is already open." super buildAndOpenFullBrowser. self expandClassTree. self changed: #classChild. + self expandMessageCategoryTree. + self changed: #messageCategoryChild.! - !
Item was added: + ----- Method: TreeBrowser>>classList (in category 'class list') ----- + classList + "Overwritten to not compute hierarchical list by accident. Receiver looks up hierarchy differently. See 'class tree' category." + + ^ self defaultClassList!
Item was added: + ----- Method: TreeBrowser>>defaultClassList (in category 'class list') ----- + defaultClassList + "Overwritten for multi-window support together with hierarchyMode. See #findClass." + + ^ self isHierarchy + ifTrue: [lastClassList collect: [:ea | ea name]] + ifFalse: [super defaultClassList]!
Item was added: + ----- Method: TreeBrowser>>findClass (in category 'system category functions') ----- + findClass + "Overwritten for multi-window support. Switching between hierarchyMode via #findClass needs a refresh of the visible system categories. See #initHierarchyFor:." + + super findClass. + + self multiWindowState ifNotNil: [ | foundClass | + foundClass := self selectedClass. + self updateSystemCategoryTree. + self isHierarchy + ifTrue: [self selectSystemCategory: self class hierarchyCategory] + ifFalse: [self selectCategoryForClass: foundClass]. + self selectClass: foundClass].!
Item was changed: ----- Method: TreeBrowser>>restoreToCategory:className:protocol:selector:mode:meta: (in category 'extras - multi-window support') ----- restoreToCategory: category className: className protocol: protocol selector: selector mode: editMode meta: metaBool
lastSystemCategoryList := #(). lastClassList := #(). lastMessageCategoryList := #().
+ self isHierarchy + ifTrue: [self initHierarchyFor: classForHierarchy] + ifFalse: [self updateTreesIfNeeded]. - self updateTreesIfNeeded. super restoreToCategory: category className: className protocol: protocol selector: selector mode: editMode meta: metaBool.!
Item was changed: ----- Method: TreeBrowser>>updateMessageCategoryTree: (in category 'updating') ----- updateMessageCategoryTree: newList
lastMessageCategoryList := newList. self changed: #messageCategoryRoots. + self expandMessageCategoryTree. + + self changed: #messageCategoryChild.! - self expandMessageCategoryTree.!
squeak-dev@lists.squeakfoundation.org