Bug 378364 - Add new interface to replace bad usages of IInformationProviderExtension2
Summary: Add new interface to replace bad usages of IInformationProviderExtension2
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.8   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard: fix candidate
Keywords: api
Depends on:
Blocks: 378365
  Show dependency tree
 
Reported: 2012-05-03 08:58 EDT by Markus Keller CLA
Modified: 2013-03-12 09:47 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2012-05-03 08:58:29 EDT
IInformationProviderExtension2 has been abused as a mixin interface to add a

    IInformationControlCreator getInformationPresenterControlCreator();

method to ITextHovers and IAnnotationHover. This is conceptually wrong.

The right way to add this functionality to ITextHovers and IAnnotationHover is via a proper mixin interface that is declared as such, e.g. IInformationPresenterProvider. IInformationProviderExtension2 can then extend IInformationPresenterProvider for backwards compatibility.

The new method's Javadoc should explain that the information presenter control creator is not used on hover, but on F2 and that the control creator should create focusable and resizable controls.

The returned controls are supposed to be equivalent to controls created via 

((IInformationControlExtension5)
        hover.getHoverControlCreator().createInformationControl(..)
).getInformationPresenterControlCreator()