Eclipse Platform
2.0

org.eclipse.jface.viewers
Class CellEditor

java.lang.Object
  |
  +--org.eclipse.jface.viewers.CellEditor
Direct Known Subclasses:
CheckboxCellEditor, ComboBoxCellEditor, DialogCellEditor, TextCellEditor

public abstract class CellEditor
extends Object

Abstract base class for cell editors. Implements property change listener handling, and SWT window management.

Subclasses implement particular kinds of cell editors. This package contains various specialized cell editors:


Nested Class Summary
static class CellEditor.LayoutData
          Struct-like layout data for cell editors, with reasonable defaults for all fields.
 
Field Summary
static String COPY
          Property name for the copy action
static String CUT
          Property name for the cut action
static String DELETE
          Property name for the delete action
static String FIND
          Property name for the find action
static String PASTE
          Property name for the paste action
static String REDO
          Property name for the redo action
static String SELECT_ALL
          Property name for the select all action
static String UNDO
          Property name for the undo action
 
Constructor Summary
protected CellEditor(Composite parent)
          Creates a new cell editor under the given parent control.
 
Method Summary
 void activate()
          Activates this cell editor.
 void addListener(ICellEditorListener listener)
          Adds a listener to this cell editor.
 void addPropertyChangeListener(IPropertyChangeListener listener)
          Adds a property change listener to this cell editor.
protected abstract  Control createControl(Composite parent)
          Creates the control for this cell editor under the given parent control.
 void deactivate()
          Hides this cell editor's control.
 void dispose()
          Disposes of this cell editor and frees any associated SWT resources.
protected abstract  Object doGetValue()
          Returns this cell editor's value.
protected abstract  void doSetFocus()
          Sets the focus to the cell editor's control.
protected abstract  void doSetValue(Object value)
          Sets this cell editor's value.
protected  void fireApplyEditorValue()
          Notifies all registered cell editor listeners of an apply event.
protected  void fireCancelEditor()
          Notifies all registered cell editor listeners that editing has been canceled.
protected  void fireEditorValueChanged(boolean oldValidState, boolean newValidState)
          Notifies all registered cell editor listeners of a value change.
protected  void fireEnablementChanged(String actionId)
          Notifies all registered property listeners of an enablement change.
 Control getControl()
          Returns the control used to implement this cell editor.
 String getErrorMessage()
          Returns the current error message for this cell editor.
 CellEditor.LayoutData getLayoutData()
          Returns a layout data object for this cell editor.
 ICellEditorValidator getValidator()
          Returns the input validator for this cell editor.
 Object getValue()
          Returns this cell editor's value provided that it has a valid one.
 boolean isActivated()
          Returns whether this cell editor is activated.
 boolean isCopyEnabled()
          Returns true if this cell editor is able to perform the copy action.
protected  boolean isCorrect(Object value)
          Returns whether the given value is valid for this cell editor.
 boolean isCutEnabled()
          Returns true if this cell editor is able to perform the cut action.
 boolean isDeleteEnabled()
          Returns true if this cell editor is able to perform the delete action.
 boolean isDirty()
          Returns whether the value of this cell editor has changed since the last call to setValue.
 boolean isFindEnabled()
          Returns true if this cell editor is able to perform the find action.
 boolean isPasteEnabled()
          Returns true if this cell editor is able to perform the paste action.
 boolean isRedoEnabled()
          Returns true if this cell editor is able to perform the redo action.
 boolean isSelectAllEnabled()
          Returns true if this cell editor is able to perform the select all action.
 boolean isUndoEnabled()
          Returns true if this cell editor is able to perform the undo action.
 boolean isValueValid()
          Returns whether this cell editor has a valid value.
protected  void keyReleaseOccured(KeyEvent keyEvent)
          Processes a key release event that occurred in this cell editor.
 void performCopy()
          Performs the copy action.
 void performCut()
          Performs the cut action.
 void performDelete()
          Performs the delete action.
 void performFind()
          Performs the find action.
 void performPaste()
          Performs the paste action.
 void performRedo()
          Performs the redo action.
 void performSelectAll()
          Performs the select all action.
 void performUndo()
          Performs the undo action.
 void removeListener(ICellEditorListener listener)
          Removes the given listener from this cell editor.
 void removePropertyChangeListener(IPropertyChangeListener listener)
          Removes the given property change listener from this cell editor.
protected  void setErrorMessage(String message)
          Sets or clears the current error message for this cell editor.
 void setFocus()
          Sets the focus to the cell editor's control.
 void setValidator(ICellEditorValidator validator)
          Sets the input validator for this cell editor.
 void setValue(Object value)
          Sets this cell editor's value.
