[squeak-dev] The Trunk: Tools-mt.1103.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jan 13 14:51:37 UTC 2022


Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1103.mcz

==================== Summary ====================

Name: Tools-mt.1103
Author: mt
Time: 13 January 2022, 3:51:35.185475 pm
UUID: 15568d63-9e8c-1541-9620-1e86a2644382
Ancestors: Tools-mt.1102, Tools-ct.1069

Merges Tools-ct.1069, which adds "browse package" sub-menu into SystemBrowser's system/class-category menu to then be able to browse extensions and dependencies of a package that belongs to the selected category.

=============== Diff against Tools-mt.1102 ===============

Item was added:
+ ----- Method: Browser>>browsePackage (in category 'system category functions') -----
+ browsePackage
+ 	
+ 	^ self selectedPackage
+ 		ifNil: [self informUnknownPackage]
+ 		ifNotNil: [:package | package browse].!

Item was added:
+ ----- Method: Browser>>browsePackageDependencies (in category 'system category functions') -----
+ browsePackageDependencies
+ 
+ 	^ self selectedPackage
+ 		ifNil: [self informUnknownPackage]
+ 		ifNotNil: [:package | DependencyBrowser openOnPackage: package].!

Item was added:
+ ----- Method: Browser>>browsePackageDependenciesInverted (in category 'system category functions') -----
+ browsePackageDependenciesInverted
+ 
+ 	^ self selectedPackage
+ 		ifNil: [self informUnknownPackage]
+ 		ifNotNil: [:package | DependencyBrowser openInvertedOnPackage: package].!

Item was added:
+ ----- Method: Browser>>browsePackageExtensions (in category 'system category functions') -----
+ browsePackageExtensions
+ 	
+ 	^ self selectedPackage
+ 		ifNil: [self informUnknownPackage]
+ 		ifNotNil: [:package | self systemNavigation browseAllExtensionMethodsOfPackage: package]!

Item was added:
+ ----- Method: Browser>>browsePackageExtensionsLocalTo (in category 'system category functions') -----
+ browsePackageExtensionsLocalTo
+ 	
+ 	^ self selectedPackage
+ 		ifNil: [self informUnknownPackage]
+ 		ifNotNil: [:package |	
+ 			self systemNavigation
+ 				browseAllExtensionMethodsOfPackage: package
+ 				localTo: self selectedSystemCategory].!

Item was added:
+ ----- Method: Browser>>informUnknownPackage (in category 'system category functions') -----
+ informUnknownPackage
+ 
+ 	self inform: ('The category <b>{1}</b> does not<br>belong to a known package.' translated format: {self selectedSystemCategory}) asTextFromHtml.!

Item was added:
+ ----- Method: Browser>>mainPackageMenu: (in category 'system category functions') -----
+ mainPackageMenu: aMenu
+ 	<packageMenu>
+ 	
+ 	self selectedPackage ifNil: [
+ 		^ aMenu
+ 			add: '(No package found.)' translated action: #yourself;
+ 			yourself].
+ 	
+ 	aMenu addList: #(
+ 			('browse package'							browsePackage)
+ 			#-
+ 			('extensions'				browsePackageExtensions)).
+ 	
+ 	aMenu
+ 		add: 'extensions local to ''', self selectedSystemCategory, ''''
+ 		action: #browsePackageExtensionsLocalTo.
+ 	
+ 	aMenu addList: #(
+ 			#-
+ 			('dependencies'				browsePackageDependencies)
+ 			('inverted dependencies'	browsePackageDependenciesInverted)).
+ 	
+ 	^ aMenu!

Item was changed:
  ----- Method: Browser>>mainSystemCategoryMenu: (in category 'system category functions') -----
  mainSystemCategoryMenu: aMenu
  	<systemCategoryMenu>
+ 	aMenu addTranslatedList: #(
+ 			('find class... (f)'					findClass)
+ 			('back... (b)'						recent)
- 	^ aMenu addList: #(
- 			('find class... (f)'			findClass)
- 			('back... (b)'				recent)
  			-
+ 			('browse all'							browseAllClasses)
+ 			('browse'							buildSystemCategoryBrowser)).
+ 	
+ 	(Smalltalk isMorphic and: [self selectedPackage notNil]) ifTrue: [
+ 		aMenu
+ 			add: ('browse package ''{1}''' translated format: {self selectedPackage name})
+ 			subMenu: (self packageMenu: ((Smalltalk isMorphic
+ 				ifTrue: [MenuMorph new defaultTarget: self; yourself]
+ 				ifFalse: [CustomMenu new])
+ 				yourself))
+ 			target: self
+ 			selector: #yourself
+ 			argumentList: #()].
+ 
+ 	aMenu addTranslatedList: #(
- 			('browse all'			browseAllClasses)
- 			('browse'				buildSystemCategoryBrowser)
  			-
