# Class TextCellEditor

java.lang.Object
org.eclipse.jface.viewers.CellEditor
org.eclipse.jface.viewers.TextCellEditor

public class TextCellEditor extends CellEditor
A cell editor that manages a text entry field. The cell editor's value is the text string itself.

This class may be instantiated or subclassed.

## Nested Class Summary

### Nested classes/interfaces inherited from class CellEditor

`CellEditor.LayoutData`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Text`
`text`
The text control; initially `null`.

### Fields inherited from class CellEditor

`COPY, CUT, DELETE, FIND, PASTE, REDO, SELECT_ALL, UNDO`

## Constructor Summary

Constructors
Constructor
Description
`TextCellEditor()`
Creates a new text string cell editor with no control The cell editor value is the string itself, which is initially the empty string.
`TextCellEditor(Composite parent)`
Creates a new text string cell editor parented under the given control.
`TextCellEditor(Composite parent, int style)`
Creates a new text string cell editor parented under the given control.

## Method Summary

Modifier and Type
Method
Description
`protected Control`
`createControl(Composite parent)`
Creates the control for this cell editor under the given parent control.
`protected boolean`
`dependsOnExternalFocusListener()`
This implementation of `CellEditor.dependsOnExternalFocusListener()` returns false if the current instance's class is TextCellEditor, and true otherwise.
`protected Object`
`doGetValue()`
The `TextCellEditor` implementation of this `CellEditor` framework method returns the text string.
`protected void`
`doSetFocus()`
Sets the focus to the cell editor's control.
`protected void`
`doSetValue(Object value)`
The `TextCellEditor` implementation of this `CellEditor` framework method accepts a text string (type `String`).
`protected void`
`editOccured(ModifyEvent e)`
Processes a modify event that occurred in this text cell editor.
`CellEditor.LayoutData`
`getLayoutData()`
Since a text editor field is scrollable we don't set a minimumSize.
`protected void`
`handleDefaultSelection(SelectionEvent event)`
Handles a default selection event from the text control by applying the editor value and deactivating this cell editor.
`boolean`
`isCopyEnabled()`
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if the current selection is not empty.
`boolean`
`isCutEnabled()`
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if the current selection is not empty.
`boolean`
`isDeleteEnabled()`
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if there is a selection or if the caret is not positioned at the end of the text.
`boolean`
`isPasteEnabled()`
The `TextCellEditor` implementation of this `CellEditor` method always returns `true`.
`boolean`
`isSaveAllEnabled()`
Check if save all is enabled
`boolean`
`isSelectAllEnabled()`
Returns `true` if this cell editor is able to perform the select all action.
`protected void`
`keyReleaseOccured(KeyEvent keyEvent)`
Processes a key release event that occurred in this cell editor.
`void`
`performCopy()`
The `TextCellEditor` implementation of this `CellEditor` method copies the current selection to the clipboard.
`void`
`performCut()`
The `TextCellEditor` implementation of this `CellEditor` method cuts the current selection to the clipboard.
`void`
`performDelete()`
The `TextCellEditor` implementation of this `CellEditor` method deletes the current selection or, if there is no selection, the character next character from the current position.
`void`
`performPaste()`
The `TextCellEditor` implementation of this `CellEditor` method pastes the the clipboard contents over the current selection.
`void`
`performSelectAll()`
The `TextCellEditor` implementation of this `CellEditor` method selects all of the current text.

### Methods inherited from class CellEditor

`activate, activate, addListener, addPropertyChangeListener, create, deactivate, deactivate, dispose, fireApplyEditorValue, fireCancelEditor, fireEditorValueChanged, fireEnablementChanged, focusLost, getControl, getDoubleClickTimeout, getErrorMessage, getStyle, getValidator, getValue, isActivated, isCorrect, isDirty, isFindEnabled, isRedoEnabled, isUndoEnabled, isValueValid, markDirty, performFind, performRedo, performUndo, removeListener, removePropertyChangeListener, setErrorMessage, setFocus, setStyle, setValidator, setValue, setValueValid, valueChanged`

### Methods inherited from class Object

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

## Field Details

### text

protected Text text
The text control; initially `null`.

## Constructor Details

### TextCellEditor

public TextCellEditor()
Creates a new text string cell editor with no control The cell editor value is the string itself, which is initially the empty string. Initially, the cell editor has no cell validator.

Since:
  2.1

### TextCellEditor

public TextCellEditor(Composite parent)
Creates a new text string cell editor parented under the given control. The cell editor value is the string itself, which is initially the empty string. Initially, the cell editor has no cell validator.

Parameters:
  `parent` - the parent control

### TextCellEditor

public TextCellEditor(Composite parent, int style)
Creates a new text string cell editor parented under the given control. The cell editor value is the string itself, which is initially the empty string. Initially, the cell editor has no cell validator.

Parameters:
  `parent` - the parent control
  `style` - the style bits
Since:
  2.1

## Method Details

### createControl

protected Control createControl(Composite parent)
Description copied from class: `CellEditor`
Creates the control for this cell editor under the given parent control.

This framework method must be implemented by concrete subclasses.

Specified by:
  `createControl` in class `CellEditor`
Parameters:
  `parent` - the parent control
Returns:
  the new control, or `null` if this cell editor has no control

### doGetValue

protected Object doGetValue()
The `TextCellEditor` implementation of this `CellEditor` framework method returns the text string.

Specified by:
  `doGetValue` in class `CellEditor`
Returns:
  the text string
See Also:
  - `CellEditor.getValue()`

### doSetFocus

protected void doSetFocus()
Description copied from class: `CellEditor`
Sets the focus to the cell editor's control.

This framework method must be implemented by concrete subclasses.

Specified by:
  `doSetFocus` in class `CellEditor`
See Also:
  - `CellEditor.setFocus()`

### doSetValue

protected void doSetValue(Object value)
The `TextCellEditor` implementation of this `CellEditor` framework method accepts a text string (type `String`).

Specified by:
  `doSetValue` in class `CellEditor`
Parameters:
  `value` - a text string (type `String`)
See Also:
  - `CellEditor.setValue(Object)`

### editOccured

protected void editOccured(ModifyEvent e)
Processes a modify event that occurred in this text cell editor. This framework method performs validation and sets the error message accordingly, and then reports a change via `fireEditorValueChanged`. Subclasses should call this method at appropriate times. Subclasses may extend or reimplement.

Parameters:
  `e` - the SWT modify event

### getLayoutData

public CellEditor.LayoutData getLayoutData()
Since a text editor field is scrollable we don't set a minimumSize.

Overrides:
  `getLayoutData` in class `CellEditor`
Returns:
  the layout data object

### handleDefaultSelection

protected void handleDefaultSelection(SelectionEvent event)
Handles a default selection event from the text control by applying the editor value and deactivating this cell editor.

Parameters:
  `event` - the selection event
Since:
  3.0

### isCopyEnabled

public boolean isCopyEnabled()
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if the current selection is not empty.

Overrides:
  `isCopyEnabled` in class `CellEditor`
Returns:
  `true` if copy is possible, `false` otherwise

### isCutEnabled

public boolean isCutEnabled()
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if the current selection is not empty.

Overrides:
  `isCutEnabled` in class `CellEditor`
Returns:
  `true` if cut is possible, `false` otherwise

### isDeleteEnabled

public boolean isDeleteEnabled()
The `TextCellEditor` implementation of this `CellEditor` method returns `true` if there is a selection or if the caret is not positioned at the end of the text.

Overrides:
  `isDeleteEnabled` in class `CellEditor`
Returns:
  `true` if delete is possible, `false` otherwise

### isPasteEnabled

public boolean isPasteEnabled()
The `TextCellEditor` implementation of this `CellEditor` method always returns `true`.

Overrides:
  `isPasteEnabled` in class `CellEditor`
Returns:
  `true` if paste is possible, `false` otherwise

### isSaveAllEnabled

public boolean isSaveAllEnabled()
Check if save all is enabled

Returns:
  true if it is

### isSelectAllEnabled

public boolean isSelectAllEnabled()
Returns `true` if this cell editor is able to perform the select all action.

This default implementation always returns `false`.

Subclasses may override

Overrides:
  `isSelectAllEnabled` in class `CellEditor`
Returns:
  `true` if select all is possible, `false` otherwise

### keyReleaseOccured

protected void keyReleaseOccured(KeyEvent keyEvent)
Processes a key release event that occurred in this cell editor.

The `TextCellEditor` implementation of this framework method ignores when the RETURN key is pressed since this is handled in `handleDefaultSelection`. An exception is made for Ctrl+Enter for multi-line texts, since a default selection event is not sent in this case.

Overrides:
  `keyReleaseOccured` in class `CellEditor`
Parameters:
  `keyEvent` - the key event

### performCopy

public void performCopy()
The `TextCellEditor` implementation of this `CellEditor` method copies the current selection to the clipboard.

Overrides:
  `performCopy` in class `CellEditor`

### performCut

public void performCut()
The `TextCellEditor` implementation of this `CellEditor` method cuts the current selection to the clipboard.

Overrides:
  `performCut` in class `CellEditor`

### performDelete

public void performDelete()
The `TextCellEditor` implementation of this `CellEditor` method deletes the current selection or, if there is no selection, the character next character from the current position.

Overrides:
  `performDelete` in class `CellEditor`

### performPaste

public void performPaste()
The `TextCellEditor` implementation of this `CellEditor` method pastes the the clipboard contents over the current selection.

Overrides:
  `performPaste` in class `CellEditor`

### performSelectAll

public void performSelectAll()
The `TextCellEditor` implementation of this `CellEditor` method selects all of the current text.

Overrides:
  `performSelectAll` in class `CellEditor`

### dependsOnExternalFocusListener

protected boolean dependsOnExternalFocusListener()
This implementation of `CellEditor.dependsOnExternalFocusListener()` returns false if the current instance's class is TextCellEditor, and true otherwise. Subclasses that hook their own focus listener should override this method and return false. See also bug 58777.

Overrides:
  `dependsOnExternalFocusListener` in class `CellEditor`
Returns:
  `true` to indicate that a focus listener has to be attached
Since:
  3.4