deselection broken in method list

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

deselection broken in method list

Eliot Miranda-2
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)
--
Mahalo,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Nicolas Cellier
+1
I hate the sticky-selection, and even more select-something-when-I-press-yellow-button-before-popping-up-a-menu, not my preferences.


2014-07-25 18:21 GMT+02:00 Eliot Miranda <[hidden email]>:
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)
--
Mahalo,
Eliot






Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Eliot Miranda-2
Ugh, I changed the preference to not trace messages to get back a trusty MessageSet instead of a MessageTrace and now I can't even bring up a menu with nothing selected.  I get prompted for a selector?!?!?!  Who broke this?  Will they *please* fix it asap.


On Fri, Jul 25, 2014 at 9:27 AM, Nicolas Cellier <[hidden email]> wrote:
+1
I hate the sticky-selection, and even more select-something-when-I-press-yellow-button-before-popping-up-a-menu, not my preferences.


2014-07-25 18:21 GMT+02:00 Eliot Miranda <[hidden email]>:

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)
--
Mahalo,
Eliot










--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Eliot Miranda-2
I've had to inspect the damn thing and issue fileOutAllMessages manually ?!??!  I'm not happy.  We should not be in the business of breaking tools.


On Fri, Jul 25, 2014 at 9:37 AM, Eliot Miranda <[hidden email]> wrote:
Ugh, I changed the preference to not trace messages to get back a trusty MessageSet instead of a MessageTrace and now I can't even bring up a menu with nothing selected.  I get prompted for a selector?!?!?!  Who broke this?  Will they *please* fix it asap.


On Fri, Jul 25, 2014 at 9:27 AM, Nicolas Cellier <[hidden email]> wrote:
+1
I hate the sticky-selection, and even more select-something-when-I-press-yellow-button-before-popping-up-a-menu, not my preferences.


2014-07-25 18:21 GMT+02:00 Eliot Miranda <[hidden email]>:

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)
--
Mahalo,
Eliot










--
best,
Eliot



--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Chris Muller-3
In reply to this post by Eliot Miranda-2
Well, did you happen to notice MessageTrace>>#deselectAll?  It works but not hooked up to a menu option so you'd have to inspect the MessageTrace model and send it from there.

Also, have a look at MessageTrace>>#toggleSelectionAt:shifted:controlled:.  Since 2002 (that's 14 YEARS!), it has been designed to operate like windows selection:  Shift to extend or reduce the selection range -- that actually still works -- and Control to toggle individual selections, which no longer works because Control forces the "Control-Menu" because, I assume, Apple's only have one mouse button..?  I'm not sure maybe Bert knows..?

One thing I'm curious though -- you want to file out methods you're selecting via script, so why not just file them out with your script rather than invole UI machinery in that?  The UI is optimized for *user interaction*, not one-off batch operations..



On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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)
--
Mahalo,
Eliot






Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Chris Muller-3
In reply to this post by Eliot Miranda-2
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").



On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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)
--
Mahalo,
Eliot






Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Tobias Pape

On 26.07.2014, at 02:59, Chris Muller <[hidden email]> wrote:

> 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” ?


>
> On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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)






