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.source
Class LineChangeHover

    java.lang.Object
      org.eclipse.jface.text.source.LineChangeHover

All Implemented Interfaces:
  IAnnotationHover, IAnnotationHoverExtension

public class LineChangeHover
extends Object
implements IAnnotationHover, IAnnotationHoverExtension

A hover for line oriented diffs. It determines the text to show as hover for a certain line in the document.

Since:
  3.0

Constructor Summary
`LineChangeHover()`

Method Summary
`boolean` | `canHandleMouseCursor()` Returns whether the provided information control can interact with the mouse cursor.
`protected Point` | `computeLineRange(ISourceViewer viewer, int line, int min, int max)` Computes the block of lines which form a contiguous block of changes covering `line`.
`protected String` | `decorateText(List diffInfos, int maxLines)` Takes a list of `ILineDiffInfo`s and computes a hover of at most `maxLines`.
`protected String` | `formatSource(String content)` Formats the source w/ syntax coloring etc.
`IInformationControlCreator` | `getHoverControlCreator()` Returns the hover control creator of this annotation hover.
`Object` | `getHoverInfo(ISourceViewer sourceViewer, ILineRange lineRange, int visibleLines)` Returns the object which should be presented in the a hover popup window.
`String` | `getHoverInfo(ISourceViewer sourceViewer, int lineNumber)` Returns the text which should be presented in the a hover popup window.
`ILineRange` | `getHoverLineRange(ISourceViewer viewer, int lineNumber)` Returns the range of lines that include the given line number for which the same hover information is valid.
`protected String` | `getTabReplacement()` Returns a replacement for the tab character.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LineChangeHover

    public LineChangeHover()

Method Detail

### getHoverInfo

    public String getHoverInfo(ISourceViewer sourceViewer,
                               int lineNumber)

  Description copied from interface: `IAnnotationHover`
  Returns the text which should be presented in the a hover popup window. This information is requested based on the specified line number.

  Specified by:
    `getHoverInfo` in interface `IAnnotationHover`
  Parameters:
    `sourceViewer` - the source viewer this hover is registered with
    `lineNumber` - the line number for which information is requested
  Returns:
    the requested information or `null` if no such information exists

### formatSource

    protected String formatSource(String content)

  Formats the source w/ syntax coloring etc. This implementation replaces tabs with spaces. May be overridden by subclasses.

  Parameters:
    `content` - the hover content
  Returns:
    `content` reformatted

### getTabReplacement

    protected String getTabReplacement()

  Returns a replacement for the tab character. The default implementation returns a tabulator character, but subclasses may override to specify a number of spaces.

  Returns:
    a whitespace String that will be substituted for the tabulator character

### decorateText

    protected String decorateText(List diffInfos,
                                  int maxLines)

  Takes a list of `ILineDiffInfo`s and computes a hover of at most `maxLines`. Added lines are prefixed with a `'+'`, changed lines with `'>'` and deleted lines with `'-'`.

  Deleted and added lines can even each other out, so that a number of deleted lines get displayed where - in the current document - the added lines are.

  Parameters:
    `diffInfos` - a `List` of `ILineDiffInfo`
    `maxLines` - the maximum number of lines. Note that adding up all annotations might give more than that due to deleted lines.
  Returns:
    a `String` suitable for hover display

### computeLineRange

    protected Point computeLineRange(ISourceViewer viewer,
                                     int line,
                                     int min,
                                     int max)

  Computes the block of lines which form a contiguous block of changes covering `line`.

  Parameters:
    `viewer` - the source viewer showing
    `line` - the line which a hover is displayed for
    `min` - the first line in `viewer`'s document to consider
    `max` - the last line in `viewer`'s document to consider
  Returns:
    the selection in the document displayed in `viewer` containing `line` that is covered by the hover information returned by the receiver.

### getHoverControlCreator

    public IInformationControlCreator getHoverControlCreator()

  Description copied from interface: `IAnnotationHoverExtension`
  Returns the hover control creator of this annotation hover.

  Specified by:
    `getHoverControlCreator` in interface `IAnnotationHoverExtension`
  Returns:
    the hover control creator

### getHoverInfo

    public Object getHoverInfo(ISourceViewer sourceViewer,
                               ILineRange lineRange,
                               int visibleLines)

  Description copied from interface: `IAnnotationHoverExtension`
  Returns the object which should be presented in the a hover popup window. The information is requested based on the specified line range.

  Specified by:
    `getHoverInfo` in interface `IAnnotationHoverExtension`
  Parameters:
    `sourceViewer` - the source viewer this hover is registered with
    `lineRange` - the line range for which information is requested
    `visibleLines` - the number of visible lines
  Returns:
    the requested information or `null` if no such information exists

### getHoverLineRange

    public ILineRange getHoverLineRange(ISourceViewer viewer,
                                        int lineNumber)

  Description copied from interface: `IAnnotationHoverExtension`
  Returns the range of lines that include the given line number for which the same hover information is valid.

  Specified by:
    `getHoverLineRange` in interface `IAnnotationHoverExtension`
  Parameters:
    `viewer` - the viewer which the hover is queried for
    `lineNumber` - the line number of the line for which a hover is displayed for
  Returns:
    the computed line range

### canHandleMouseCursor

    public boolean canHandleMouseCursor()

  Description copied from interface: `IAnnotationHoverExtension`
  Returns whether the provided information control can interact with the mouse cursor. I.e. the hover must implement custom information control management.

  Specified by:
    `canHandleMouseCursor` in interface `IAnnotationHoverExtension`
  Returns:
    `true` if the mouse cursor can be handled

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.