+ 			('printOut'							printOutSystemCategory)
+ 			('fileOut'							fileOutSystemCategory)
- 			('printOut'				printOutSystemCategory)
- 			('fileOut'				fileOutSystemCategory)
  			-
+ 			('reorganize'						editSystemCategories)
+ 			('alphabetize'						alphabetizeSystemCategories)
- 			('reorganize'			editSystemCategories)
- 			('alphabetize'			alphabetizeSystemCategories)
  			-
+ 			('update'							updateSystemCategories)
+ 			('add item...'						addSystemCategory)
+ 			('rename...'							renameSystemCategory)
+ 			('remove (x)'						removeSystemCategory)).
+ 	^ aMenu!
- 			('update'				updateSystemCategories)
- 			('add item...'				addSystemCategory)
- 			('rename...'				renameSystemCategory)
- 			('remove (x)'			removeSystemCategory));
- 		yourself
- !

Item was added:
+ ----- Method: Browser>>packageMenu: (in category 'system category functions') -----
+ packageMenu: aMenu
+ 	^ self menu: aMenu for: #(packageMenu packageMenuShifted:)
+ !

Item was added:
+ ----- Method: Browser>>selectedPackage (in category 'system category list') -----
+ selectedPackage
+ 
+ 	^ self environment packageOrganizer
+ 		packageOfSystemCategory: self selectedSystemCategory
+ 		ifNone: []!

Item was changed:
  ----- Method: DependencyBrowser class>>openInvertedOn: (in category 'opening') -----
  openInvertedOn: requiredPackageNames
  	"DependencyBrowser openInvertedOn: #(Monticello)"
  	
  	| model |
  	model := self new.	
  	^ ToolBuilder open: (
  		model
+ 			packageList: (Cursor wait showWhile: [
+ 				model packageList select: [:packageName |
+ 					model computePackageAndClassDependencies: packageName.
+ 					model packageDeps includesAnyOf: requiredPackageNames]]);
- 			packageList: (model packageList select: [:packageName |
- 				model computePackageAndClassDependencies: packageName.
- 				model packageDeps includesAnyOf: requiredPackageNames]);
  			windowTitle: ('Dependency Browser (inverted on {1})' translated format: {requiredPackageNames});
+ 			yourself)
+ !
- 			yourself)!

Item was added:
+ ----- Method: DependencyBrowser class>>openInvertedOnPackage: (in category 'opening') -----
+ openInvertedOnPackage: aPackageInfo
+ 	"DependencyBrowser openInvertedOnPackage: Morph packageInfo"
+ 	
+ 	^ self openInvertedOn: {aPackageInfo name}!

Item was added:
+ ----- Method: DependencyBrowser class>>openOnPackage: (in category 'opening') -----
+ openOnPackage: aPackageInfo
+ 	"DependencyBrowser openOnPackage: Morph packageInfo"
+ 	
+ 	^ ToolBuilder open: (self new
+ 		selectPackage: aPackageInfo name;
+ 		yourself)!

Item was added:
+ ----- Method: DependencyBrowser>>selectPackage: (in category 'class list') -----
+ selectPackage: packageName
+ 
+ 	self packageListIndex: (self packageList indexOf: packageName).!