protected  void setValueValid(boolean valid)
          Sets the valid state of this cell editor.
protected  void valueChanged(boolean oldValidState, boolean newValidState)
          The value has changed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPY

public static final String COPY
Property name for the copy action

See Also:
Constant Field Values

CUT

public static final String CUT
Property name for the cut action

See Also:
Constant Field Values

DELETE

public static final String DELETE
Property name for the delete action

See Also:
Constant Field Values

FIND

public static final String FIND
Property name for the find action

See Also:
Constant Field Values

PASTE

public static final String PASTE
Property name for the paste action

See Also:
Constant Field Values

REDO

public static final String REDO
Property name for the redo action

See Also:
Constant Field Values

SELECT_ALL

public static final String SELECT_ALL
Property name for the select all action

See Also:
Constant Field Values

UNDO

public static final String UNDO
Property name for the undo action

See Also:
Constant Field Values
Constructor Detail

CellEditor

protected CellEditor(Composite parent)
Creates a new cell editor under the given parent control. The cell editor has no cell validator.

Parameters:
parent - the parent control
Method Detail

activate

public void activate()
Activates this cell editor.

The default implementation of this framework method does nothing. Subclasses may reimplement.


addListener

public void addListener(ICellEditorListener listener)
Adds a listener to this cell editor. Has no effect if an identical listener is already registered.

Parameters:
listener - a cell editor listener

addPropertyChangeListener

public void addPropertyChangeListener(IPropertyChangeListener listener)
Adds a property change listener to this cell editor. Has no effect if an identical property change listener is already registered.

Parameters:
listener - a property change listener

createControl

protected abstract Control createControl(Composite parent)
Creates the control for this cell editor under the given parent control.

This framework method must be implemented by concrete subclasses.

Parameters:
parent - the parent control
Returns:
the new control, or null if this cell editor has no control

deactivate

public void deactivate()
Hides this cell editor's control. Does nothing if this cell editor is not visible.


dispose

public void dispose()
Disposes of this cell editor and frees any associated SWT resources.


doGetValue

protected abstract Object doGetValue()
Returns this cell editor's value.

This framework method must be implemented by concrete subclasses.

Returns:
the value of this cell editor
See Also:
getValue()

doSetFocus

protected abstract void doSetFocus()
Sets the focus to the cell editor's control.

This framework method must be implemented by concrete subclasses.

See Also:
setFocus()

doSetValue

protected abstract void doSetValue(Object value)
Sets this cell editor's value.

This framework method must be implemented by concrete subclasses.

Parameters:
value - the value of this cell editor
See Also:
setValue(java.lang.Object)

fireApplyEditorValue

protected void fireApplyEditorValue()
Notifies all registered cell editor listeners of an apply event. Only listeners registered at the time this method is called are notified.

See Also:
ICellEditorListener.applyEditorValue()

fireCancelEditor

protected void fireCancelEditor()
Notifies all registered cell editor listeners that editing has been canceled.

See Also:
ICellEditorListener.cancelEditor()

fireEditorValueChanged

protected void fireEditorValueChanged(boolean oldValidState,
                                      boolean newValidState)
Notifies all registered cell editor listeners of a value change.

Parameters:
oldValidState - the valid state before the end user changed the value
newValidState - the current valid state
See Also:
ICellEditorListener.editorValueChanged(boolean, boolean)

fireEnablementChanged

protected void fireEnablementChanged(String actionId)
Notifies all registered property listeners of an enablement change.

Parameters:
actionId - the id indicating what action's enablement has changed.

getControl

public Control getControl()
Returns the control used to implement this cell editor.

Returns:
the control, or null if this cell editor has no control

getErrorMessage

public String getErrorMessage()
Returns the current error message for this cell editor.

Returns:
the error message if the cell editor is in an invalid state, and null if the cell editor is valid

getLayoutData

public CellEditor.LayoutData getLayoutData()
Returns a layout data object for this cell editor. This is called each time the cell editor is activated and controls the layout of the SWT table editor.

The default implementation of this method sets the minimum width to the control's preferred width. Subclasses may extend or reimplement.

Returns:
the layout data object

getValidator

public ICellEditorValidator getValidator()
Returns the input validator for this cell editor.

Returns:
the input validator, or null if none

getValue

public final Object getValue()
Returns this cell editor's value provided that it has a valid one.

Returns:
the value of this cell editor, or null if the cell editor does not contain a valid value

isActivated

public boolean isActivated()
Returns whether this cell editor is activated.

Returns:
true if this cell editor's control is currently visible, and false if not visible

