Is there a menu option to browser a class directly?

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

Is there a menu option to browser a class directly?

Tim Mackinnon
Hi guys - sometimes I want to lookup a class (ideally its hierarchy*)
directly. Is there a convenient way to do this quickly?

Here's my scenario:

- I am using a System browser, and looking at my Package? of classes
(not sure what its called - but my grouping of classes).

- It occurs to me in the middle of entering a new method that I may need
to use class XXXX (e.g. CTPusher) - but as I'm not familiar without I
want to browse its methods

- So I want to quickly browse that class and explore its methods - but I
haven't figure out how to do that quickly and easily?

It seems I have the following options:

1) Type the name of the class in the mercury panel - if I don't type it
fully then it does open a new window for me (not bad - but I sometimes
type the full name). If I type the full name, or autocomplate it
advances me in my current browser - forcing me to save my changes (which
often aren't good enough to save yet), and I also lose my place in my
method (and there is no back/history to get back there quickly)

2) Open a new system browser, then type the name of the class in the
mercury panel - and it then takes me there (this isn't a bad option -
but it feels a bit less immediate somehow.

3) Type something in my current source - and then use Cmd-B (not bad -
but when I come back I may have to backspace over the name if I found
something else

4) Use some other tool (was it Algernon that did something like I want?)

I guess I'm wondering why in the Tools menu of the OS - there is a
Method Finder option, but not a Class Finder option? Do you guys have
any tricks for me.

Tim

*the reason I like to browse the hierarchy, is often there are inherited
methods that i can't easily see in Pharo. I wish there was a "show
inherited methods" option that shows all methods with icon to show you
inherited them (and you could double click it to go to the superclass
that implements it). I think for you experts you don't notice this so
much, but when you are trying to find your way - it really feels like a
lot of work to find things.


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Lukas Renggli
On Tuesday, August 17, 2010, TimM <[hidden email]> wrote:

> Hi guys - sometimes I want to lookup a class (ideally its hierarchy*) directly. Is there a convenient way to do this quickly?
>
> Here's my scenario:
>
> - I am using a System browser, and looking at my Package? of classes (not sure what its called - but my grouping of classes).
>
> - It occurs to me in the middle of entering a new method that I may need to use class XXXX (e.g. CTPusher) - but as I'm not familiar without I want to browse its methods
>
> - So I want to quickly browse that class and explore its methods - but I haven't figure out how to do that quickly and easily?
>
> It seems I have the following options:
>
> 1) Type the name of the class in the mercury panel - if I don't type it fully then it does open a new window for me (not bad - but I sometimes type the full name). If I type the full name, or autocomplate it advances me in my current browser - forcing me to save my changes (which often aren't good enough to save yet), and I also lose my place in my method (and there is no back/history to get back there quickly)
>
> 2) Open a new system browser, then type the name of the class in the mercury panel - and it then takes me there (this isn't a bad option - but it feels a bit less immediate somehow.
>
> 3) Type something in my current source - and then use Cmd-B (not bad - but when I come back I may have to backspace over the name if I found something else
>
> 4) Use some other tool (was it Algernon that did something like I want?)
>
> I guess I'm wondering why in the Tools menu of the OS - there is a Method Finder option, but not a Class Finder option? Do you guys have any tricks for me.
>
> Tim
>
> *the reason I like to browse the hierarchy, is often there are inherited methods that i can't easily see in Pharo. I wish there was a "show inherited methods" option that shows all methods with icon to show you inherited them (and you could double click it to go to the superclass that implements it). I think for you experts you don't notice this so much, but when you are trying to find your way - it really feels like a lot of work to find things.

There use to be a protocol browser in OB that did exactly that, but I
removed it at some point because it had no tests and nobody cared to
fix and write tests for it.

It could quite easily be revived, but I won't do that myself as I only
used it very sparingly.

Lukas


>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Tim Mackinnon
> It could quite easily be revived, but I won't do that myself as I only
> used it very sparingly.
>

Fair point Lukas - if there were no tests I understand. As you know I'm
slowly getting up to speed - but where would I look to find this old
stuff to try it out and see if I can resurrect it? Is it an old squeak
3.8 image?

