[squeak-dev] deselection broken in method list

Eliot Miranda eliot.miranda at gmail.com
Sat Apr 16 22:07:01 UTC 2016


Is it possible to deselect in a MessageList Browser?  I am so /f*&^%ed off/
that I can't do fileOutAll.  Grrr.

On Sun, Jul 27, 2014 at 10:12 PM, Eliot Miranda <eliot.miranda at gmail.com>
wrote:

> Hi Chris,
>
>
> On Sat, Jul 26, 2014 at 9:53 AM, Chris Muller <asqueaker at gmail.com> wrote:
>
>> > > Hi All,
>>>>> > >
>>>>> > >     I depend heavily on fileOutAll in method list browsers.  For
>>>>> example, I'm trying to create versions of the VM's boolean cheat code for
>>>>> the Sista bytecode set and do this by filing out the code for the Newspeak
>>>>> set and editing it.  I tried to do this using "self systemNavigation
>>>>> browseAllSelect: [:m| ('*ooleanCheat*V*' match: m selector) or: [m
>>>>> sendsSelector: #booleanCheatV4:]]" to get a method list browser.  Then I
>>>>> was expecting to be able to use file out with nothing in the list
>>>>> selected.  This files out all methods in the list but...
>>>>> > >
>>>>> > > Deselection is broken!  I can't deselect the first item and hence
>>>>> can only file out a single definition .  Will whoever changed this please
>>>>> restore it asap? (in trunk)
>>>>> > >
>>>>> > >
>>>>> > > Hi again, hey, I just realized!  There is a way to deselect in the
>>>>> MessageTrace.  It's called "Invert Level Selection" and its on the "more"
>>>>> menu (Shift+yellow click).
>>>>> > >
>>>>> > > Hot key for it is Command+Shift+I (capital "eye").
>>>>> > >
>>>>> >
>>>>> > Wasn't that ?DoIt and invoke the inspector? ?
>>>>>
>>>>
>>>> No, that's only from a code pane.  We're talking about from the upper
>>>> pane of a MessageTrace or MessageSet.
>>>>
>>>> But now I see I misspoke -- because I had been experimenting with
>>>> Eliots question from a MessageTrace with only one message it it.
>>>>
>>>> This is something I've wnated fixed for a long time, I'll see if I can
>>>> spend a little time wiht it today and solve it.
>>>>
>>>> BTW, why is it intuitive at all that NO SELECTION means ALL SELECTION
>>>> for filing out?  Talk about unintuitive -- THAT sounds like it would be a
>>>> bug in itself but, whatever..
>>>>
>>>
>>> Nonsense ;-)  A selection in a list means one thing in the list.  What
>>> else can nothing in the list be interpreted as?
>>>
>>
>> That's a logical choice for the browser that only supports 0-or-1
>> selection.  But the MessageTrace browser only currently supports 1-to-many
>> selection, so to file them all out you would simply select them all.
>>
>
> When I use multiple select followed by fileOut in the message trace only
> the first selection is printed out.  So multiple select is broken at least
> for file out.
>
> In the latter case, What-Is-Selected = What-Is-Filed-Out, which is
>> intuitive and consistent.  In the former case, the user has to make the
>> translation that "Zero-Selection = All-Filed-Out" which puts the UI's
>> behavior briefly into their cognitive view (a higher level than the
>> intuitive level).  That's all I meant.
>>
>
> Except that, at least in the case of fileOut, multiple select isn't
> observed.
>
>
>>  It is either nothing selected or "the list".  Of course it's intuitive.
>>> If one says "file out" to a list of items it is natural for that command to
>>> apply to the whole list.  You're not seeing the trees for the forest.
>>>
>>>
>>
>>>>
>>>>> To focus on Eliot's original question: The deselection mechanism works
>>>>> in Squeak4.5-13352.image. It does not work in trunk now.
>>>>>
>>>>
>>>> No, nothing has changed other than the traceMessages preference being
>>>> set, which is way more important than occasionally filing out methods of a
>>>> list.
>>>>
>>>
>>> It's not about what is more important.  It is about /not breaking
>>> things/.
>>>
>>
>> Eliot, I'm sorry to repeat myself but, _nothing has changed_.  Nothing is
>> broken that wasn't "broken" before.
>>
>> MessageSet is a 0-or-1 selection, period.  MessageTrace selection is
>> 1-to-many and has been for many years.  You could very easily select them
>> all and then file them out (and, I'm sorry I didn't mention that before!).
>> In spite of that easy work-around, I offered in my last note to spend time
>> looking into it MessageTrace supporting 0-to-many selection.
>>
>> And your value judgement that trace messages is way more important is
>>> just that, a value judgement.
>>>
>>  Trace messages drives me mad.  There is no back button.  If there was a
>>> back button then it could be helpful, but without a back button it is
>>> hugely irritating much of the time.  i.e. "I want a list of senders of foo;
>>> ok, got the list, now do a whole lot of reading based around that. Oh s**t,
>>> I juts drilled down and now my original list is nested and I've lost my
>>> context, and... there's no back button".
>>>
>>
>> No browser in Squeak has a "back button."  Squeak's UI has always been
>> that you can navigate FROM anywhere, TO anywhere, instantly, which is
>> multifold more productive than breadcrumbs and modal browsing.  For the
>> case above, your "back button" would be simply Command+d, or the up-arrow.
>> Did you even try that?
>>
>> Makes me wonder if you've given MessageTrace a fair-shake..  :(
>>
>> Chris, you can't just change the tools to suit your whim because you're
>>> release manager.
>>>
>>
>> 4.5 had a very deliberately selected collection of
>> productivity-improvements to the IDE by addressing long-standing issues
>> that have plagued Smalltalk IDE's since the 1980's, like
>> window-proliferation.  It's clear you prefer modal browsing, and possibly
>> why you think they were "whimsical" changes.  They were not.
>>
>> The tools need to improve without breaking old workflows.
>>>
>>
>> I hope you now agree, no workflow was "broken".  You were just so
>> accustomed to "Zero Selection = All Selection" that it didn't occur to us
>> that "All selection = All selection".  :)
>>
>> Dude, I'd like to work on the upgrades you suggested for the mc history.
>> Since it's clear you don't like MessageTrace anyway, you now have TWO
>> workarounds, and since I assume you'll just change your preference setting,
>> I'm gonna go back to working on those mc history improvements rather than
>> fiddle with MessageTrace to make it 0-to-many...  Okay?
>>
>
> It's OK.  But the issue with MessageSet was that the BrowserRequestor did
> break no-select fileOut by, when augmenting a menu in a message set with
> nothing selected, prompting for a selector and selecting what ever the
> cursor was pointing at in the list.  I fixed this in Monticello-eem.595.
>
> So I'm sort-of happy in that I have no-select fileOutAll working again in
> the message set.  But I don't have it working in message trace, and the
> message trace has no back button.
>
> If message set had a back button and observed multiple-select for the
> operations it provides I /would/ prefer it over message set.  It ain't
> there yet.
>
> Forgive the criticism.  It is not meant to be harsh.
>
>
> Deselecting with the Control key is broken in 4.5 and for a long time
>>>> before that.  As I said, we should focus on letting that "isControlled"
>>>> input var to MessageTrace>>#toggleSelectionAt:shifted:controlled: be
>>>> able to come in as a "true" and then everything should just work...
>>>>
>>>> I'll see if there's an easy fix.
>>>>
>>> --
>>> best,
>>> Eliot
>>>
>> --
> Aloha,
> Eliot
>



-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20160416/a84294cb/attachment.htm


More information about the Squeak-dev mailing list