Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jface.text
Interface ITextViewerExtension2

All Known Implementing Classes:
  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

It extends the means for text presentation invalidation by allowing a specific region of the presentation to get invalidated. It replaces `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
`static int` | `DEFAULT_HOVER_STATE_MASK` The state mask of the default hover (value `0xff`).

Method Summary
`void` | `addPainter(IPainter painter)` Adds the given painter to this viewer.
`ITextHover` | `getCurrentTextHover()` Returns the currently displayed text hover if any, `null` otherwise.
`Point` | `getHoverEventLocation()` 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 Detail

### DEFAULT_HOVER_STATE_MASK

    public static final int DEFAULT_HOVER_STATE_MASK

  The state mask of the default hover (value `0xff`).

  See Also:
    Constant Field Values

Method Detail

### invalidateTextPresentation

    public 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 redrawn
    `length` - the length of the range to be redrawn

### setTextHover

    public void setTextHover(ITextHover textViewerHover,
                             String contentType,
                             int stateMask)

  Sets this viewer's text hover for the given content type and the given state mask. If the given text hover is `null`, any hover installed for the given content type and state mask is removed.

  Parameters:
    `textViewerHover` - the new hover or `null`
    `contentType` - the type for which the hover is to be registered or unregistered
    `stateMask` - the SWT event state mask; `DEFAULT_HOVER_STATE_MASK` indicates that the hover is installed as the default hover.

### removeTextHovers

    public void removeTextHovers(String contentType)

  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)` with `null` as parameter for the text hover.

  Parameters:
    `contentType` - the type for which all text hovers are to be unregistered

### getCurrentTextHover

    public ITextHover getCurrentTextHover()

  Returns the currently displayed text hover if any, `null` otherwise.

  Returns:
    the currently displayed text hover or `null`

### getHoverEventLocation

    public 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

    public void prependAutoEditStrategy(IAutoEditStrategy strategy,
                                        String contentType)

  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 strategy
    `contentType` - the content type

### removeAutoEditStrategy

    public 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.

  Parameters:
    `strategy` - the auto edit strategy
    `contentType` - the content type

### addPainter

    public void addPainter(IPainter painter)

  Adds the given painter to this viewer.

  Parameters:
    `painter` - the painter to be added

### removePainter

    public void removePainter(IPainter painter)

  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.