[Pkg] The Trunk: Tools-tpr.780.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Dec 20 19:48:39 UTC 2017

tim Rowledge uploaded a new version of Tools to project The Trunk:

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

Name: Tools-tpr.780
Author: tpr
Time: 20 December 2017, 11:47:36.353661 am
UUID: ff0363cd-738f-4147-bd36-ea2a42f23ffc
Ancestors: Tools-mt.779

Small improvement to the spawnToClass: related browser buiding - gets the initial slection cleaner etc

=============== Diff against Tools-mt.779 ===============

Item was changed:
  ----- Method: Browser class>>newOnClass:messageCategory:selector:editString:label: (in category 'instance creation') -----
  newOnClass: aClass messageCategory: aCategory selector: aSelector editString: aString label: aLabel
  	"Open a new message protocol browser on this class & protocol with aString pre-selected in the code pane.
  	We have to be a bit sneaky to do the string insertion since it cannot be handled until after the actual browser is built and opened"
  	"Browser newOnClass: Browser messageCategory: 'controls' selector: #decorateButtons editString: 'test string edit setup' label: 'Testing class browser with set edit string'"
  	| newBrowser|
  	newBrowser := self new.
  	"setting up a new browser for a specific class, category and selector requires this order of messages
  	since the #selectMessageCategoryNamed: carefully nils the chosen selector; thus we can't use
  	the more obvious seeming #setClass:selector: method"
  		setClass: aClass;
  		selectMessageCategoryNamed: aCategory;
+ 		selectMessageNamed: aSelector;
+ 		editSelection: #editMessage.
- 		selectMessageNamed: aSelector.
  	newBrowser buildAndOpenMessageCategoryBrowserLabel: 'Message Category Browser (' , aClass name, ')'.
  	aString ifNotNil:[newBrowser changed: #editString with: aString].

Item was changed:
  ----- Method: CodeHolder>>buildMessageCategoryBrowserForCategory:class:selector:editString: (in category 'construction') -----
  buildMessageCategoryBrowserForCategory: aCategory class: aClass selector: aSelectorOrNil editString: methodSourceCode 
  	"Create and schedule a new class browser for the current selection,
  	with initial textual contents set to aString. This is used specifically in
  	spawning where a class is established but a method-category is not."
  	self flag: #uglyHack. "mt: We should not abuse Browser like this. We should not even know about #Browser in this superclass."
  	^ (Browser
  		newOnClass: aClass
  		messageCategory: aCategory
  		selector: aSelectorOrNil
  		editString: methodSourceCode
+ 		label: 'Message category Browser: ' , aClass name , aCategory)!
- 		label: 'Message category Browser: ' , aClass name , aCategory)
- 			editSelection: #editMessage; "...because we know it is method code."
- 			changed: #editString with: methodSourceCode; "...trigger re-styling."
- 			yourself!

More information about the Packages mailing list