Package org.eclipse.ui.texteditor

# Class AbstractTextEditor.LineEndAction

java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.action.AbstractAction
org.eclipse.jface.action.Action
org.eclipse.ui.texteditor.TextNavigationAction
org.eclipse.ui.texteditor.AbstractTextEditor.LineEndAction

All Implemented Interfaces:
  `IAction`

Enclosing class:
  `AbstractTextEditor`

protected class AbstractTextEditor.LineEndAction extends TextNavigationAction
This action implements smart end. Instead of going to the end of a line it does the following: - if smart home/end is enabled and the caret is before the line's last non-whitespace and then the caret is moved directly after it - if the caret is after last non-whitespace the caret is moved at the end of the line - if the caret is at the end of the line the caret is moved directly after the line's last non-whitespace character

Since:
  2.1 (in 3.3 the access modifier changed from package visibility to protected)

## Field Summary

### Fields inherited from interface org.eclipse.jface.action.IAction

`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

## Constructor Summary

Constructors
Constructor
Description
`LineEndAction(StyledText textWidget, boolean doSelect)`
Create a new line end action.

## Method Summary

Modifier and Type
Method
Description
`protected int`
`getLineEndPosition(IDocument document, String line, int length, int offset)`
Computes the offset of the line end position.
`void`
`run()`
The default implementation of this `IAction` method does nothing.

### Methods inherited from class org.eclipse.ui.texteditor.TextNavigationAction

`addPropertyChangeListener, fireSelectionChanged, fireSelectionChanged, getAccelerator, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getImageDescriptor, getMenuCreator, getStyle, getText, getTextWidget, getToolTipText, isChecked, isEnabled, removePropertyChangeListener, runWithEvent, setAccelerator, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getActionDefinitionId, getId, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, setActionDefinitionId, setId`

### Methods inherited from class org.eclipse.jface.action.AbstractAction

`firePropertyChange, firePropertyChange`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LineEndAction

public LineEndAction(StyledText textWidget, boolean doSelect)
Create a new line end action.

Parameters:
  `textWidget` - the styled text widget
  `doSelect` - a boolean flag which tells if the text up to the line end should be selected

## Method Details

### getLineEndPosition

protected int getLineEndPosition(IDocument document, String line, int length, int offset)
Computes the offset of the line end position.

Parameters:
  `document` - the document where to compute the line end position
  `line` - the line to determine the end position of
  `length` - the length of the line
  `offset` - the caret position in the document
Returns:
  the offset of the line end
Since:
  3.4 protected, was added in 3.3 as private method

### run

public void run()
Description copied from class: `Action`
The default implementation of this `IAction` method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override `runWithEvent(Event)` if they do.

Specified by:
  `run` in interface `IAction`
Overrides:
  `run` in class `TextNavigationAction`
See Also:
  - `How radio buttons are handled`
  - `How check boxes are handled`