Item was added:
+ ----- Method: DependencyBrowser>>selectedPackage (in category 'package list') -----
+ selectedPackage
+ 
+ 	^ self environment packageOrganizer
+ 		packageNamed: self selectedPackageName
+ 		ifAbsent: [nil]!

Item was added:
+ ----- Method: DependencyBrowser>>selectedPackageName (in category 'package list') -----
+ selectedPackageName
+ 
+ 	^ self packageList at: self packageListIndex!

Item was added:
+ ----- Method: PackagePaneBrowser class>>fullOnPackage: (in category 'instance creation') -----
+ fullOnPackage: aPackage
+ 
+ 	^ self new
+ 		selectPackageNamed: aPackage name;
+ 		buildAndOpenFullBrowser!

Item was changed:
  ----- Method: PackagePaneBrowser>>mainPackageMenu: (in category 'package list') -----
  mainPackageMenu: aMenu
  	"Answer a Menu of operations on class packages to be 
  	displayed when the operate menu button is pressed."
  	<packageListMenu>
  	^aMenu addList: #(
+ 			('find class... (f)'		findClass)
+ 			('back... (b)'			recent)
- 			('find class...'		findClass)
- 			('recent classes...'	recent)
  			-
+ 			('browse extensions'	browsePackageExtensions)
+ 			('browse dependencies'	browsePackageDependencies)
+ 			('browse inverted dependencies'	browsePackageDependenciesInverted)
+ 			-
+ 			('reorganize'			editSystemCategories)
+ 			('alphabetize'			alphabetizeSystemCategories)
- 			('reorganize'		editSystemCategories)
- 			('alphabetize'		alphabetizeSystemCategories)
  			-				
+ 			('update'				updatePackages));
+ 		yourself.!
- 			('update'			updatePackages));
- 		yourself.
- !

Item was changed:
  ----- Method: PackagePaneBrowser>>package (in category 'package list') -----
  package
  	"Answer the receiver's 'package'."
  
+ 	^ self selectedPackageName!
- 	^ self hasPackageSelected
- 		ifFalse: [nil]
- 		ifTrue: [self packageList at: packageListIndex]
- !

Item was changed:
  ----- Method: PackagePaneBrowser>>packageListKey:from: (in category 'package list') -----
  packageListKey: aChar from: view
  	aChar == $f ifTrue: [^ self findClass].
+ 	aChar == $b ifTrue: [^ self recent].
  	^ self classListKey: aChar from: view!

Item was added:
+ ----- Method: PackagePaneBrowser>>selectPackageNamed: (in category 'package list') -----
+ selectPackageNamed: aPackageName
+ 
+ 	self packageListIndex: (self packageList indexOf: aPackageName).
+ 	self changed: #packageListIndex.!

Item was added:
+ ----- Method: PackagePaneBrowser>>selectedPackage (in category 'package list') -----
+ selectedPackage
+ 
+ 	^ self selectedPackageName
+ 		ifNil: [super selectedPackage]
+ 		ifNotNil: [:packageName |
+ 				self environment packageOrganizer
+ 					packageNamed: packageName
+ 					ifAbsent: [nil]]!

Item was added:
+ ----- Method: PackagePaneBrowser>>selectedPackageName (in category 'package list') -----
+ selectedPackageName
+ 
+ 	^ self hasPackageSelected
+ 		ifFalse: [nil]
+ 		ifTrue: [self packageList at: packageListIndex]!

Item was changed:
  ----- Method: StandardToolSet class>>browsePackage: (in category 'browsing') -----
  browsePackage: aPackageInfo
  	
+ 	^ PackagePaneBrowser fullOnPackage: aPackageInfo!
- 	self flag: #discuss. "mt: Maybe use the package-pane browser?"
- 	"PackagePaneBrowser fullOnCategory: aPackageInfo name"
- 	
- 	^ self browseCategory: aPackageInfo systemCategories first
- 	
- !



More information about the Squeak-dev mailing list