blob: 11ec17203775e88c23bfe2f7b71faa71a6bf105f [file] [log] [blame]
package org.eclipse.jface.viewers;
/**********************************************************************
Copyright (c) 2000, 2002 International Business Machines Corp and others.
All rights reserved.   This program and the accompanying materials
are made available under the terms of the Common Public License v0.5
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/cpl-v05.html
 
Contributors:
**********************************************************************/
/**
* A listener which is notified of significant events in the
* life of a cell editor.
* <p>
* This interface should be implemented by classes that wish to
* react to cell editor activity.
* </p>
* <p>
* Note: the cell editor is not passed as a parameter to any
* of these methods; so the assumption is that the listener
* knows which cell editor is talking to it.
* </p>
*/
public interface ICellEditorListener {
/**
* Notifies that the end user has requested applying a value.
* All cell editors send this notification.
* <p>
* The normal reaction is to update the model with the current cell editor value.
* However, if the value is not valid, it should not be applied.
* A typical text-based cell editor would send this message
* when the end user hits Return, whereas other editors would
* send it whenever their value changes.
* </p>
*/
public void applyEditorValue();
/**
* Notifies that the end user has canceled editing.
* All cell editors send this notification.
* A listener should <b>not</b> update the model based on this
* notification; see <code>applyEditorValue</code>.
*/
public void cancelEditor();
/**
* Notifies that the end user is changing the value in the cell editor. This
* notification is normally sent only by text-based editors in response to a
* keystroke, so that the listener may show an error message reflecting the
* current valid state. This notification is sent while the value is being
* actively edited, before the value is applied or cancelled. A listener should
* <b>not</b> update the model based on this notification; see
* <code>applyEditorValue</code>.
* <p>
* If the <code>newValidState</code> parameter is <code>true</code>,
* the new value may be retrieved by calling <code>ICellEditor.getValue</code>
* on the appropriate cell editor.
* </p>
*
* @param oldValidState the valid state before the end user changed the value
* @param newValidState the current valid state
*/
public void editorValueChanged(boolean oldValidState, boolean newValidState);
}