A new version of System was added to project The Inbox: http://source.squeak.org/inbox/System-ct.1417.mcz
==================== Summary ====================
Name: System-ct.1417 Author: ct Time: 26 June 2023, 4:15:14.920016 pm UUID: b04b204e-ffa6-804e-81a1-9d0277ce0a6b Ancestors: System-mt.1416
SystemNavigation: Adds and uses #browseClassesSelect:, analogously to #browseAllSelect:.
=============== Diff against System-mt.1416 ===============
Item was added: + ----- Method: SystemNavigation>>browseClassesSelect: (in category 'browse') ----- + browseClassesSelect: aBlock + "Create and schedule a class list browser on each class that fulfills the aBlock predicate. + + self systemNavigation browseClassesSelect: [:class | class isVariable] + " + + ^ self browseClassesSelect: aBlock name: nil!
Item was added: + ----- Method: SystemNavigation>>browseClassesSelect:name: (in category 'browse') ----- + browseClassesSelect: aBlock name: aString + "Create and schedule a class list browser on each class that fulfills the aBlock predicate. + + self systemNavigation browseClassesSelect: [:class | class isVariable] name: 'Variable classes' + " + + | classes | + classes := SortedCollection sortBlock: #name ascending. + Cursor wait showWhile: [ + Smalltalk allClassesDo: [:class | + (aBlock value: class) ifTrue: [ + classes add: class]]]. + + ^ self + browseClassList: classes + name: aString!
Item was changed: ----- Method: SystemNavigation>>browseClassesWithNamesContaining:caseSensitive: (in category 'browse') ----- browseClassesWithNamesContaining: aString caseSensitive: caseSensitive + " + SystemNavigation default browseClassesWithNamesContaining: 'eMorph' caseSensitive: true + " - "SystemNavigation default browseClassesWithNamesContaining: 'eMorph' caseSensitive: true " "Launch a class-list list browser on all classes whose names containg aString as a substring."
+ ^ self + browseClassesSelect: [:class | class name includesSubstring: aString caseSensitive: caseSensitive] + name: ('Classes whose names contain {1} ({2})' translated format: { + aString. + caseSensitive ifTrue: ['case-sensitive' translated] ifFalse: ['use shift for case-sensitive' translated]})! - | suffix aList | - suffix := caseSensitive - ifTrue: [' (case-sensitive)'] - ifFalse: [' (use shift for case-sensitive)']. - aList := OrderedCollection new. - Cursor wait - showWhile: [Smalltalk - allClassesDo: [:class | (class name includesSubstring: aString caseSensitive: caseSensitive) - ifTrue: [aList add: class name]]]. - ^ ToolSet openClassListBrowser: aList asSet sorted title: 'Classes whose names contain ' , aString , suffix!
squeak-dev@lists.squeakfoundation.org