[Cuis-dev] Quick print & quick implementors

Gerald Klix cuis.01 at klix.ch
Wed Dec 1 02:01:01 PST 2021


+1

Cool! If you move that feature up to CodeWindow, it's available
even in change sorters.

Please see attached change set.


However shift-click already extends the current selection.
I tried different modifiers, alas they are all taken.
Morph>>doubleClick:localPosition: does not work either,
probably, because the morph in question
handles double-clicks by itself (it also implements
triple-clicks).

Perhaps we can check this and only invoke that functionality
if the selection would not be changed by the shift click,
or if the selection is empty ... Will try figure some
smart way.


HTH,

Gerald



On 11/30/21 11:23 PM, Hernan Wilkinson via Cuis-dev wrote:
> Hi,
>   I created two new features that I'm attaching to this email.
> 1) If you do shift+click in the debugger over the code, you will get the
> same result as doing inspect on it but it will be shown as a hover help.
> Here is a link that shows how it works:
> https://twitter.com/HernanWilkinson/status/1465079401641652225?s=20
> 2) If you do shift+click in the browser, if the mouse is over a message
> send, it will show the implementors of that message, if it is over a class,
> it will open the browser over the class. Here also a link:
> https://twitter.com/HernanWilkinson/status/1465079839916974085?s=20
> 
> Doing this I realized that there is really no need to differentiate sender
> (cmd+n) from references to it (cmd+N), if the browser is smart enough to
> realize the cursor is on a selector it can show senders, if the cursor is
> over a class, it can show the references to it.
> The same between implementors (cmd+m) and browse (cmd+b).
> So I expanded the functionality of doing senders and implementors when
> nothing is selected (something I did 2 year ago aprox) to check if the
> cursor is over a selector or a class and act accordingly.
> 
> Also in this .cs is a fix to PseudoClass that did now answer superclass
> (I'm sorry Juan to put everything in the same .cs :-) )
> 
> I hope you like it!
> Hernan.
> 
> 
> 
-------------- next part --------------
'From Haver 5.0 [latest update: #4993] on 1 December 2021 at 10:50:10 am'!

!CodeWindow methodsFor: 'GUI building' stamp: 'KLG 12/1/2021 10:46:43'!
buildMorphicCodePane
	"Construct the pane that shows the code.
	Respect the Preference for standardCodeFont."
	
	| codePane |
	(codePane _ TextModelMorph
		textProvider: model
		textGetter: #acceptedContents
		textSetter: #contents:notifying:
		selectionGetter: #contentsSelection)
			emptyTextDisplayMessage: 'Smalltalk code (nothing selected?)'.	
	codePane scroller setProperty: #mouseButton1Up:localPosition: toValue: [ :event :mousePosition |
		event shiftPressed
			ifTrue: [ codePane editor implementorsOfNodeUnder: mousePosition. true ]
			ifFalse: [ false ] ].
	^ codePane! !

!methodRemoval: BrowserWindow #buildMorphicCodePane stamp: 'KLG 12/1/2021 10:46:59'!
BrowserWindow removeSelector: #buildMorphicCodePane!


More information about the Cuis-dev mailing list