Package 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

Modifier and Type
Method
Description
`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 Details

### 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