Package org.eclipse.jface.preference

## Class ListEditor

- java.lang.Object
- - org.eclipse.jface.preference.FieldEditor
  - - org.eclipse.jface.preference.ListEditor

Direct Known Subclasses:
  `PathEditor`

    public abstract class ListEditor
    extends FieldEditor

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.

Subclasses must implement the `parseString`, `createList`, and `getNewInputObject` framework methods.

### Field Summary

### Fields inherited from class org.eclipse.jface.preference.FieldEditor

`HORIZONTAL_GAP, IS_VALID, VALUE`

### Constructor Summary

Constructors
`protected` `ListEditor()` Creates a new list field editor
`protected` `ListEditor​(String name, String labelText, Composite parent)` Creates a list field editor.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `adjustForNumColumns​(int numColumns)` Adjusts the horizontal span of this field editor's basic controls.
`protected abstract String` `createList​(String[] items)` Combines the given list of items into a single string.
`void` `createSelectionListener()` Creates a selection listener.
`protected void` `doFillIntoGrid​(Composite parent, int numColumns)` Fills this field editor's basic controls into the given parent.
`protected void` `doLoad()` Initializes this field editor with the preference value from the preference store.
`protected void` `doLoadDefault()` Initializes this field editor with the default preference value from the preference store.
`protected void` `doStore()` Stores the preference value from this field editor into the preference store.
`protected Button` `getAddButton()` Return the Add button.
`Composite` `getButtonBoxControl​(Composite parent)` Returns this field editor's button box containing the Add, Remove, Up, and Down button.
`protected Button` `getDownButton()` Return the Down button.
`protected List` `getList()` Return the List.
`List` `getListControl​(Composite parent)` Returns this field editor's list control.
`protected abstract String` `getNewInputObject()` Creates and returns a new item for the list.
`int` `getNumberOfControls()` Returns the number of basic controls this field editor consists of.
`protected Button` `getRemoveButton()` Return the Remove button.
`protected Shell` `getShell()` Returns this field editor's shell.
`protected Button` `getUpButton()` Return the Up button.
`protected abstract String[]` `parseString​(String stringList)` Splits the given string into a list of strings.
`protected void` `selectionChanged()` Invoked when the selection in the list has changed.
`void` `setEnabled​(boolean enabled, Composite parent)` Set whether or not the controls in the field editor are enabled.
`void` `setFocus()` Sets the focus to this field editor.

### Methods inherited from class org.eclipse.jface.preference.FieldEditor

`applyFont, checkParent, clearErrorMessage, clearMessage, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, createControl, dispose, fillIntoGrid, fireStateChanged, fireValueChanged, getFieldEditorFontName, getLabelControl, getLabelControl, getLabelText, getPage, getPreferenceName, getPreferencePage, getPreferenceStore, init, isValid, load, loadDefault, presentsDefaultValue, refreshValidState, setButtonLayoutData, setLabelText, setPage, setPreferenceName, setPreferencePage, setPreferenceStore, setPresentsDefaultValue, setPropertyChangeListener, showErrorMessage, showMessage, store`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### ListEditor

    protected ListEditor()

Creates a new list field editor

#### ListEditor

    protected ListEditor​(String name,
                         String labelText,
                         Composite parent)

Creates a list field editor.

Parameters:
  `name` - the name of the preference this field editor works on
  `labelText` - the label text of the field editor
  `parent` - the parent of the field editor's control

### Method Detail

#### adjustForNumColumns

    protected void adjustForNumColumns​(int numColumns)

Description copied from class: `FieldEditor`
Adjusts the horizontal span of this field editor's basic controls.

Subclasses must implement this method to adjust the horizontal span of controls so they appear correct in the given number of columns.

The number of columns will always be equal to or greater than the value returned by this editor's `getNumberOfControls` method.

Specified by:
  `adjustForNumColumns` in class `FieldEditor`
Parameters:
  `numColumns` - the number of columns

#### createList

    protected abstract String createList​(String[] items)

Combines the given list of items into a single string. This method is the converse of `parseString`.

Subclasses must implement this method.

Parameters:
  `items` - the list of items
