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.link
Class LinkedModeUI

    java.lang.Object
      org.eclipse.jface.text.link.LinkedModeUI

Direct Known Subclasses:
  EditorLinkedModeUI

public class LinkedModeUI
extends Object

The UI for linked mode. Detects events that influence behavior of the linked mode UI and acts upon them.

`LinkedModeUI` relies on all added `LinkedModeUITarget`s to provide implementations of `ITextViewer` that implement `ITextViewerExtension`, and the documents being edited to implement `IDocumentExtension3`.

Clients may instantiate and extend this class.

Since:
  3.0

Nested Class Summary
`static class` | `LinkedModeUI.ExitFlags` Exit flags returned if a custom exit policy wants to exit linked mode.
`static interface` | `LinkedModeUI.IExitPolicy` An exit policy can be registered by a caller to get custom exit behavior.
`static interface` | `LinkedModeUI.ILinkedModeUIFocusListener` Listener that gets notified when the linked mode UI switches its focus position.
`static class` | `LinkedModeUI.LinkedModeUITarget` A link target consists of a viewer and gets notified if the linked mode UI on it is being shown.

Field Summary
`static Object` | `CYCLE_ALWAYS` Constant indicating that this UI should always cycle from the last position to the first and vice versa.
`static Object` | `CYCLE_NEVER` Constant indicating that this UI should never cycle from the last position to the first and vice versa.
`static Object` | `CYCLE_WHEN_NO_PARENT` Constant indicating that this UI should cycle from the last position to the first and vice versa if its model is not nested.

Constructor Summary
`LinkedModeUI(LinkedModeModel model, ITextViewer viewer)` Convenience constructor for just one viewer.
`LinkedModeUI(LinkedModeModel model, ITextViewer[] viewers)` Convenience constructor for multiple viewers.
`LinkedModeUI(LinkedModeModel model, LinkedModeUI.LinkedModeUITarget target)` Convenience constructor for one target.
`LinkedModeUI(LinkedModeModel model, LinkedModeUI.LinkedModeUITarget[] targets)` Creates a new UI on the given model and the set of viewers.

Method Summary
`void` | `enter()` Starts this UI on the first position.
`IRegion` | `getSelectedRegion()` Returns the currently selected region or `null`.
`void` | `setCyclingMode(Object mode)` Sets the cycling mode to either of `CYCLING_ALWAYS`, `CYCLING_NEVER`, or `CYCLING_WHEN_NO_PARENT`, which is the default.
`void` | `setDoContextInfo(boolean doContextInfo)` Sets the context info property.
`void` | `setExitPolicy(LinkedModeUI.IExitPolicy policy)` Sets an `IExitPolicy` to customize the exit behavior of this linked mode UI.
`void` | `setExitPosition(ITextViewer viewer, int offset, int length, int sequence)` Sets the exit position to move the caret to when linked mode is exited.
`void` | `setExitPosition(LinkedModeUI.LinkedModeUITarget target, int offset, int length, int sequence)` Sets the exit position to move the caret to when linked mode mode is exited.
`protected void` | `setPositionListener(LinkedModeUI.ILinkedModeUIFocusListener listener)` Sets the focus callback which will get informed when the focus of the linked mode UI changes.
`void` | `setSimpleMode(boolean simple)` Sets the "simple" mode of the receiver.

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

Field Detail

### CYCLE_NEVER

    public static final Object CYCLE_NEVER

  Constant indicating that this UI should never cycle from the last position to the first and vice versa.

### CYCLE_ALWAYS

    public static final Object CYCLE_ALWAYS

  Constant indicating that this UI should always cycle from the last position to the first and vice versa.

### CYCLE_WHEN_NO_PARENT

    public static final Object CYCLE_WHEN_NO_PARENT

  Constant indicating that this UI should cycle from the last position to the first and vice versa if its model is not nested.

Constructor Detail

