small user experience behavior

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

small user experience behavior

raffaello.giulietti
Hi,

here's a situation I'm facing quite often: I'm reading the code of a
method in the browser and need to see how the method with the same
selector looks like in another class (in particular, in the same class
hierarchy). In some IDEs, it's simply a matter of selecting another
class. If such a method exists, it is displayed.

Not so in Pharo: clicking on a class always displays its definition.

Is there a way to get this behavior?

Greetings
Raffaello


Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

jtuchel
Raffaello,

not sure if it really is what you want, but why not instead of clicking
on another class search for implementors of the method you are currently
browsing?

Joachim

Am 14.03.17 um 13:56 schrieb Raffaello Giulietti:

> Hi,
>
> here's a situation I'm facing quite often: I'm reading the code of a
> method in the browser and need to see how the method with the same
> selector looks like in another class (in particular, in the same class
> hierarchy). In some IDEs, it's simply a matter of selecting another
> class. If such a method exists, it is displayed.
>
> Not so in Pharo: clicking on a class always displays its definition.
>
> Is there a way to get this behavior?
>
> Greetings
> Raffaello
>
>
>


--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:[hidden email]
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

Marcus Denker-4
In reply to this post by raffaello.giulietti

> On 14 Mar 2017, at 13:56, Raffaello Giulietti <[hidden email]> wrote:
>
> Hi,
>
> here's a situation I'm facing quite often: I'm reading the code of a method in the browser and need to see how the method with the same selector looks like in another class (in particular, in the same class hierarchy). In some IDEs, it's simply a matter of selecting another class. If such a method exists, it is displayed.
>
For the class hierarchy, you can clock on the arrow on the left to jump to the method that up or down in the class hierarchy.

        Marcus


Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

SergeStinckwich
In reply to this post by raffaello.giulietti
If the same method is implement in the same class hierarchy, you will
see a small green triangle close to the method name in order to browse
overriden methods. If the method is implemented in other classes, you
can browse the implementors.

Regards,

On Tue, Mar 14, 2017 at 1:56 PM, Raffaello Giulietti
<[hidden email]> wrote:

> Hi,
>
> here's a situation I'm facing quite often: I'm reading the code of a method
> in the browser and need to see how the method with the same selector looks
> like in another class (in particular, in the same class hierarchy). In some
> IDEs, it's simply a matter of selecting another class. If such a method
> exists, it is displayed.
>
> Not so in Pharo: clicking on a class always displays its definition.
>
> Is there a way to get this behavior?
>
> Greetings
> Raffaello
>
>



--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

raffaello.giulietti
In reply to this post by jtuchel
If you know that the method you are currently looking at is implemented
in other classes in the same hierarchy, it would be quicker to simply
click on a class in the "Hier." class pane.

Besides, the search for implementors opens a new window, as if there
were not enough of them around already ;-)




On 2017-03-14 13:58, [hidden email] wrote:

> Raffaello,
>
> not sure if it really is what you want, but why not instead of clicking
> on another class search for implementors of the method you are currently
> browsing?
>
> Joachim
>
> Am 14.03.17 um 13:56 schrieb Raffaello Giulietti:
>> Hi,
>>
>> here's a situation I'm facing quite often: I'm reading the code of a
>> method in the browser and need to see how the method with the same
>> selector looks like in another class (in particular, in the same class
>> hierarchy). In some IDEs, it's simply a matter of selecting another
>> class. If such a method exists, it is displayed.
>>
>> Not so in Pharo: clicking on a class always displays its definition.
>>
>> Is there a way to get this behavior?
>>
>> Greetings
>> Raffaello
>>
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

Denis Kudriashov
In reply to this post by raffaello.giulietti
Hi Raffaello.

It works in Calypso like you describe.
Also in Calypso you can easily toggle inherited methods visibility and all local implementors will be shown in single method pane. 

2017-03-14 13:56 GMT+01:00 Raffaello Giulietti <[hidden email]>:
Hi,

here's a situation I'm facing quite often: I'm reading the code of a method in the browser and need to see how the method with the same selector looks like in another class (in particular, in the same class hierarchy). In some IDEs, it's simply a matter of selecting another class. If such a method exists, it is displayed.

Not so in Pharo: clicking on a class always displays its definition.

Is there a way to get this behavior?

Greetings
Raffaello



Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

raffaello.giulietti
In reply to this post by SergeStinckwich
That's true if there are no other icons already, like "Browse the trait"
which seems to hide the up or down triangle. And the triangle can only
recover the direct re-implementation up or down the hierarchy.




On 2017-03-14 14:02, Serge Stinckwich wrote:

