Bug 58777 [Viewers] add API to not deactivate CellEditor on FocusLost
TableViewerImpl installs a FocusListener on CellEditors, which calls applyEditorValue() on focusLost events. This FocusListener must be removed since applying the editor value is not always the wanted behavior on focusLost. Subclasses of CellEditor already handle focus loss in an extensible way: they install their own FocusListener and call a hook method focusLost() (which can be extended or reimplemented by subclasses with special needs). To support content assist in table cells (such as in the Change Method Signature dialog), we need to stay in editing mode even while the proposal list has focus. This is currently not implementable, since TableViewerImpl deactivates the CellEditor even if the CellEditor's focusLost() is reimplemented. The fix is to simply remove the redundant FocusListener in TableViewerImpl.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java
*/
    public Control getControl() {
        return control;
    }
    /**
     * Returns the current error message for this cell editor.
     * 
     * @return the error message if the cell editor is in an invalid state,
     *  and <code>null</code> if the cell editor is valid
     */
    public String getErrorMessage() {
        return errorMessage;
    }
    /**
     * 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.
     * <p>
     * The default implementation of this method sets the 
     * minimum width to the control's preferred width.
     * Subclasses may extend or reimplement.
     * </p>
     *
     * @return the layout data object 
     */
    public LayoutData getLayoutData() {
        LayoutData result = new LayoutData();
        Control control = getControl();
        if (control != null) {
            result.minimumWidth = control.computeSize(SWT.DEFAULT, SWT.DEFAULT,