org.eclipse.jface.text

## Interface ITextViewerExtension5

All Superinterfaces:
  ITextViewerExtension3

All Known Implementing Classes:
  ProjectionViewer

    public interface ITextViewerExtension5
    extends ITextViewerExtension3

Extension interface for `ITextViewer`. Defines a conceptual replacement of the original visible region concept. This interface replaces `ITextViewerExtension3`.

Introduces the explicit concept of model and widget coordinates. For example, a selection returned by the text viewer's control is a widget selection. A widget selection always maps to a certain range of the viewer's document. This range is considered the model selection.

All model ranges that have a corresponding widget ranges are considered "exposed model ranges". The viewer can be requested to expose a given model range. Thus, a visible region is a particular degeneration of exposed model ranges.

This interface allows implementers to follow a sophisticated presentation model in which the visible presentation is a complex projection of the viewer's input document.

Since:
  3.0

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `exposeModelRange(IRegion modelRange)` Exposes the given model range.
`IRegion[]` `getCoveredModelRanges(IRegion modelRange)` Returns the maximal subranges of the given model range thus that there is no offset inside a subrange for which there is no image offset.
`IRegion` `getModelCoverage()` Returns the minimal region of the viewer's input document that completely comprises everything that is visible in the viewer's widget or `null` if there is no such region.
`int` `modelLine2WidgetLine(int modelLine)` Returns the widget line that corresponds to the given line of the viewer's input document or `-1` if there is no such line.
`int` `modelOffset2WidgetOffset(int modelOffset)` Returns the widget offset that corresponds to the given offset in the viewer's input document or `-1` if there is no such offset
`IRegion` `modelRange2WidgetRange(IRegion modelRange)` Returns the minimal region of the viewer's widget that completely comprises the given region of the viewer's input document or `null` if there is no such region.
`int` `widgetLine2ModelLine(int widgetLine)` Returns the line of the viewer's input document that corresponds to the given widget line or `-1` if there is no such line.
`int` `widgetLineOfWidgetOffset(int widgetOffset)` Returns the widget line of the given widget offset.
`int` `widgetOffset2ModelOffset(int widgetOffset)` Returns the offset of the viewer's input document that corresponds to the given widget offset or `-1` if there is no such offset
`IRegion` `widgetRange2ModelRange(IRegion widgetRange)` Returns the minimal region of the viewer's input document that completely comprises the given widget region or `null` if there is no such region.

### Methods inherited from interface org.eclipse.jface.text.ITextViewerExtension3

`widgetlLine2ModelLine`

### Method Detail

#### getModelCoverage

    IRegion getModelCoverage()

Returns the minimal region of the viewer's input document that completely comprises everything that is visible in the viewer's widget or `null` if there is no such region.

Specified by:
  `getModelCoverage` in interface `ITextViewerExtension3`
Returns:
  the minimal region of the viewer's document comprising the contents of the viewer's widget or `null`

#### modelLine2WidgetLine

    int modelLine2WidgetLine(int modelLine)

Returns the widget line that corresponds to the given line of the viewer's input document or `-1` if there is no such line.

Specified by:
  `modelLine2WidgetLine` in interface `ITextViewerExtension3`
Parameters:
  `modelLine` - the line of the viewer's document
Returns:
  the corresponding widget line or `-1`

#### modelOffset2WidgetOffset

    int modelOffset2WidgetOffset(int modelOffset)

Returns the widget offset that corresponds to the given offset in the viewer's input document or `-1` if there is no such offset

Specified by:
  `modelOffset2WidgetOffset` in interface `ITextViewerExtension3`
Parameters:
  `modelOffset` - the offset in the viewer's document
Returns:
  the corresponding widget offset or `-1`

#### modelRange2WidgetRange

    IRegion modelRange2WidgetRange(IRegion modelRange)

Returns the minimal region of the viewer's widget that completely comprises the given region of the viewer's input document or `null` if there is no such region.

Specified by:
  `modelRange2WidgetRange` in interface `ITextViewerExtension3`
Parameters:
  `modelRange` - the region of the viewer's document
Returns:
  the minimal region of the widget comprising `modelRange` or `null`

#### widgetOffset2ModelOffset

    int widgetOffset2ModelOffset(int widgetOffset)

Returns the offset of the viewer's input document that corresponds to the given widget offset or `-1` if there is no such offset

Specified by:
  `widgetOffset2ModelOffset` in interface `ITextViewerExtension3`
Parameters:
  `widgetOffset` - the widget offset
Returns:
  the corresponding offset in the viewer's document or `-1`

#### widgetRange2ModelRange

    IRegion widgetRange2ModelRange(IRegion widgetRange)

Returns the minimal region of the viewer's input document that completely comprises the given widget region or `null` if there is no such region.

Specified by:
  `widgetRange2ModelRange` in interface `ITextViewerExtension3`
Parameters:
  `widgetRange` - the widget region
Returns:
  the minimal region of the viewer's document comprising `widgetlRange` or `null`

#### widgetLine2ModelLine

    int widgetLine2ModelLine(int widgetLine)

Returns the line of the viewer's input document that corresponds to the given widget line or `-1` if there is no such line.

Parameters:
  `widgetLine` - the widget line
Returns:
  the corresponding line of the viewer's document or `-1`

#### widgetLineOfWidgetOffset

    int widgetLineOfWidgetOffset(int widgetOffset)

Returns the widget line of the given widget offset.

Specified by:
  `widgetLineOfWidgetOffset` in interface `ITextViewerExtension3`
Parameters:
  `widgetOffset` - the widget offset
Returns:
  the widget line of the widget offset

#### getCoveredModelRanges

    IRegion[] getCoveredModelRanges(IRegion modelRange)

Returns the maximal subranges of the given model range thus that there is no offset inside a subrange for which there is no image offset.

Parameters:
  `modelRange` - the model range
Returns:
  the list of subranges

#### exposeModelRange

    boolean exposeModelRange(IRegion modelRange)

Exposes the given model range. Returns whether this call caused a change of the set of exposed model ranges.

Parameters:
  `modelRange` - the model range to be exposed
Returns:
  `true` if the set of exposed model ranges changed, `false` otherwise