Bert, thank you for the additional clues you provide go further into this.
On 9/3/10, Bert Freudenberg bert@freudenbergs.de wrote:
On 03.09.2010, at 10:28, Hannes Hirzel wrote:
On of the things I have been wondering recently is where the package actually "lives" in the image.
A package is a (sub-) instance of PackageInfo. Packages are held by PackageOrganizer.
One idea would be to include a PackageInfo subclass in each package, and its class comment or methods would describe the package. That would hook into HelpSystem so one could browse comments, instructions, examples etc. per package.
I like this idea.
There are a few conventions for that already, e.g. the class name should end in "Info" and it should be in a category named "PackageName-Info".
There are some questions, see below.
- Bert -
I found the package 'PackageInfo'.
It contains four classes PackageInfo allInstances size 29 PackageList allInstances size 0 PackageOrganizer allInstances size 1 PackageServices allInstances size 0
Note: I am using an image I had run through the process of SmalltalkImage current unloadAllKnownPackages (details see http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-August/153026.ht...) I get the 10MB current "minimal" Squeak 4.1 trunk image.
I get PackagePaneBrowser new packageList size 24 and PackagePaneBrowser new packageList is
#('Kernel' 'Collections' 'Exceptions' 'Files' 'Balloon' 'Graphics' 'Morphic' 'Multilingual' 'Network' 'PackageInfo' 'SUnit' 'Sound' 'Compiler' 'Compression' 'System' 'Tools' 'Monticello' 'MonticelloConfigurations' 'ToolBuilder' 'MorphicExtras' 'TrueType' 'ShoutCore' 'HelpSystem' 'Help')
My questions
1) How are the 29 PackageInfo instances currently used? How have they been created? 2) What does the PackageOrganizer instance do? Is it just used by the PackagePaneBrowser? 3) There is no instance variable 'description' or 'comment' in the class #PackageInfo *** 4) What should we do next? Are there objections going ahead creating subclasses of PackageInfo and put them into the packages. 5) Which are the references to earlier discussions of this?
--Hannes
*** Object subclass: #PackageInfo instanceVariableNames: 'packageName methodCategoryPrefix preamble postscript preambleOfRemoval postscriptOfRemoval' classVariableNames: '' poolDictionaries: '' category: 'PackageInfo-Base'