Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ajdt-dev] Outline / Cross references views (#80094)

Hi RafaƂ,

Thanks for the great feedback.  Some comments below.

> -----Original Message-----
> From: ajdt-dev-admin@xxxxxxxxxxx [mailto:ajdt-dev-admin@xxxxxxxxxxx] On
> Behalf Of Rafal Krzewski
...
>  From my experience in working with Eclipse, using normal Outline view
> with crosscutting decorators + a Crosscutting view an interesting
> option. I often use "Open in Call Hierarchy" context menu option on
> methods in Outline view. I'd probably use Crosscutting view in the same
> way.

I agree that this is likely to be a common interaction pattern.  And since
experienced Eclipse developers often use the in-place hierarchy, we will
offer the same feature for the crosscutting view.  An interesting property
of this usage is that you actually want the view to pop up over the outline,
and not over the editor as the current in-place views do.  This could make
for a very slick UI that shoed you an overlay with only the "advised by"
links for the current method.  But I don't think that Eclipse has any
support for in-place views over other views, so this idea will have to sit
on the back burner.

...
> Is crosscutting information taken into consideration in the JDT
> Hierarchy view? I don't have much AJDT experience and I don't have
> Eclipse handy ATM. If it's not - the comment above applies to that view
> as well.

Great question.  Our philosophy is that wherever aspects affect the program
structure the we show you the crosscutting.  So as you indicate the effects
of things like declare parents should be visible in the type hierarchy.
Some time ago I mocked up what this could look like:

http://eclipse.org/ajdt/ui.html (bottom of page)

> In my opinion the "red arrow" entries in the tree, both while viewing a
> class and an aspect are redundant - they don't give useful information
> but force the user to do additional mouse gestures.

This is an interesting point.  The reason those arrows nodes are there is
that views like the Outline show the containment hierarchy.  So what it
means for a node to be the child of another is that it is contained by that
node (e.g. a method is contained by a class).  But the advice is related to
a method by a very different relationship, and so we make that relationship
explicit.  This also allows us to indicate when the relationship is not
advice (e.g. "uses pointcut", "declared by aspect" for inter-type decs).  

That said, I agree that the additional mouse gestures are problematic.  I
think that we could fix that with some finessing of the tree UI.  For
example, clicking the + on a method could expand the next two tree levels
(i.e. to show the relationship and all the links) and collapse could undo
that.

Matt: what do you think of this?

> For an class, I would expect the Crosscutting view contents to include
> the matched pointcuts, like in the Outline view on this screenshot -
> https://bugs.eclipse.org/bugs/attachment.cgi?id=16418&action=view
> of course using pointcut icon (lighting bolt).

I assume you mean the "uses pointcut" relationship?  We decided to turn
those off by default, but will allow them to be shown by disabling this
filter.

Mik

--
http://kerstens.org/mik




Back to the top