Christoph Thiede uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-ct.1173.mcz
==================== Summary ====================
Name: Tools-ct.1173 Author: ct Time: 8 September 2022, 3:05:12.665836 pm UUID: f0fe2b64-b27c-6d4b-9670-d920d0580baf Ancestors: Tools-ct.1171
Fixes package pane browser to actually use the package organizer instead of parsing the system category list. Resolves https://github.com/squeak-smalltalk/squeak-object-memory/issues/28.
=============== Diff against Tools-ct.1171 ===============
Item was changed: Browser subclass: #PackagePaneBrowser + instanceVariableNames: 'packageOrganizer package packageListIndex packageList' - instanceVariableNames: 'package packageListIndex packageList' classVariableNames: '' poolDictionaries: '' category: 'Tools-Browser'!
+ !PackagePaneBrowser commentStamp: 'ct 9/8/2022 15:05' prior: 0! + A package browser represents a hierarchical query path through an organization of class and method information. It nests classes into a two-level hierarchy that consists of the package (e.g., Kernel, FFI-Kernel) and the system category (e.g., Exception, Exceptions-Kernel; Support, empty). - !PackagePaneBrowser commentStamp: '<historical>' prior: 0! - A package browser represents a hierarchical query path through an organization of class and method information. It parses class categories into a two-level hierarchy on the first '-' character, giving "packages" (e.g., Magnitude, Collections, Graphics, etc.), and "categories" (e.g., Magnitude-General and Magnitude-Number).
Instance Variables: + packageOrganizer <PackageOrganizer> the organizer of packages in the current environment package <Symbol> the "category header," e.g., #Magnitudes or #Collections packageListIndex <Integer> The index in the package list + packageList <OrderedCollection of String> the list of package names! - packageList <OrderedCollection of String> the list of package names - !
Item was added: + ----- Method: PackagePaneBrowser>>initialize (in category 'initialize-release') ----- + initialize + + super initialize. + + self packageOrganizer: self environment packageOrganizer.!
Item was changed: ----- Method: PackagePaneBrowser>>packageList (in category 'package list') ----- packageList - "Answer a list of the packages in the current system organization."
+ ^ self packageOrganizer packageNames sorted! - | str stream | - str := Set new: 100. - stream := WriteStream on: (Array new: 100). - systemOrganizer categories do: - [ :categ | | cats | - cats := categ asString copyUpTo: $-. - (str includes: cats) ifFalse: - [str add: cats. - stream nextPut: cats]]. - ^stream contents!
Item was added: + ----- Method: PackagePaneBrowser>>packageOrganizer (in category 'accessing') ----- + packageOrganizer + + ^ packageOrganizer!
Item was added: + ----- Method: PackagePaneBrowser>>packageOrganizer: (in category 'initialize-release') ----- + packageOrganizer: aPackageOrganizer + + packageOrganizer := aPackageOrganizer. + + self systemOrganizer: self systemOrganizer. "reset selections"!
Item was added: + ----- Method: PackagePaneBrowser>>selectEnvironment: (in category 'accessing') ----- + selectEnvironment: anEnvironment + + super selectEnvironment: anEnvironment. + self packageOrganizer: anEnvironment packages.!