Well, they say you can't please everybody. :-) Rich is asking for fewer
levels and I'm asking for more (sigh) - or am I? Not really. I also
don't like the idea of executing anymore clicks than necessary. But... I
do like the idea of being able to hide and unhide methods and fields.
Hmm. So...how about something like:
+ A.java
+ B.java
com.myco.pkg
+ Class1
+ methods
+ fields
+ inner classes
- Class2
- methods
+ method1
+ method2
+ fields
1. The parent node "package" is left out. There is always going to be
just one package per file.
2. Also the "types" node is left out. In Java, you will always have just
one top level type (correct?). In other languages, there may be more,
but it's unusual.
I know what I am suggesting seems a little asymetric, but I think in
practice it would work well.
Also, I don't know if the idea of having one arrangement for all
languages is worth it. Languages are too dissimilar. What works well for
one, won't for the other.
Thanks,
Chuck
-----Original Message-----
From: rich [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 02, 2000 1:55 PM
To: jde
Cc: rich
Subject: FW: New Speedbar functionality
Hi Paul! Thank you for soliciting early input on the new speedbar
design attached below.
I think the main problem with the design is that there are too many
clicks required to get to the most common case, i.e., selecting a
method in a toplevel class. As I understand it, once you have visited
the file, you still need to click ONCE to expand "Types", a SECOND
time to expand "class B", in order to see the list of methods to
choose from.
Perhaps a good way to handle this is provide a (customizable) facility
whereby
certain levels in the tree are expanded by default when you change
buffers.
In particular, when I visit B.java, I would like to see the following in
the
speedbar without extra effort on my part:
+ A.java
- B.java
+ Package
- Types
- class B
+ method1 ()
+ method2 ()
+ field1 =
+ field2 =
+ field3 =
+ class InnerClassA
+ class InnerClassB
> Frame
+ Misc
+ C.java
Thanks! -CR
________________
+ A.java
- B.java
- Package
com.mycompany.pkg1
- Types
- class B
- method1 ()
- (arg1
@ String
+ |arg2
+ )arg3
@ void
+ method2 ()
+ field1 =
- field2 =
@ BeanInfo
+ field3 =
- class InnerClassA
+ InnerClass AA
+ method1 ()
+ field1 =
+ class InnerClassB
> Frame
- Misc
import java.lang.String
import java.awt.Frame
+ C.java
--
Charles Rich | Mitsubishi Electric Research Laboratory (MERL)
617-621-7507 phone | 201 Broadway
617-621-7550 fax | Cambridge, MA 02139
[EMAIL PROTECTED] | http://www.merl.com