Bug 79056 - [api][navigation] Promote AbstractInformationControl to API
Summary: [api][navigation] Promote AbstractInformationControl to API
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 70419 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-11-19 04:29 EST by Helen Beeken CLA
Modified: 2019-09-24 13:59 EDT (History)
5 users (show)

See Also:


Attachments
Inplace Cross Reference View (39.42 KB, image/png)
2004-11-19 04:46 EST, Helen Beeken CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helen Beeken CLA 2004-11-19 04:29:55 EST
What I'm proposing is an extension point which enables other plugins to use 
the java editor inplace feature which is currently specific to the outline and 
heirarchical view.

The reason behind this is that the inplace feature is extremely useful, for 
example, many people rely on the Inplace Outline view to help them navigate 
their code. It would be really nice if there was an extension point which 
enabled other plugins to take advantage of this. At the most simple level,
by using the proposed extension point, plugins could specify a particular key 
sequence which would bring up an empty inplace view. They could then populate 
it with information which is useful to them.


A possible schema for this extension point is:


   <extension
         point="org.eclipse.jdt.ui.javaEditorInplaceContribution">
      <inplaceContribution
            name="SHOW_NOTHING"
            class="dummy.plugin.EmptyInformationControl"
            prefix="ShowNothing."
            commandID="dummy.plugin.show.nothing">
      </inplaceContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            name="Open Example Inplace View"
            description="Open the Example Inplace View for the editor input"
            category="org.eclipse.ui.category.navigate"
            id="dummy.plugin.show.nothing">
      </command>
      <keyBinding
            string="Ctrl+Alt+E"
            scope="org.eclipse.jdt.ui.javaEditorScope"
            command="dummy.plugin.show.nothing"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
   </extension>


I've already looked into how this can be done - and will attach a screen shot 
of my results - this was with Eclipse 3.0 M6, however, I'm in the process of 
putting together a patch containing a possible solution.

Thanks, Helen
Comment 1 Helen Beeken CLA 2004-11-19 04:46:56 EST
Created attachment 16010 [details]
Inplace Cross Reference View

This is using the proposed inplace contribution extension point with the AJDT
plugin to show the cross references within the project. The inplace view has
been initialized from the aspect and is showing all the advice defined in this
aspect, along with where each piece of advice is affecting. Moreover, you can
navigate to those places in the code which are affected by the advice. This
cross reference information is really useful when writing AO applications.
Comment 2 Dani Megert CLA 2004-11-19 05:42:39 EST
*** Bug 70419 has been marked as a duplicate of this bug. ***
Comment 3 Dani Megert CLA 2004-11-19 05:42:50 EST
We plan to open up the Quick view stuff for 3.1 but to me the extension point
mechanism isn't the right way: you as a client should register the command (e.g.
"Show AJDT Cross References" and key binding. You can then bind this command to
an action that opens a quick view. This quick view would most likely be a
subclass of an existing API class similar to the currently internal
AbstractInformationControl.
Comment 4 Dani Megert CLA 2004-11-19 05:43:41 EST
see also bug 72374.
Comment 5 Helen Beeken CLA 2004-11-19 06:53:21 EST
That sounds a good idea and is essentially what I did in my implementation. I 
created a class, much like AbstractInformationControl and then subclassed it 
in my implementation. Instead of registering the key binding with an action, I 
did it via the extension point, however, it seems like registering it with an 
action which brings up the pop up is a good solution.

Are the outline and hierarchical views going to use the new mechanism? What do 
you expect the look and feel to be like? (similar to the inplace outline view 
that we have now? or more like the "Open Type" dialog?) What about the 
restriction which is used in the outline view? (by this I mean, when you bring 
up the view using Ctrl+O there is the bar at the top where you can start 
typing and the contents of the inplace outline view is restricted to those 
entries beginning with what you've typed). In the new popup dialog, will I be 
able to use this capability?

Thanks, Helen
Comment 6 Dani Megert CLA 2004-11-22 03:30:13 EST
>Are the outline and hierarchical views going to use the new mechanism? 
We always try to eat our own dog food ;-)

>...similar to the inplace outline view that we have now? or more like the "Open
>Type" dialog?
The idea is to be lightweight and hence they will be very close to Quick Outline
and Quick Hierarchy.

>typing and the contents of the inplace outline view is restricted to those 
>entries beginning with what you've typed). In the new popup dialog, will I be 
>able to use this capability?
Can't promise that one but we'll try. If so, it has to be something that can be
enabled or disabled since not all quick views will need/want it.
Comment 7 Matt Chapman CLA 2006-01-05 06:03:40 EST
Any plans to include this in 3.2? Having API to create Quick/Inplace views would be useful.
Comment 8 Dani Megert CLA 2006-01-05 06:07:54 EST
Sorry, not time to do this for 3.2.
Comment 9 Boris Bokowski CLA 2006-08-23 11:08:30 EDT
We should discuss pushing this (or parts of it) down to the Platform.
Comment 10 Dani Megert CLA 2006-08-23 11:18:34 EDT
Boris, I was just about to ask ;-)

Why don't you (or whoever would be the one) take a look at the class and tell us whether you want to adopt it for 3.3? It is a subclass of PopupDialog that basically adds
- filter section
- status
- command support
Currently it is directly connected to a tree(viewer). This should probably be changed if made API.

Comment 11 Boris Bokowski CLA 2006-08-23 11:25:40 EDT
I have already copied the class down to o.e.ui.workbench, see the (internal) class FilteringInfoPopup.  There appears to be some magic in AbstractInformationControl that is specific to trees.  Should we create a base class that is independent of trees or tables, and provide the tree support as a subclass?
Comment 12 Dani Megert CLA 2006-08-23 11:30:39 EDT
Yes, I think that would make sense. Another tricky part is the toggling mode that we currently offer in both JDT quick views.
Comment 13 Lars Vogel CLA 2019-09-24 13:59:14 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.