Class InformationPresenter
- java.lang.Object
-
- org.eclipse.jface.text.AbstractInformationControlManager
-
- org.eclipse.jface.text.information.InformationPresenter
-
- All Implemented Interfaces:
IInformationPresenter
,IInformationPresenterExtension
,IWidgetTokenKeeper
,IWidgetTokenKeeperExtension
public class InformationPresenter extends AbstractInformationControlManager implements IInformationPresenter, IInformationPresenterExtension, IWidgetTokenKeeper, IWidgetTokenKeeperExtension
Standard implementation ofIInformationPresenter
. This implementation extendsAbstractInformationControlManager
. The information control is made visible on request by callingshowInformationControl(Rectangle)
.Usually, clients instantiate this class and configure it before using it. The configuration must be consistent: This means the used
IInformationControlCreator
must create an information control expecting information in the same format the configuredIInformationProvider
s use to encode the information they provide.- Since:
- 2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jface.text.AbstractInformationControlManager
AbstractInformationControlManager.Anchor, AbstractInformationControlManager.IInformationControlCloser
-
-
Field Summary
Fields Modifier and Type Field Description static int
WIDGET_PRIORITY
Priority of the info controls managed by this information presenter.-
Fields inherited from class org.eclipse.jface.text.AbstractInformationControlManager
ANCHOR_BOTTOM, ANCHOR_GLOBAL, ANCHOR_LEFT, ANCHOR_RIGHT, ANCHOR_TOP, DEBUG, fDisposed, fInformationControl, fInformationControlCloser, fInformationControlCreator, STORE_LOCATION_X, STORE_LOCATION_Y, STORE_SIZE_HEIGHT, STORE_SIZE_WIDTH
-
-
Constructor Summary
Constructors Constructor Description InformationPresenter(IInformationControlCreator creator)
Creates a new information presenter that uses the given information control creator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
computeInformation()
Computes the information to be displayed and the area in which the computed information is valid.String
getDocumentPartitioning()
Returns the document partitioning this information presenter is using.IInformationProvider
getInformationProvider(String contentType)
Returns the information provider to be used for the given content type.protected void
handleInformationControlDisposed()
Handles the disposal of the information control.protected void
hideInformationControl()
Hides the information control and stops the information control closer.void
install(ITextViewer textViewer)
Installs the information presenter on the given text viewer.boolean
requestWidgetToken(IWidgetTokenOwner owner)
The given widget token owner requests the widget token from this token keeper.boolean
requestWidgetToken(IWidgetTokenOwner owner, int priority)
The given widget token owner requests the widget token from this token keeper.void
setDocumentPartitioning(String partitioning)
Sets the document partitioning to be used by this information presenter.boolean
setFocus(IWidgetTokenOwner owner)
Requests the receiver to give focus to its popup shell, hover, or similar.void
setInformationProvider(IInformationProvider provider, String contentType)
Registers a given information provider for a particular content type.void
setOffset(int offset)
Sets a offset to override the selection.protected void
showInformationControl(Rectangle subjectArea)
Shows the information control and starts the information control closer.void
uninstall()
Removes the information presenter from the text viewer it has previously been installed on.-
Methods inherited from class org.eclipse.jface.text.AbstractInformationControlManager
canClearDataOnHide, computeAvailableArea, computeInformationControlLocation, computeLocation, computeSizeConstraints, computeSizeConstraints, dispose, disposeInformationControl, doShowInformation, getInformationControl, getInternalAccessor, getNextFallbackAnchor, getSubjectArea, getSubjectControl, handleSubjectControlDisposed, install, isEnabled, isTakingFocusWhenVisible, presentInformation, restoreInformationControlBounds, setAnchor, setCloser, setCustomInformationControlCreator, setEnabled, setFallbackAnchors, setInformation, setInformation, setMargins, setRestoreInformationControlBounds, setSizeConstraints, showInformation, storeInformationControlBounds, takesFocusWhenVisible, updateLocation
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.jface.text.information.IInformationPresenter
showInformation
-
-
-
-
Field Detail
-
WIDGET_PRIORITY
public static final int WIDGET_PRIORITY
Priority of the info controls managed by this information presenter. Default value:5
.- Since:
- 3.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
InformationPresenter
public InformationPresenter(IInformationControlCreator creator)
Creates a new information presenter that uses the given information control creator. The presenter is not installed on any text viewer yet. By default, an information control closer is set that closes the information control in the event of key strokes, resizing, moves, focus changes, mouse clicks, and disposal - all of those applied to the information control's parent control. Also, the setup ensures that the information control when made visible will request the focus. By default, the default document partitioningIDocumentExtension3.DEFAULT_PARTITIONING
is used.- Parameters:
creator
- the information control creator to be used
-
-
Method Detail
-
setDocumentPartitioning
public void setDocumentPartitioning(String partitioning)
Sets the document partitioning to be used by this information presenter.- Parameters:
partitioning
- the document partitioning to be used by this information presenter- Since:
- 3.0
-
getDocumentPartitioning
public String getDocumentPartitioning()
Description copied from interface:IInformationPresenterExtension
Returns the document partitioning this information presenter is using.- Specified by:
getDocumentPartitioning
in interfaceIInformationPresenterExtension
- Returns:
- the document partitioning this information presenter is using
-
setInformationProvider
public void setInformationProvider(IInformationProvider provider, String contentType)
Registers a given information provider for a particular content type. If there is already a provider registered for this type, the new provider is registered instead of the old one.- Parameters:
provider
- the information provider to register, ornull
to remove an existing onecontentType
- the content type under which to register
-
getInformationProvider
public IInformationProvider getInformationProvider(String contentType)
Description copied from interface:IInformationPresenter
Returns the information provider to be used for the given content type.- Specified by:
getInformationProvider
in interfaceIInformationPresenter
- Parameters:
contentType
- the type of the content for which information will be requested- Returns:
- an information provider or
null
if none exists for the specified content type
-
setOffset
public void setOffset(int offset)
Sets a offset to override the selection. Setting the value to-1
will disable overriding.- Parameters:
offset
- the offset to override selection or-1
-
computeInformation
protected void computeInformation()
Description copied from class:AbstractInformationControlManager
Computes the information to be displayed and the area in which the computed information is valid. Implementation of this method must finish their computation by setting the computation results usingsetInformation
.- Specified by:
computeInformation
in classAbstractInformationControlManager
-
install
public void install(ITextViewer textViewer)
Description copied from interface:IInformationPresenter
Installs the information presenter on the given text viewer. After this method has been finished, the presenter is operational, i.e. the methodIInformationPresenter.showInformation()
can be called untilIInformationPresenter.uninstall()
is called.- Specified by:
install
in interfaceIInformationPresenter
- Parameters:
textViewer
- the viewer on which the presenter is installed
-
uninstall
public void uninstall()
Description copied from interface:IInformationPresenter
Removes the information presenter from the text viewer it has previously been installed on.- Specified by:
uninstall
in interfaceIInformationPresenter
-
showInformationControl
protected void showInformationControl(Rectangle subjectArea)
Description copied from class:AbstractInformationControlManager
Shows the information control and starts the information control closer. This method may not be called by clients.- Overrides:
showInformationControl
in classAbstractInformationControlManager
- Parameters:
subjectArea
- the information area
-
hideInformationControl
protected void hideInformationControl()
Description copied from class:AbstractInformationControlManager
Hides the information control and stops the information control closer.- Overrides:
hideInformationControl
in classAbstractInformationControlManager
-
handleInformationControlDisposed
protected void handleInformationControlDisposed()
Description copied from class:AbstractInformationControlManager
Handles the disposal of the information control. By default, the information control closer is stopped.- Overrides:
handleInformationControlDisposed
in classAbstractInformationControlManager
-
requestWidgetToken
public boolean requestWidgetToken(IWidgetTokenOwner owner)
Description copied from interface:IWidgetTokenKeeper
The given widget token owner requests the widget token from this token keeper. Returnstrue
if the token is released by this token keeper. Note, the keeper must not callreleaseWidgetToken(IWidgetTokenKeeper)
explicitly.Replaced by
IWidgetTokenKeeperExtension.requestWidgetToken(IWidgetTokenOwner, int)
.- Specified by:
requestWidgetToken
in interfaceIWidgetTokenKeeper
- Parameters:
owner
- the token owner- Returns:
true
if token has been releasedfalse
otherwise
-
requestWidgetToken
public boolean requestWidgetToken(IWidgetTokenOwner owner, int priority)
Description copied from interface:IWidgetTokenKeeperExtension
The given widget token owner requests the widget token from this token keeper. Returnstrue
if the token is released by this token keeper. Note, the keeper must not callreleaseWidgetToken(IWidgetTokenKeeper)
explicitly.The general contract is that the receiver should release the token if
priority
exceeds the receiver's priority.- Specified by:
requestWidgetToken
in interfaceIWidgetTokenKeeperExtension
- Parameters:
owner
- the token ownerpriority
- the priority of the request- Returns:
true
if token has been releasedfalse
otherwise
-
setFocus
public boolean setFocus(IWidgetTokenOwner owner)
Description copied from interface:IWidgetTokenKeeperExtension
Requests the receiver to give focus to its popup shell, hover, or similar. There is no assumption made whether the receiver actually succeeded in taking the focus. The return value gives a hint whether the receiver tried to take focus.- Specified by:
setFocus
in interfaceIWidgetTokenKeeperExtension
- Parameters:
owner
- the token owner- Returns:
true
if the receiver tried to take focus,false
if it did not.
-
-