Bug 488485 - [navigation] Quick Outline: show effective members only
Summary: [navigation] Quick Outline: show effective members only
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 4.5.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-25 12:15 EST by Carsten Reckord CLA
Modified: 2016-02-29 05:47 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carsten Reckord CLA 2016-02-25 12:15:23 EST
Quick Outline (Ctrl+O) should have a mode to show effective members. It currently shows the members declared in the current class initially with an option to show all inherited members.

However, most of the time, I want to see the effective members for the class. So "declared members" is too little and "all inherited members" is too much and really confusing to find anything in. 

For a simple example, do a Ctrl+O+O on ArrayList, and you'll get five entries for "iterator()". What I'm usually only interested in is the list of all effective members, i.e. if the class itself declares or overrides "iterator()" then that's what I'm interested in. If "iterator()" is inherited from the parent class, then I want to see that. I rarely have a need to see all further overrides down to Object...

Alternatively, instead of filtering out overrides further down the class hierarchy, they could also be shown as children of the effective method - initially collapsed in the tree.
Comment 1 Stephan Herrmann CLA 2016-02-25 13:02:08 EST
I fully agree. 

Anyone interested in different versions of "iterator()" should simply navigate to the "effective" version and then use Ctrl+T.

One *might* think of cycling through 3 modes instead of 2 by consecutive presses of Ctrl+O, but IMHO that's overkill. At most a workspace preference should toggle between "all inherited" and "effective", unless we agree that "effective" is actually a good replacement and "all inherited" can be dropped entirely.

Am I missing a motivation behind the current design?
Comment 2 Carsten Reckord CLA 2016-02-25 13:15:32 EST
I agree. Three modes seems overkill and I'd much prefer to have the "all inherited" mode replaced.
Comment 3 Dani Megert CLA 2016-02-29 05:47:37 EST
The easiest is to contribute a filter that filters the non-effective members.