[squeak-dev] The new object based UI is a disaster for certain tasks
Eliot Miranda
eliot.miranda at gmail.com
Thu May 27 16:42:17 UTC 2021
Hi All,
there *must* be a simple way to avoid the object selection behaviour of
the new print it. Here's a motivating example.
Today I wanted to examine the difference between two classes in a
particular package.
(StackInterpreterSimulator organization categories select: [:c| c
beginsWith: '*VM']) select:
[:c| (StackInterpreterSimulator organization listAtCategoryNamed: c) ~=
(CogVMSimulator organization listAtCategoryNamed: c)]
#(#'*VMMakerUI-InterpreterSimulation-Morphic' #'*VMMakerUI-user interface')
Then I wanted to see what the difference was. An initial use of
copyWithoutAll: gave me unexpected results. So I eyeballed the two
categories:
#(#'*VMMakerUI-InterpreterSimulation-Morphic' #'*VMMakerUI-user interface')
collect:
[:c| {CogVMSimulator organization listAtCategoryNamed: c.
StackInterpreterSimulator organization listAtCategoryNamed: c}]
#(#(#(#eventQueue #openAsMorph #openAsMorphNoTranscript #windowColorToUse)
#(#eventQueue #openAsMorph #openAsMorphNoTranscript #openAsSimulatorMorph
#windowColorToUse)) #(#(#evaluatePrinter:on: #headFramePointer
#headStackPointer #printFrame:WithSP:on: #toggleTranscript #utilitiesMenu:)
#(#evaluatePrinter:on: #headFramePointer #headStackPointer
#printFrame:WithSP:on: #setClickStepBreakBlock #toggleTranscript
#toggleTranscriptForSimulatorMorph: #utilitiesMenu:)))
The first thing I was frustrated in was to add some carriage returns, so I
could see. I wanted to format the output thus:
#(#(#(#eventQueue #openAsMorph #openAsMorphNoTranscript #windowColorToUse)
#(#eventQueue #openAsMorph #openAsMorphNoTranscript #openAsSimulatorMorph
#windowColorToUse))
#(#(#evaluatePrinter:on: #headFramePointer #headStackPointer
#printFrame:WithSP:on: #toggleTranscript #utilitiesMenu:)
#(#evaluatePrinter:on: #headFramePointer #headStackPointer
#printFrame:WithSP:on: #setClickStepBreakBlock #toggleTranscript
#toggleTranscriptForSimulatorMorph: #utilitiesMenu:)))
Of course the only way I can do this is by cursor movement. Any attempt to
click with the mouse inspects the underlying object. Annoying but not
disastrous. I can use the cursor keys. So I am able with minor
frustration to find that StackInterpreterSimulator
implements openAsSimulatorMorph whereas CogVMSimulator does not. Now the
disastem. i simply want to look at the implementation
of openAsSimulatorMorph. So I want to select it and type command-M for
implementors. But with the new interface I have to do cursor selection
with shift, and it's getting ridiculously slow just to find the
implementors of a selector.
Surely the best way would be to allow normal textual interaction but use a
modifier key to inspect the underlying object. I have to completely
relearn my muscle memory and abandon my mouse to use this stuff. And that
is a disaster for me.
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210527/ce96c76b/attachment.html>
More information about the Squeak-dev
mailing list
|