Returns:
  the combined string
See Also:
  `parseString(java.lang.String)`

#### createSelectionListener

    public void createSelectionListener()

Creates a selection listener.

#### doFillIntoGrid

    protected void doFillIntoGrid​(Composite parent,
                                  int numColumns)

Description copied from class: `FieldEditor`
Fills this field editor's basic controls into the given parent.

Subclasses must implement this method to create the controls for this field editor.

Note this method may be called by the constructor, so it must not access fields on the receiver object because they will not be fully initialized.

Specified by:
  `doFillIntoGrid` in class `FieldEditor`
Parameters:
  `parent` - the composite used as a parent for the basic controls; the parent's layout must be a `GridLayout`
  `numColumns` - the number of columns

#### doLoad

    protected void doLoad()

Description copied from class: `FieldEditor`
Initializes this field editor with the preference value from the preference store.

Subclasses must implement this method to properly initialize the field editor.

Specified by:
  `doLoad` in class `FieldEditor`

#### doLoadDefault

    protected void doLoadDefault()

Description copied from class: `FieldEditor`
Initializes this field editor with the default preference value from the preference store.

Subclasses must implement this method to properly initialize the field editor.

Specified by:
  `doLoadDefault` in class `FieldEditor`

#### doStore

    protected void doStore()

Description copied from class: `FieldEditor`
Stores the preference value from this field editor into the preference store.

Subclasses must implement this method to save the entered value into the preference store.

Specified by:
  `doStore` in class `FieldEditor`

#### getButtonBoxControl

    public Composite getButtonBoxControl​(Composite parent)

Returns this field editor's button box containing the Add, Remove, Up, and Down button.

Parameters:
  `parent` - the parent control
Returns:
  the button box

#### getListControl

    public List getListControl​(Composite parent)

Returns this field editor's list control.

Parameters:
  `parent` - the parent control
Returns:
  the list control

#### getNewInputObject

    protected abstract String getNewInputObject()

Creates and returns a new item for the list.

Subclasses must implement this method.

Returns:
  a new item

#### getNumberOfControls

    public int getNumberOfControls()

Description copied from class: `FieldEditor`
Returns the number of basic controls this field editor consists of.

Specified by:
  `getNumberOfControls` in class `FieldEditor`
Returns:
  the number of controls

#### getShell

    protected Shell getShell()

Returns this field editor's shell.

This method is internal to the framework; subclassers should not call this method.

Returns:
  the shell

#### parseString

    protected abstract String[] parseString​(String stringList)

Splits the given string into a list of strings. This method is the converse of `createList`.

Subclasses must implement this method.

Parameters:
  `stringList` - the string
Returns:
  an array of `String`
See Also:
  `createList(java.lang.String[])`

#### selectionChanged

    protected void selectionChanged()

Invoked when the selection in the list has changed.

The default implementation of this method utilizes the selection index and the size of the list to toggle the enablement of the up, down and remove buttons.

Sublcasses may override.

Since:
  3.5

#### setFocus

    public void setFocus()

Description copied from class: `FieldEditor`
Sets the focus to this field editor.

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

Overrides:
  `setFocus` in class `FieldEditor`

#### setEnabled

    public void setEnabled​(boolean enabled,
                           Composite parent)

Description copied from class: `FieldEditor`
Set whether or not the controls in the field editor are enabled.

Overrides:
  `setEnabled` in class `FieldEditor`
Parameters:
  `enabled` - The enabled state.
  `parent` - The parent of the controls in the group. Used to create the controls if required.

#### getAddButton

    protected Button getAddButton()

Return the Add button.

Returns:
  the button
Since:
  3.5

#### getRemoveButton

    protected Button getRemoveButton()

Return the Remove button.

Returns:
  the button
Since:
  3.5

#### getUpButton

    protected Button getUpButton()

Return the Up button.

Returns:
  the button
Since:
  3.5

#### getDownButton

    protected Button getDownButton()

Return the Down button.

Returns:
  the button
Since:
  3.5

#### getList

    protected List getList()

Return the List.

Returns:
  the list
Since:
  3.5