Bug 204356 - [QuickAccess] Make Classes public API
Summary: [QuickAccess] Make Classes public API
Status: CLOSED DUPLICATE of bug 162006
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P5 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact: Remy Suen CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-22 08:29 EDT by Tom Seidel CLA
Modified: 2011-07-27 14:36 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Seidel CLA 2007-09-22 08:29:26 EDT
Build ID: I20070621-1340

If I want to implement my own CTRL+Whatever, I have to use internal API. It should be possible to implement his own quick-assist (like CTRL+3) without breaking the rules.
Comment 1 Boris Bokowski CLA 2007-09-26 12:39:05 EDT
Do you mean adding a category to Quick Access, or implementing something that looks like it but has other content?
Comment 2 Tom Seidel CLA 2007-09-26 12:51:10 EDT
(In reply to comment #1)

>looks like it but has other content

Exactly. At the Moment the package org.eclipse.ui.internal.quickaccess is not public. In addition the QuickaccessDialog class has to be copied (default constructor and loading unwanted providers).
Comment 3 Boris Bokowski CLA 2007-09-26 13:04:38 EDT
I'd suggest copying the code then.  I could see us making it API later on, if we see more demand from downstream projects.  At this point though, I prefer the flexibility of it not being API.
Comment 4 Chris Aniszczyk CLA 2007-10-15 10:43:38 EDT
This would be nice. The PDE team was looking to make use of this viewer to help quickly browse extension registry related information.
Comment 5 Boris Bokowski CLA 2007-10-15 11:18:28 EDT
(In reply to comment #3)
> if we see more demand from downstream projects

Good work, Tom! ;-)  We now have two interested parties, enough to start looking into making this API.  

What exactly do people need?

Do you need just the widget, populated with your own entries?

Would you be better served with an API for JDT's AbstractInformationControl (the Ctrl+O popup dialog)?

Do you need the 'Previous Choices' logic?  The ability to remember that across sessions?
Comment 6 Chris Aniszczyk CLA 2007-10-15 11:24:25 EDT
In our case, just the widget populated with our own entries should suffice.

Previous choices is a nice to have.

The widget is more important as it provides a level of grouping that AbstractInformationControl or the Ctrl+Shift+T dialog really don't provide.
Comment 7 Boris Bokowski CLA 2007-10-15 11:42:50 EDT
(In reply to comment #6)
> The widget is more important as it provides a level of grouping that
> AbstractInformationControl or the Ctrl+Shift+T dialog really don't provide.

Ctrl-Shift-T is heavily optimized and can populate the list of matches in the background.  It presents a filtered but flat list of elements. Btw, we already have API for these kinds of dialogs: FilteredItemsSelectionDialog

JDT's AbstractInformationControl presents a filterable tree.

QuickAccess presents a categorized list (sort of like a tree with two levels where parents cannot be picked). It builds a list of all potential elements before it even comes up (unlike Ctrl-Shift-T). The reason for this is the 'Previous Choices' functionality.  Without 'Previous Choices', Quick Access could be simpler, and would scale much better.

Do you still want 'Quick Access' and not one of the two others?
Comment 8 Boris Bokowski CLA 2009-11-26 16:15:40 EST
Remy is now responsible for watching bugs in the [QuickAccess] component area.
Comment 9 John Arthorne CLA 2011-07-27 14:35:12 EDT
This looks to me like a duplicate of bug 162006. Making the classes public goes hand in hand with providing an extension point or similar mechanism for clients to provide their implementations to the platform.
Comment 10 Remy Suen CLA 2011-07-27 14:36:24 EDT
(In reply to comment #9)
> This looks to me like a duplicate of bug 162006. Making the classes public goes
> hand in hand with providing an extension point or similar mechanism for clients
> to provide their implementations to the platform.

Makes sense to me.

*** This bug has been marked as a duplicate of bug 162006 ***