Eclipse Platform Release 3.7

## org.eclipse.ui.texteditor
Class InsertLineAction

    java.lang.Object
      org.eclipse.core.commands.common.EventManager
          org.eclipse.jface.action.AbstractAction
              org.eclipse.jface.action.Action
                  org.eclipse.ui.texteditor.ResourceAction
                      org.eclipse.ui.texteditor.TextEditorAction
                          org.eclipse.ui.texteditor.InsertLineAction

All Implemented Interfaces:
  IAction, IUpdate

    public class InsertLineAction

extends TextEditorAction

This action implements smart return. Instead of breaking the line where we are, we do the following:

Smart Enter

- if the caret is on a line containing any non-whitespace, a line is inserted below the current one and the caret moved to it,
- if the caret is on a whitespace-only line, a line is inserted below the current line, but the caret stays in its position.

Smart Enter Inverse

- if the caret is on a line containing any non-whitespace, we insert a line above the current one and move the caret to it (i.e. it stays at the same offset in the widget),
- if the caret is on a whitespace-only line, a line is inserted above the current line, but the caret stays in its logical position (i.e., it gets shifted one line down in the document, but keeps its position relative to the content following the caret).

Since:
  3.0

Field Summary
`protected boolean` `fAbove` `true` if this action inserts a line above the current (Smart Enter Inverse), `false` otherwise

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
`InsertLineAction(ResourceBundle bundle, String prefix, ITextEditor textEditor, boolean above)` Creates a new smart enter action.

Method Summary
`void` `run()` The default implementation of this `IAction` method does nothing.
`void` `update()` Always enables this action if it is connected to a text editor.

Methods inherited from class org.eclipse.ui.texteditor.TextEditorAction
`canModifyEditor, getTextEditor, setEditor, validateEditorInputState`

Methods inherited from class org.eclipse.ui.texteditor.ResourceAction
`getString, initialize, setHelpContextId`

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

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

Methods inherited from class org.eclipse.jface.action.AbstractAction
`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

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`

Methods inherited from interface org.eclipse.jface.action.IAction
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### fAbove

    protected boolean fAbove

  `true` if this action inserts a line above the current (Smart Enter Inverse), `false` otherwise

Constructor Detail

### InsertLineAction

    public InsertLineAction(ResourceBundle bundle,
                            String prefix,
                            ITextEditor textEditor,
                            boolean above)

  Creates a new smart enter action.

  Parameters:
    `bundle` - the resource bundle
    `prefix` - the prefix to use to get properties from `bundle`
    `textEditor` - the editor that the action acts upon
    `above` - whether new lines are inserted above or below the caret's line.

Method Detail

### update

    public void update()

  Description copied from class: `TextEditorAction`
  Always enables this action if it is connected to a text editor. If the associated editor is `null`, the action is disabled. Subclasses may override.

  Specified by:
    `update` in interface `IUpdate`
  Overrides:
    `update` in class `TextEditorAction`

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

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.