[squeak-dev] The Inbox: Tools-ct.1173.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Sep 8 13:05:19 UTC 2022
A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/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.!
More information about the Squeak-dev
mailing list
|