signature.asc (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

David T. Lewis
On Sat, Jul 26, 2014 at 02:58:47PM +0200, Tobias Pape wrote:

>
> On 26.07.2014, at 02:59, Chris Muller <[hidden email]> wrote:
> >
> > On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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? ?
>

To focus on Eliot's original question: The deselection mechanism works
in Squeak4.5-13352.image. It does not work in trunk now.

What changed?

Does anyone recall changing something that might be related to this?

Dave


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

David T. Lewis
On Sat, Jul 26, 2014 at 09:23:27AM -0400, David T. Lewis wrote:

> On Sat, Jul 26, 2014 at 02:58:47PM +0200, Tobias Pape wrote:
> >
> > On 26.07.2014, at 02:59, Chris Muller <[hidden email]> wrote:
> > >
> > > On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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? ?
> >
>
> To focus on Eliot's original question: The deselection mechanism works
> in Squeak4.5-13352.image. It does not work in trunk now.
>
> What changed?
>
> Does anyone recall changing something that might be related to this?
>

I also checked the trunk image from http://build.squeak.org/job/SqueakTrunk/.
This image from the Jenkins job does *not* have the deselect problem:

  Image
  -----
  /tmp/sq/TrunkImage.image
  Squeak4.5
  latest update: #13871
  Current Change Set: Unnamed1
  Image format 6504 (32 bit)
 
But my own working trunk image *does* have the problem:
 
  Image
  -----
  /home/lewis/squeak/Squeak4.5/squeak.22.image
  Squeak4.5
  latest update: #13871
  Current Change Set: Unnamed4
  Image format 6504 (32 bit)


Dave


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Chris Muller-3
In reply to this post by David T. Lewis
On Sat, Jul 26, 2014 at 8:23 AM, David T. Lewis <[hidden email]> wrote:
On Sat, Jul 26, 2014 at 02:58:47PM +0200, Tobias Pape wrote:
>
> On 26.07.2014, at 02:59, Chris Muller <[hidden email]> wrote:
> >
> > On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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..
 
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.

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.


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Eliot Miranda-2



On Sat, Jul 26, 2014 at 5:37 AM, Chris Muller <[hidden email]> wrote:
On Sat, Jul 26, 2014 at 8:23 AM, David T. Lewis <[hidden email]> wrote:
On Sat, Jul 26, 2014 at 02:58:47PM +0200, Tobias Pape wrote:
>
> On 26.07.2014, at 02:59, Chris Muller <[hidden email]> wrote:
> >
> > On Fri, Jul 25, 2014 at 11:21 AM, Eliot Miranda <[hidden email]> 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?  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/.  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".

Chris, you can't just change the tools to suit your whim because you're release manager.  The tools need to improve without breaking old workflows.

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


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

David T. Lewis
In reply to this post by Chris Muller-3
On Sat, Jul 26, 2014 at 10:37:42AM -0500, Chris Muller wrote:
> On Sat, Jul 26, 2014 at 8:23 AM, David T. Lewis <[hidden email]> wrote:
>
> > 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.

Ah, ok. I see it now. If I disable the traceMessages preference, then deselection
in a method list works normally again.

@Eliot - turn of the traceMessages preference in the "browsing" category, and
sanity will be restored.

>
> 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.
>

Thanks!

Dave


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Chris Muller-3
In reply to this post by Eliot Miranda-2
> > 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.

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.
 
 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?
 

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






Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Eliot Miranda-2
Hi Chris,


On Sat, Jul 26, 2014 at 9:53 AM, Chris Muller <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Eliot Miranda-2
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 <[hidden email]> wrote:
Hi Chris,


On Sat, Jul 26, 2014 at 9:53 AM, Chris Muller <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

Milan Vavra
Hi Elliot,

As a quick workaround you could add the line
                        ('file out all messages' fileOutAllMessages)
to
        MessageSet>>#mainMessageListMenu:
.
Then right-click the message list and select 'file out all messages'.

This will file out all messages in the list to a file with a name based on the selected message.

The magic happens in
StringHolder>>#fileOutAllMessages
where you can change the filename to something you like.

Best Regards,
Milan
Reply | Threaded
Open this post in threaded view
|

Re: deselection broken in method list

marcel.taeumel
In reply to this post by Eliot Miranda-2
Hi Eliot,

I think that you need these preferences:

PluggableListMorph menuRequestUpdatesSelection: false.
Preferences disable: #traceMessages.

Then, you can deselect everything in the list and file-out will file-out everything.

Another way would be to show the vertical scroll bar and the menu icon:

ScrollBar scrollBarsWithoutMenuButton: false.
Preferences enable: #alwaysShowVScrollbar.

***

Anyway, the feature you are looking for, namely "file out all messages", is not quite accessible at the moment. This may be one reason for your discomfort. --- We should improve that! Such hidden features affect user experience...

Sorry, for any inconveniences. Considering the request of this thread, however, there is nothing broken.

Best,
Marcel