I'll give it a shot (as well as seeing if I can help on any refactorings
tool improvements too) - nothing like getting stuck in the deepend...

Tim


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Lukas Renggli
It wasn't that long ago. I guess an early Pharo 1.0 image should include it.

It could be started through 'browse protocol' from the context menu on a class.

Lukas

On 17 August 2010 23:50, TimM <[hidden email]> wrote:

>> It could quite easily be revived, but I won't do that myself as I only
>> used it very sparingly.
>>
>
> Fair point Lukas - if there were no tests I understand. As you know I'm
> slowly getting up to speed - but where would I look to find this old
> stuff to try it out and see if I can resurrect it? Is it an old squeak
> 3.8 image?
>
> I'll give it a shot (as well as seeing if I can help on any refactorings
> tool improvements too) - nothing like getting stuck in the deepend...
>
> Tim
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>



--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Stéphane Ducasse
the problem is that we should get less but more powerful tools than more stupid one.

What I need is O2 way of looking at package and I'm stuck because I could not find time integrating
RPackage into systemNotification....

Stef

On Aug 18, 2010, at 12:01 AM, Lukas Renggli wrote:

> It wasn't that long ago. I guess an early Pharo 1.0 image should include it.
>
> It could be started through 'browse protocol' from the context menu on a class.
>
> Lukas
>
> On 17 August 2010 23:50, TimM <[hidden email]> wrote:
>>> It could quite easily be revived, but I won't do that myself as I only
>>> used it very sparingly.
>>>
>>
>> Fair point Lukas - if there were no tests I understand. As you know I'm
>> slowly getting up to speed - but where would I look to find this old
>> stuff to try it out and see if I can resurrect it? Is it an old squeak
>> 3.8 image?
>>
>> I'll give it a shot (as well as seeing if I can help on any refactorings
>> tool improvements too) - nothing like getting stuck in the deepend...
>>
>> Tim
>>
>>
>> _______________________________________________
>> Pharo-users mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>>
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Tim Mackinnon
Stéphane Ducasse wrote:
> the problem is that we should get less but more powerful tools than more stupid one.
>
> What I need is O2 way of looking at package and I'm stuck because I could not find time integrating
> RPackage into systemNotification....

OK I eventually found a working Protocol browser in a beta image (and I
can see how it broke in later images).

I can see the idea - and I guess it relies on everyone categorising
things properly (I now understand why you get that prompt to categorise
your methods properly when you save :)

My initial impression is that it could be easily improved - for example
you get no idea how many methods are in a category without clicking on
it (some are empty, some have 10 methods etc).

