Package org.eclipse.jface.text.link
Class LinkedModeUI
java.lang.Object
org.eclipse.jface.text.link.LinkedModeUI
- Direct Known Subclasses:
EditorLinkedModeUI
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
Modifier and TypeClassDescriptionstatic class
Exit flags returned if a custom exit policy wants to exit linked mode.static interface
An exit policy can be registered by a caller to get custom exit behavior.static interface
Listener that gets notified when the linked mode UI switches its focus position.static class
A link target consists of a viewer and gets notified if the linked mode UI on it is being shown. -
Field Summary
Modifier and TypeFieldDescriptionstatic final Object
Constant indicating that this UI should always cycle from the last position to the first and vice versa.static final Object
Constant indicating that this UI should never cycle from the last position to the first and vice versa.static final Object
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
ConstructorDescriptionLinkedModeUI
(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
Modifier and TypeMethodDescriptionvoid
enableColoredLabels
(boolean isEnabled) Enables the support for colored labels in the proposal popup.void
enter()
Starts this UI on the first position.Returns the currently selected region ornull
.void
setCyclingMode
(Object mode) Sets the cycling mode to either ofCYCLING_ALWAYS
,CYCLING_NEVER
, orCYCLING_WHEN_NO_PARENT
, which is the default.void
setDoContextInfo
(boolean doContextInfo) Sets the context info property.void
Sets anIExitPolicy
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
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.
-
Field Details
-
CYCLE_NEVER
Constant indicating that this UI should never cycle from the last position to the first and vice versa. -
CYCLE_ALWAYS
Constant indicating that this UI should always cycle from the last position to the first and vice versa. -
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 Details
-
LinkedModeUI
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 modeltargets
- the non-empty list of targets upon which the linked mode UI should act
-
LinkedModeUI
Convenience constructor for just one viewer.- Parameters:
model
- the linked mode modelviewer
- the viewer upon which the linked mode UI should act
-
LinkedModeUI
Convenience constructor for multiple viewers.- Parameters:
model
- the linked mode modelviewers
- the non-empty list of viewers upon which the linked mode UI should act
-
LinkedModeUI
Convenience constructor for one target.- Parameters:
model
- the linked mode modeltarget
- the target upon which the linked mode UI should act
-
-
Method Details
-
enter
public void enter()Starts this UI on the first position. -
setExitPolicy
Sets anIExitPolicy
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 locatedoffset
- the offset of the exit positionlength
- the length of the exit position (in case there should be a selection)sequence
- set to the tab stop position of the exit position, orLinkedPositionGroup.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 locatedoffset
- the offset of the exit positionlength
- the length of the exit position (in case there should be a selection)sequence
- set to the tab stop position of the exit position, orLinkedPositionGroup.NO_STOP
if there should be no tab stop.- Throws:
BadLocationException
- if the position is not valid in the viewer's document
-
setCyclingMode
Sets the cycling mode to either ofCYCLING_ALWAYS
,CYCLING_NEVER
, orCYCLING_WHEN_NO_PARENT
, which is the default.- Parameters:
mode
- the new cycling mode.
-
getSelectedRegion
Returns the currently selected region ornull
.- Returns:
- the currently selected region or
null
-
setDoContextInfo
public void setDoContextInfo(boolean doContextInfo) Sets the context info property. If set totrue
, 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
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, nevernull
.
-
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 isfalse
. This method must be called before it is entered.- Parameters:
simple
-true
if the UI should be in simple mode.
-
enableColoredLabels
public void enableColoredLabels(boolean isEnabled) Enables the support for colored labels in the proposal popup.Completion proposals can implement
ICompletionProposalExtension6
to provide colored proposal labels.- Parameters:
isEnabled
- iftrue
the support for colored labels is enabled in the proposal popup- Since:
- 3.4
-