[squeak-dev] The Inbox: Tools-ct.1069.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Nov 1 18:12:47 UTC 2021


A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-ct.1069.mcz

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

Name: Tools-ct.1069
Author: ct
Time: 1 November 2021, 7:12:42.078014 pm
UUID: 62e9cb10-4017-3e40-a9bb-c57e2f3de95a
Ancestors: Tools-eem.1065

Adds menu items to browse the extensions, dependencies, and the package of a system category or package in the relevant browsers' columns.

Depends on System-ct.1245.
Supersedes Tools-ct.930.
Also integrates Tools-ct.961 for package browsing instead of adding new merge conflicts (though this increases the size of this version -- please report back whether this was a good decision or not).
Reuploaded as a replacement for Tools-ct.1065 to collect all package-related items in the browser in a submenu. Yes, at some time, we should really clean up CustomMenu and move some responsibilities to the ToolBuilder, but until we tackle this construction site, let's not restraint ourselves from adding new features.

=============== Diff against Tools-eem.1065 ===============

Item was added:
+ ----- Method: Browser>>browseExtensions (in category 'system category functions') -----
+ browseExtensions
+ 	
+ 	^ self systemNavigation browseAllExtensionsOfCategory: self selectedSystemCategory!

Item was added:
+ ----- Method: Browser>>browseInvertedPackageDependencies (in category 'system category functions') -----
+ browseInvertedPackageDependencies
+ 
+ 	^ DependencyBrowser openInvertedOnPackage: self selectedPackage!

Item was added:
+ ----- Method: Browser>>browsePackage (in category 'system category functions') -----
+ browsePackage
+ 	
+ 	^ self selectedPackage browse!

Item was added:
+ ----- Method: Browser>>browsePackageDependencies (in category 'system category functions') -----
+ browsePackageDependencies
+ 
+ 	^ DependencyBrowser openOnPackage: self selectedPackage!

Item was added:
+ ----- Method: Browser>>browsePackageExtensions (in category 'system category functions') -----
+ browsePackageExtensions
+ 	
+ 	^ self systemNavigation browseAllExtensionsOfPackage: self selectedPackage!

Item was added:
+ ----- Method: Browser>>mainPackageMenu: (in category 'system category functions') -----
+ mainPackageMenu: aMenu
+ 	<packageMenu>
+ 	^ aMenu addList: #(
+ 			('browse'							browsePackage)
+ 			('browse extensions'				browsePackageExtensions)
+ 			('browse dependencies'				browsePackageDependencies)
+ 			('browse inverted dependencies'	browseInvertedPackageDependencies));
+ 		yourself!

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)
+ 			('browse extensions'				browseExtensions)).
+ 	aMenu
+ 		add: 'package' translated
+ 		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!

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 computePackageDependencies: packageName.
+ 					model packageDeps includesAnyOf: requiredPackageNames]]);
- 			packageList: (model packageList select: [:packageName |
- 				model computePackageDependencies: packageName.
- 				model packageDeps includesAnyOf: requiredPackageNames]);
  			windowTitle: ('Dependency Browser (inverted on {1})' format: {requiredPackageNames});
  			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 'class list') -----
+ selectedPackage
+ 
+ 	^ 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'	browseInvertedPackageDependencies)
+ 			-
+ 			('reorganize'			editSystemCategories)
+ 			('alphabetize'			alphabetizeSystemCategories)
- 			('reorganize'		editSystemCategories)
- 			('alphabetize'		alphabetizeSystemCategories)
  			-				
+ 			('update'				updatePackages));
+ 		yourself.!
- 			('update'			updatePackages));
- 		yourself.
- !

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 package
+ 		ifNotNil: [:package | PackageInfo named: package]
+ 		ifNil: [super selectedPackage]!

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