This said, I still would go back to my initial comment - why is there a
method finder in the Tools menu, but no Class finder? (In our new
smalltalkers tutorial at CSLondon - people actually used the method
finder to try and figure out how to do things like String beginsWith:
etc. - but how do you find classes? Its got to be related to class name
and class comments (and maybe the protocols they support).

But I guess the bigger question is - how can you guys that know how to
do this, impart the information and direction so that those of us
following behind can meaningfully contribute without wasting your time?

Do you think there could be a How to Contribute to Pharo tools BOF at
ESUG? What is the direction - is it OB or is it Glamor? How do you get
started with OB, and what kinds of tools do we need?

Anyway - I appreciate the patience, and I will keep plugging away.

Tim



_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Stéphane Ducasse
> OK I eventually found a working Protocol browser in a beta image (and I can see how it broke in later images).
>
> I can see the idea - and I guess it relies on everyone categorising things properly (I now understand why you get that prompt to categorise your methods properly when you save :)
>
> My initial impression is that it could be easily improved - for example you get no idea how many methods are in a category without clicking on it (some are empty, some have 10 methods etc).
>
> This said, I still would go back to my initial comment - why is there a method finder in the Tools menu, but no Class finder? (In our new smalltalkers tutorial at CSLondon - people actually used the method finder to try and figure out how to do things like String beginsWith: etc. - but how do you find classes? Its got to be related to class name and class comments (and maybe the protocols they support).

Is Find class (cmd-F) in the default browser not enough?
or typing in any pane the class and doing cmd-B

> But I guess the bigger question is - how can you guys that know how to do this, impart the information and direction so that those of us following behind can meaningfully contribute without wasting your time?

I do not know what you imply exactly.
Now my point is that if you improve the tools we will integrate them.
I would really like to get better tools.

> Do you think there could be a How to Contribute to Pharo tools BOF at ESUG? What is the direction - is it OB or is it Glamor? How do you get started with OB, and what kinds of tools do we need?

- We need a better
        Test Runner
        Monticello Browser
        (Benjmain did a better RecentMessageSet)
        Deeper Refactoring integration

If you want to help there is plenty of topics. For example helping at integrating my my package implementation
       
The problem of Glamour is that this is yet another framework and debug it is not that easy.
In general I do not like DSL like mondrian because I have to understand their logic instead of just using my oo skill.

Stef

> Anyway - I appreciate the patience, and I will keep plugging away.
>
> Tim
>
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Tim Mackinnon
Stéphane Ducasse wrote:

> Is Find class (cmd-F) in the default browser not enough?
> or typing in any pane the class and doing cmd-B

The problem I find with cmd-F is that if I'm already in the middle of
typing a method - it wants to refocus my browser on the new class (often
causing me to have to save changes that I'm not finished doing yet). AND
- there is also no back button to go back to where I was typing my
method (so I've lost my context).

So it would seem the "Pharo way" is to open a new browser window - but
its not a smooth operation. Probably the closest is to start typing a
class name where I am and then use o/e-complete (but then I often have
to backspace over that text when I figure out actually what I needed to
do). So it all feels a bit more awkward than it should be?

>
>> But I guess the bigger question is - how can you guys that know how to do this, impart the information and direction so that those of us following behind can meaningfully contribute without wasting your time?
>
> I do not know what you imply exactly.
> Now my point is that if you improve the tools we will integrate them.
> I would really like to get better tools.


Some of your points in this message helped thanks - what I was trying to
get at was, I was confused about which framework to learn and then build
on. I keep hearing about lots of different things OB, Glamour... and
then there seem to be several browsers (System, O2...) - so its not
clear where to start? I also would want to do it in a way that fits "the
vision" - but i'm not yet clear on what that vision is (I'm still learning)

>> Do you think there could be a How to Contribute to Pharo tools BOF at ESUG? What is the direction - is it OB or is it Glamor? How do you get started with OB, and what kinds of tools do we need?
>
> - We need a better
> Test Runner
> Monticello Browser
> (Benjmain did a better RecentMessageSet)
> Deeper Refactoring integration
>
> If you want to help there is plenty of topics. For example helping at integrating my my package implementation

This list will give me a good starting point to talk to people at ESUG
and hopefully I will "learn to fish" so I can help out more productively.

Again, I'm sorry to bother everyone.

Tim


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Stéphane Ducasse

On Aug 18, 2010, at 1:11 PM, TimM wrote:

> Stéphane Ducasse wrote:
>
>> Is Find class (cmd-F) in the default browser not enough?
>> or typing in any pane the class and doing cmd-B
>
> The problem I find with cmd-F is that if I'm already in the middle of typing a method - it wants to refocus my browser on the new class (often causing me to have to save changes that I'm not finished doing yet). AND - there is also no back button to go back to where I was typing my method (so I've lost my context).

Yes
Romain did  booster which allows you to leave a method uncompiled in a browser and navigate to another one.... this was never integrated. Now we should really rethink the navigation

> So it would seem the "Pharo way" is to open a new browser window - but its not a smooth operation. Probably the closest is to start typing a class name where I am and then use o/e-complete (but then I often have to backspace over that text when I figure out actually what I needed to do). So it all feels a bit more awkward than it should be?

Sure it is bad :)

>>> But I guess the bigger question is - how can you guys that know how to do this, impart the information and direction so that those of us following behind can meaningfully contribute without wasting your time?
>> I do not know what you imply exactly.
>> Now my point is that if you improve the tools we will integrate them.
>> I would really like to get better tools.
>
>
> Some of your points in this message helped thanks - what I was trying to get at was, I was confused about which framework to learn and then build on. I keep hearing about lots of different things OB, Glamour... and then there seem to be several browsers (System, O2...) - so its not clear where to start? I also would want to do it in a way that fits "the vision" - but i'm not yet clear on what that vision is (I'm still learning)

The problem is a question of resources.
If you give me one guy for a year I would start a new browser from scratch.
Now since lukas is improving OB may be this is the way to go.



>
>>> Do you think there could be a How to Contribute to Pharo tools BOF at ESUG? What is the direction - is it OB or is it Glamor? How do you get started with OB, and what kinds of tools do we need?
>> - We need a better
>> Test Runner
>> Monticello Browser
>> (Benjmain did a better RecentMessageSet)
>> Deeper Refactoring integration
>> If you want to help there is plenty of topics. For example helping at integrating my my package implementation
>
> This list will give me a good starting point to talk to people at ESUG and hopefully I will "learn to fish" so I can help out more productively.
>
> Again, I'm sorry to bother everyone.

don't apologize all the time

>
> Tim
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Mariano Martinez Peck
Tim, you can try algernon for what you want. Thus, I am not sure if it is working in Pharo 1.1. Maybe Esteban can tell you.

On Wed, Aug 18, 2010 at 1:27 PM, Stéphane Ducasse <[hidden email]> wrote:

On Aug 18, 2010, at 1:11 PM, TimM wrote:

> Stéphane Ducasse wrote:
>
>> Is Find class (cmd-F) in the default browser not enough?
>> or typing in any pane the class and doing cmd-B
>
> The problem I find with cmd-F is that if I'm already in the middle of typing a method - it wants to refocus my browser on the new class (often causing me to have to save changes that I'm not finished doing yet). AND - there is also no back button to go back to where I was typing my method (so I've lost my context).

Yes
Romain did  booster which allows you to leave a method uncompiled in a browser and navigate to another one.... this was never integrated. Now we should really rethink the navigation

> So it would seem the "Pharo way" is to open a new browser window - but its not a smooth operation. Probably the closest is to start typing a class name where I am and then use o/e-complete (but then I often have to backspace over that text when I figure out actually what I needed to do). So it all feels a bit more awkward than it should be?

Sure it is bad :)

>>> But I guess the bigger question is - how can you guys that know how to do this, impart the information and direction so that those of us following behind can meaningfully contribute without wasting your time?
>> I do not know what you imply exactly.
>> Now my point is that if you improve the tools we will integrate them.
>> I would really like to get better tools.
>
>
> Some of your points in this message helped thanks - what I was trying to get at was, I was confused about which framework to learn and then build on. I keep hearing about lots of different things OB, Glamour... and then there seem to be several browsers (System, O2...) - so its not clear where to start? I also would want to do it in a way that fits "the vision" - but i'm not yet clear on what that vision is (I'm still learning)

The problem is a question of resources.
If you give me one guy for a year I would start a new browser from scratch.
Now since lukas is improving OB may be this is the way to go.



>
>>> Do you think there could be a How to Contribute to Pharo tools BOF at ESUG? What is the direction - is it OB or is it Glamor? How do you get started with OB, and what kinds of tools do we need?
>> - We need a better
>>      Test Runner
>>      Monticello Browser
>>      (Benjmain did a better RecentMessageSet)
>>      Deeper Refactoring integration
>> If you want to help there is plenty of topics. For example helping at integrating my my package implementation
>
> This list will give me a good starting point to talk to people at ESUG and hopefully I will "learn to fish" so I can help out more productively.
>
> Again, I'm sorry to bother everyone.

don't apologize all the time

>
> Tim
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there a menu option to browser a class directly?

Tim Mackinnon
Mariano Martinez Peck wrote:
> Tim, you can try algernon for what you want. Thus, I am not sure if it
> is working in Pharo 1.1. Maybe Esteban can tell you.

Yes - I recall Damian showing me that, it was pretty good. I just tried
loading it - but lots of errors to do with _ (I guess its not been
ported to 1.1) :(

Tim


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users