[squeak-dev] The Inbox: Tools-ct.1173.mcz
christoph.thiede at student.hpi.uni-potsdam.de
christoph.thiede at student.hpi.uni-potsdam.de
Mon Sep 12 17:19:57 UTC 2022
Hi Jakob,
thanks for the review! I have revised this proposal and merged it via Tools-ct.1175 into the Trunk.
> There is one "regression" in this: the packages (and therefore categories) are not ordered the same way as the class categories in the system browser anymore. I would not mind it personally, but does somebody else?
I would not, too. The package browser is not for system categories. They are different artifacts and any relationship between their orders could only be constructed through a brittle heuristic. If any one would like to object anyway, please do. :-)
Best,
Christoph
---
Sent from Squeak Inbox Talk
On 2022-09-11T20:16:15+02:00, jakres+squeak at gmail.com wrote:
> Looks reasonable to me in general. There is one "regression" in this:
> the packages (and therefore categories) are not ordered the same way
> as the class categories in the system browser anymore. I would not
> mind it personally, but does somebody else?
>
> Do we actually need an instance variable for the package organizer?
> Could we not always use ^ self environment packages packageNames
> sorted?
>
> The new class comment sounds a bit confusing to me because the
> examples for "system category" are not put in relation with the
> examples for "package". In the previous example (that did not match up
> with the actual presentation) that was more obvious. :o)
>
> Am Do., 8. Sept. 2022 um 15:05 Uhr schrieb <commits at source.squeak.org>:
> >
> > 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.!
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220912/9f97ddf8/attachment.html>
More information about the Squeak-dev
mailing list
|