[squeak-dev] The Trunk: Morphic-mt.1844.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jan 11 08:48:35 UTC 2022

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

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

Name: Morphic-mt.1844
Author: mt
Time: 11 January 2022, 9:48:30.418724 am
UUID: 721f3062-f45a-4f5e-8e74-b9871a0269ee
Ancestors: Morphic-ct.1843

Complements Tools-mt.1101.

Note that an editor's requestor must be its view/morph because the editor is an implementation detail not to be exposed to the model. A view/morph, however, can have a #name and thus easily be queried -- even without exposing Morphic details and supporting MVC as well. ... this is Morphic only though. TextEditor not that specific to Morphic, though. We might want to improve that in the future. And text editing/rendering in general. It's really not about Morphic but more low-level.

=============== Diff against Morphic-ct.1843 ===============

Item was changed:
  ----- Method: TextEditor>>browseIt (in category 'menu messages') -----
  	"Launch a browser for the current selection, if appropriate."
  	Preferences alternativeBrowseIt ifTrue: [^ self browseClassFromIt].
  	self lineSelectAndEmptyCheck: [^ morph flash].
  	"First, try to show all accesses to instance or class variables."
  	self selectedInstanceVariable ifNotNil:
  		[:nameToClass | self systemNavigation
  			browseAllAccessesTo: nameToClass key
  			from: nameToClass value].
  	self selectedClassVariable ifNotNil:
  		[:binding | self model browseAllCallsOn: binding].
  	"Then, either browse the class (from a binding) or all implementors of a selector."
  	self selectedBinding ifNotNil:
  		[:binding | ^ self systemNavigation browseClass: binding].
  	self selectedSelector ifNotNil:
+ 		[:selector | ^ self model browseAllImplementorsOf: selector requestor: morph].
- 		[:selector | ^ self model browseAllImplementorsOf: selector].
  	morph flash!

Item was changed:
  ----- Method: TextEditor>>implementorsOfIt (in category 'menu messages') -----
  	"Open an implementors browser on the selected selector"
  	self lineSelectAndEmptyCheck: [^ self].
  	self selectedSelector ifNotNil:
+ 		[:aSelector| ^self model browseAllImplementorsOf: aSelector requestor: morph].
- 		[:aSelector| ^self model browseAllImplementorsOf: aSelector].
  	self selectedLiteral ifNotNil:
+ 		[:aLiteral| ^self model browseAllImplementorsOf: aLiteral requestor: morph].
- 		[:aLiteral| ^self model browseAllImplementorsOf: aLiteral].
  	morph flash.!

Item was changed:
  ----- Method: TextEditor>>sendersOfIt (in category 'menu messages') -----
  	"Open a senders browser on the selected selector"
  	self lineSelectAndEmptyCheck: [^ self].
  	self selectedSelector ifNotNil: [:aSelector |
+ 		^ self model browseAllCallsOn: aSelector requestor: morph].
- 		^ self model browseAllCallsOn: aSelector].
  	self selectedLiteral ifNotNil: [:aLiteral |
+ 		^ self model browseAllCallsOn: aLiteral requestor: morph].
- 		^ self model browseAllCallsOn: aLiteral].
  	morph flash.!

More information about the Squeak-dev mailing list