Eliot Miranda uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-eem.1251.mcz
==================== Summary ====================
Name: Tools-eem.1251 Author: eem Time: 29 April 2024, 2:53:17.573251 pm UUID: f493712c-4f55-4c9e-96f9-394e45e29b32 Ancestors: Tools-eem.1250
For the TreeBrowser, if a system category is already selected, use it as teh stem of the prompt to add a new category, so that it is easier to add a subcategory.
Guard against empty categories in answering the class list of a PackagePaneBrowser.
=============== Diff against Tools-eem.1250 ===============
Item was changed: ----- Method: Browser>>addSystemCategory (in category 'system category functions') ----- addSystemCategory "Prompt for a new category name and add it before the current selection, or at the end if no current selection" | oldSelection newName | self okToChange ifFalse: [^ self]. oldSelection := self selectedSystemCategory. newName := self request: 'Please type new category name' + initialAnswer: (oldSelection ifNil: ['Category-Name'] ifNotNil: [oldSelection, '-Name']). + newName isEmpty ifTrue: [^ self]. - initialAnswer: 'Category-Name'. - newName isEmpty - ifTrue: [^ self] - ifFalse: [newName := newName asSymbol]. systemOrganizer + addCategory: (newName := newName asSymbol) - addCategory: newName before: self selectedSystemCategory. + self selectSystemCategory: newName. - self selectSystemCategory: - (oldSelection isNil - ifTrue: [ self systemCategoryList last ] - ifFalse: [ oldSelection ]). self changed: #systemCategoryList.!
Item was changed: ----- Method: PackagePaneBrowser>>classList (in category 'class list') ----- classList
self hasSystemCategorySelected ifTrue: [| thisPackage thisCatSufix categories | thisPackage := self package. thisCatSufix := self selectedSystemCategoryWithoutPackage. categories := systemOrganizer categories select: [:eachCat | eachCat size >= thisPackage size and: ["package prefix may occur in different cases, because they are assembled in the same package" ((eachCat first: thisPackage size) compare: thisPackage caseSensitive: false) = 2] and: ["rest of system category must have exact case, because it is discrimnated by the system category list" (eachCat allButFirst: thisPackage size) = thisCatSufix]]. + categories ifNotEmpty: + [^categories gather: [:eachCat | systemOrganizer listAtCategoryNamed: eachCat]]]. - ^ categories gather: [:eachCat | - systemOrganizer listAtCategoryNamed: eachCat]]. self hasPackageSelected ifTrue: [^ self packageClasses]. ^ systemOrganizer allElements!
packages@lists.squeakfoundation.org