Package org.eclipse.jface.text
Interface ITextViewerExtension2
- All Known Implementing Classes:
ProjectionViewer
,SourceViewer
,TextConsoleViewer
,TextViewer
public interface ITextViewerExtension2
Extension interface for
ITextViewer
.
It provides
- text presentation invalidation enhancements
- text hover management enhancements
- a replacement for auto indent strategies
- support for custom painters
ITextViewer.setTextHover(ITextHover, String)
with a new method that allows to specify state masks for a better control of
the hover behavior.
An IAutoEditStrategy
is a generalization of
the original IAutoIndentStrategy
. Auto edit
strategies can be arranged in a list that is executed like a pipeline when
the viewer content is changed.
A IPainter
is creating and managing visual
decorations on the viewer's text widget. Viewer's can have an open number of
painters. Painters are informed about changes to the viewer content and state
and can take the necessary action in responds to the notification.
- Since:
- 2.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The state mask of the default hover (value0xff
). -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPainter
(IPainter painter) Adds the given painter to this viewer.Returns the currently displayed text hover if any,null
otherwise.Returns the location at which the most recent mouse hover event has occurred.void
invalidateTextPresentation
(int offset, int length) Invalidates the viewer's text presentation for the given range.void
prependAutoEditStrategy
(IAutoEditStrategy strategy, String contentType) Prepends the given auto edit strategy to the existing list of strategies for the specified content type.void
removeAutoEditStrategy
(IAutoEditStrategy strategy, String contentType) Removes the first occurrence of the given auto edit strategy in the list of strategies registered under the specified content type.void
removePainter
(IPainter painter) Removes the given painter from this viewer.void
removeTextHovers
(String contentType) Removes all text hovers for the given content type independent from their state mask.void
setTextHover
(ITextHover textViewerHover, String contentType, int stateMask) Sets this viewer's text hover for the given content type and the given state mask.
-
Field Details
-
DEFAULT_HOVER_STATE_MASK
static final int DEFAULT_HOVER_STATE_MASKThe state mask of the default hover (value0xff
).- See Also:
-
-
Method Details
-
invalidateTextPresentation
void invalidateTextPresentation(int offset, int length) Invalidates the viewer's text presentation for the given range.- Parameters:
offset
- the offset of the first character to be redrawnlength
- the length of the range to be redrawn
-
setTextHover
Sets this viewer's text hover for the given content type and the given state mask. If the given text hover isnull
, any hover installed for the given content type and state mask is removed.- Parameters:
textViewerHover
- the new hover ornull
contentType
- the type for which the hover is to be registered or unregisteredstateMask
- the SWT event state mask;DEFAULT_HOVER_STATE_MASK
indicates that the hover is installed as the default hover.
-
removeTextHovers
Removes all text hovers for the given content type independent from their state mask.Note: To remove a hover for a given content type and state mask use
setTextHover(ITextHover, String, int)
withnull
as parameter for the text hover.- Parameters:
contentType
- the type for which all text hovers are to be unregistered
-
getCurrentTextHover
ITextHover getCurrentTextHover()Returns the currently displayed text hover if any,null
otherwise.- Returns:
- the currently displayed text hover or
null
-
getHoverEventLocation
Point getHoverEventLocation()Returns the location at which the most recent mouse hover event has occurred.- Returns:
- the location of the most recent mouse hover event
-
prependAutoEditStrategy
Prepends the given auto edit strategy to the existing list of strategies for the specified content type. The strategies are called in the order in which they appear in the list of strategies.- Parameters:
strategy
- the auto edit strategycontentType
- the content type
-
removeAutoEditStrategy
Removes the first occurrence of the given auto edit strategy in the list of strategies registered under the specified content type.- Parameters:
strategy
- the auto edit strategycontentType
- the content type
-
addPainter
Adds the given painter to this viewer.- Parameters:
painter
- the painter to be added
-
removePainter
Removes the given painter from this viewer. If the painter has not been added to this viewer, this call is without effect.- Parameters:
painter
- the painter to be removed
-