isCopyEnabled

public boolean isCopyEnabled()
Returns true if this cell editor is able to perform the copy action.

This default implementation always returns false.

Subclasses may override

Returns:
true if copy is possible, false otherwise

isCorrect

protected boolean isCorrect(Object value)
Returns whether the given value is valid for this cell editor. This cell editor's validator (if any) makes the actual determination.

Returns:
true if the value is valid, and false if invalid

isCutEnabled

public boolean isCutEnabled()
Returns true if this cell editor is able to perform the cut action.

This default implementation always returns false.

Subclasses may override

Returns:
true if cut is possible, false otherwise

isDeleteEnabled

public boolean isDeleteEnabled()
Returns true if this cell editor is able to perform the delete action.

This default implementation always returns false.

Subclasses may override

Returns:
true if delete is possible, false otherwise

isDirty

public boolean isDirty()
Returns whether the value of this cell editor has changed since the last call to setValue.

Returns:
true if the value has changed, and false if unchanged

isFindEnabled

public boolean isFindEnabled()
Returns true if this cell editor is able to perform the find action.

This default implementation always returns false.

Subclasses may override

Returns:
true if find is possible, false otherwise

isPasteEnabled

public boolean isPasteEnabled()
Returns true if this cell editor is able to perform the paste action.

This default implementation always returns false.

Subclasses may override

Returns:
true if paste is possible, false otherwise

isRedoEnabled

public boolean isRedoEnabled()
Returns true if this cell editor is able to perform the redo action.

This default implementation always returns false.

Subclasses may override

Returns:
true if redo is possible, false otherwise

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

Returns:
true if select all is possible, false otherwise

isUndoEnabled

public boolean isUndoEnabled()
Returns true if this cell editor is able to perform the undo action.

This default implementation always returns false.

Subclasses may override

Returns:
true if undo is possible, false otherwise

isValueValid

public boolean isValueValid()
Returns whether this cell editor has a valid value. The default value is false.

Returns:
true if the value is valid, and false if invalid
See Also:
setValueValid(boolean)

keyReleaseOccured

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

The default implementation of this framework method interprets the ESC key as canceling editing, and the RETURN key as applying the current value. Subclasses should call this method at appropriate times. Subclasses may also extend or reimplement.

Parameters:
keyEvent - the key event

performCopy

public void performCopy()
Performs the copy action. This default implementation does nothing.

Subclasses may override


performCut

public void performCut()
Performs the cut action. This default implementation does nothing.

Subclasses may override


performDelete

public void performDelete()
Performs the delete action. This default implementation does nothing.

Subclasses may override


performFind

public void performFind()
Performs the find action. This default implementation does nothing.

Subclasses may override


performPaste

public void performPaste()
Performs the paste action. This default implementation does nothing.

Subclasses may override


performRedo

public void performRedo()
Performs the redo action. This default implementation does nothing.

Subclasses may override


performSelectAll

public void performSelectAll()
Performs the select all action. This default implementation does nothing.

Subclasses may override


performUndo

public void performUndo()
Performs the undo action. This default implementation does nothing.

Subclasses may override


removeListener

public void removeListener(ICellEditorListener listener)
Removes the given listener from this cell editor. Has no affect if an identical listener is not registered.

Parameters:
listener - a cell editor listener

removePropertyChangeListener

public void removePropertyChangeListener(IPropertyChangeListener listener)
Removes the given property change listener from this cell editor. Has no affect if an identical property change listener is not registered.

Parameters:
listener - a property change listener

setErrorMessage

protected void setErrorMessage(String message)
Sets or clears the current error message for this cell editor.

Parameters:
message - the error message, or null to clear

setFocus

public void setFocus()
Sets the focus to the cell editor's control.


setValidator

public void setValidator(ICellEditorValidator validator)
Sets the input validator for this cell editor.

Parameters:
validator - the input validator, or null if none

setValue

public final void setValue(Object value)
Sets this cell editor's value.

Parameters:
value - the value of this cell editor

setValueValid

protected void setValueValid(boolean valid)
Sets the valid state of this cell editor. The default value is false. Subclasses should call this method on construction.

Parameters:
valid - true if the current valie is valid, and false if invalid
See Also:
isValueValid()

valueChanged

protected void valueChanged(boolean oldValidState,
                            boolean newValidState)
The value has changed. Updates the valid state flag, marks this cell editor as dirty, and notifies all registered cell editor listeners of a value change.

Parameters:
oldValidState - the valid state before the end user changed the value
newValidState - the current valid state
See Also:
ICellEditorListener.editorValueChanged(boolean, boolean)

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.