Bug 251517 [Preferences] Increase visibility for the ListEditor fields or methods
Build ID: M20080911-1700 Steps To Reproduce: I am trying to create a specialized org.eclipse.jface.preference.ListEditor. I want to specialize the 'remove' button so that I can disable it in a case where it we shouldn't allow them to remove the entry. However, currently all methods and fields that provide access to the buttons or event handling are all private, and thus can not be overridden by subclasses. Expected result is that protected access is provided for dealing with selection changes, button presses, and protected access is provided for access to the buttons so we can enable/disable them as needed. More information:
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ListEditor.java
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Widget;
/**
 * An abstract field editor that manages a list of input values. 
 * The editor displays a list containing the values, buttons for
 * adding and removing values, and Up and Down buttons to adjust
 * the order of elements in the list.
 * <p>
 * Subclasses must implement the <code>parseString</code>,
 * <code>createList</code>, and <code>getNewInputObject</code>
 * framework methods.
 * </p>
 */
public abstract class ListEditor extends FieldEditor {
    /**
     * The list widget; <code>null</code> if none
     * (before creation or after disposal).
     */
    private List list;
    /**