### LinkedModeUI

    public LinkedModeUI(LinkedModeModel model,
                        LinkedModeUI.LinkedModeUITarget[] targets)

  Creates a new UI on the given model and the set of viewers. The model must provide a tab stop sequence with a non-empty list of tab stops.

Parameters:
  `model` - the linked mode model
  `targets` - the non-empty list of targets upon which the linked mode UI should act

### LinkedModeUI

    public LinkedModeUI(LinkedModeModel model,
                        ITextViewer viewer)

  Convenience constructor for just one viewer.

Parameters:
  `model` - the linked mode model
  `viewer` - the viewer upon which the linked mode UI should act

### LinkedModeUI

    public LinkedModeUI(LinkedModeModel model,
                        ITextViewer[] viewers)

  Convenience constructor for multiple viewers.

Parameters:
  `model` - the linked mode model
  `viewers` - the non-empty list of viewers upon which the linked mode UI should act

### LinkedModeUI

    public LinkedModeUI(LinkedModeModel model,
                        LinkedModeUI.LinkedModeUITarget target)

  Convenience constructor for one target.

Parameters:
  `model` - the linked mode model
  `target` - the target upon which the linked mode UI should act

Method Detail

### enter

    public void enter()

  Starts this UI on the first position.

### setExitPolicy

    public void setExitPolicy(LinkedModeUI.IExitPolicy policy)

  Sets an `IExitPolicy` to customize the exit behavior of this linked mode UI.

  Parameters:
    `policy` - the exit policy to use.

### setExitPosition

    public void setExitPosition(LinkedModeUI.LinkedModeUITarget target,
                                int offset,
                                int length,
                                int sequence)
                         throws BadLocationException

  Sets the exit position to move the caret to when linked mode mode is exited.

  Parameters:
    `target` - the target where the exit position is located
    `offset` - the offset of the exit position
    `length` - the length of the exit position (in case there should be a selection)
    `sequence` - set to the tab stop position of the exit position, or `LinkedPositionGroup.NO_STOP` if there should be no tab stop.
  Throws:
    `BadLocationException` - if the position is not valid in the viewer's document

### setExitPosition

    public void setExitPosition(ITextViewer viewer,
                                int offset,
                                int length,
                                int sequence)
                         throws BadLocationException

  Sets the exit position to move the caret to when linked mode is exited.

  Parameters:
    `viewer` - the viewer where the exit position is located
    `offset` - the offset of the exit position
    `length` - the length of the exit position (in case there should be a selection)
    `sequence` - set to the tab stop position of the exit position, or `LinkedPositionGroup.NO_STOP` if there should be no tab stop.
  Throws:
    `BadLocationException` - if the position is not valid in the viewer's document

### setCyclingMode

    public void setCyclingMode(Object mode)

  Sets the cycling mode to either of `CYCLING_ALWAYS`, `CYCLING_NEVER`, or `CYCLING_WHEN_NO_PARENT`, which is the default.

  Parameters:
    `mode` - the new cycling mode.

### getSelectedRegion

    public IRegion getSelectedRegion()

  Returns the currently selected region or `null`.

  Returns:
    the currently selected region or `null`

### setDoContextInfo

    public void setDoContextInfo(boolean doContextInfo)

  Sets the context info property. If set to `true`, context info will be invoked on the current target's viewer whenever a position is switched.

  Parameters:
    `doContextInfo` - `true` if context information should be displayed

### setPositionListener

    protected void setPositionListener(LinkedModeUI.ILinkedModeUIFocusListener listener)

  Sets the focus callback which will get informed when the focus of the linked mode UI changes.

  If there is a listener installed already, it will be replaced.

  Parameters:
    `listener` - the new listener, never `null`.

### setSimpleMode

    public void setSimpleMode(boolean simple)

  Sets the "simple" mode of the receiver. A linked mode UI in simple mode merely draws the exit position, but not the target, focus, and slave positions. Default is `false`. This method must be called before it is entered.

  Parameters:
    `simple` - `true` if the UI should be in simple mode.

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.