> If the same method is implement in the same class hierarchy, you will
> see a small green triangle close to the method name in order to browse
> overriden methods. If the method is implemented in other classes, you
> can browse the implementors.
>
> Regards,
>
> On Tue, Mar 14, 2017 at 1:56 PM, Raffaello Giulietti
> <[hidden email]> wrote:
>> Hi,
>>
>> here's a situation I'm facing quite often: I'm reading the code of a method
>> in the browser and need to see how the method with the same selector looks
>> like in another class (in particular, in the same class hierarchy). In some
>> IDEs, it's simply a matter of selecting another class. If such a method
>> exists, it is displayed.
>>
>> Not so in Pharo: clicking on a class always displays its definition.
>>
>> Is there a way to get this behavior?
>>
>> Greetings
>> Raffaello
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

philippeback
In reply to this post by SergeStinckwich
Small pet peeve about this one: does not work if there is another icon with higher priority on the method (and debug method invocation is one of those, putting a reddish indicator) --> we should have a way to keep the arrows even if there are other indicators.

Tests are also like this, <script>, class initialization with <script> come to mind.

Phil

On Tue, Mar 14, 2017 at 2:02 PM, Serge Stinckwich <[hidden email]> wrote:
If the same method is implement in the same class hierarchy, you will
see a small green triangle close to the method name in order to browse
overriden methods. If the method is implemented in other classes, you
can browse the implementors.

Regards,

On Tue, Mar 14, 2017 at 1:56 PM, Raffaello Giulietti
<[hidden email]> wrote:
> Hi,
>
> here's a situation I'm facing quite often: I'm reading the code of a method
> in the browser and need to see how the method with the same selector looks
> like in another class (in particular, in the same class hierarchy). In some
> IDEs, it's simply a matter of selecting another class. If such a method
> exists, it is displayed.
>
> Not so in Pharo: clicking on a class always displays its definition.
>
> Is there a way to get this behavior?
>
> Greetings
> Raffaello
>
>



--
Serge Stinckwich
UCN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/



Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

stepharong
In reply to this post by raffaello.giulietti
Agreed with you.
I hope that calypso will address such problems.


> Hi,
>
> here's a situation I'm facing quite often: I'm reading the code of a  
> method in the browser and need to see how the method with the same  
> selector looks like in another class (in particular, in the same class  
> hierarchy). In some IDEs, it's simply a matter of selecting another  
> class. If such a method exists, it is displayed.
>
> Not so in Pharo: clicking on a class always displays its definition.
>
> Is there a way to get this behavior?
>
> Greetings
> Raffaello
>
>


--
Using Opera's mail client: http://www.opera.com/mail/

Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

Stephan Eggermont-3
In reply to this post by raffaello.giulietti
On 14/03/17 14:11, Raffaello Giulietti wrote:
> If you know that the method you are currently looking at is implemented
> in other classes in the same hierarchy, it would be quicker to simply
> click on a class in the "Hier." class pane.
>
> Besides, the search for implementors opens a new window, as if there
> were not enough of them around already ;-)

No indeed. Single window IDEs work ok-ish on a small-screen laptop, but
are terrible on modern development machines with large screens.
The idea that the IDE designer can know statically what information I
need to look at to solve my code problems is in the SF/research area at
the moment. I am much more productive organizing those building blocks
myself (and would definitely want keyboard support for that).

Double-click selector ctrl-m suffers from being good enough.
Showing the code of the other implementations in-place does not solve
your problem, which is that you want to compare the implementations. You
need a dual/diff view for that.

Stephan



Reply | Threaded
Open this post in threaded view
|

Re: small user experience behavior

philippeback
I am using TWM - Tiling Window Manager to put windows side by side properly when comparing things like that. I am using that all the time. Need to fix the shortcuts because I have to mouse around a bit too much at the moment.

I was thinking of adding windows sizing and placement icons in SystemWindow top bar. In fact I want to have a kind of SystemWindow title bar plugin system for adding all kinds of stuff there.
And then an optional bottom bar and maybe side bars... I somewhat managed to get the concept working in a prototype and realized there is quite some stuff to refactor to get things clean. Maybe this will be a feature for TWM on Pharo6.

Phil



Le 15 mars 2017 07:36, "Stephan Eggermont" <[hidden email]> a écrit :
On 14/03/17 14:11, Raffaello Giulietti wrote:
If you know that the method you are currently looking at is implemented
in other classes in the same hierarchy, it would be quicker to simply
click on a class in the "Hier." class pane.

Besides, the search for implementors opens a new window, as if there
were not enough of them around already ;-)

No indeed. Single window IDEs work ok-ish on a small-screen laptop, but are terrible on modern development machines with large screens.
The idea that the IDE designer can know statically what information I need to look at to solve my code problems is in the SF/research area at the moment. I am much more productive organizing those building blocks myself (and would definitely want keyboard support for that).

Double-click selector ctrl-m suffers from being good enough.
Showing the code of the other implementations in-place does not solve your problem, which is that you want to compare the implementations. You need a dual/diff view for that.

Stephan