Package org.eclipse.jface.viewers

## Class ListViewer

- java.lang.Object
- - org.eclipse.jface.viewers.Viewer
  - - org.eclipse.jface.viewers.ContentViewer
    - - org.eclipse.jface.viewers.StructuredViewer
      - - org.eclipse.jface.viewers.AbstractListViewer
        - - org.eclipse.jface.viewers.ListViewer

All Implemented Interfaces:
  `IInputProvider`, `IInputSelectionProvider`, `IPostSelectionProvider`, `ISelectionProvider`

    public class ListViewer
    extends AbstractListViewer

A concrete viewer based on an SWT `List` control.

This class is not intended to be subclassed. It is designed to be instantiated with a pre-existing SWT `List` control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).

Note that the SWT `List` control only supports the display of strings, not icons. If you need to show icons for items, use `TableViewer` instead.

See Also:
  `TableViewer`
Restriction:
  This class is not intended to be subclassed by clients.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer

`StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders`

### Field Summary

### Fields inherited from class org.eclipse.jface.viewers.Viewer

`WIDGET_DATA_KEY`

### Constructor Summary

Constructors
`ListViewer​(Composite parent)` Creates a list viewer on a newly-created list control under the given parent.
`ListViewer​(Composite parent, int style)` Creates a list viewer on a newly-created list control under the given parent.
`ListViewer​(List list)` Creates a list viewer on the given list control.

### Method Summary

All Methods Instance Methods Concrete Methods
`Control` `getControl()` Returns the primary control associated with this viewer.
`List` `getList()` Returns this list viewer's list control.
`protected void` `listAdd​(String string, int index)` Adds the given string to the underlying widget at the given index
`protected void` `listDeselectAll()` Deselects all selected items in the underlying widget.
`protected int` `listGetItemCount()` Returns the number of items contained in the underlying widget.
`protected int[]` `listGetSelectionIndices()` Returns the zero-relative indices of the items which are currently selected in the underlying widget.
`protected int` `listGetTopIndex()` Returns the index of the item currently at the top of the viewable area.
`protected void` `listRemove​(int index)` Removes the item from the underlying widget at the given zero-relative index.
`protected void` `listRemoveAll()` Removes all of the items from the underlying widget.
`protected void` `listSetItem​(int index, String string)` Sets the text of the item at the given index in the underlying widget.
`protected void` `listSetItems​(String[] labels)` Sets the underlying widget's items to be the given array of items.
`protected void` `listSetSelection​(int[] ixs)` Selects the items at the given zero-relative indices in the underlying widget.
`protected void` `listSetTopIndex​(int index)` Sets the index of the item to be at the top of the viewable area.
`protected void` `listShowSelection()` Shows the selection.
`void` `reveal​(Object element)` Ensures that the given element is visible, scrolling the viewer if necessary.
`protected void` `setSelectionToWidget​(List in, boolean reveal)` Parlays the given list of selected elements into selections on this viewer's control.

### Methods inherited from class org.eclipse.jface.viewers.AbstractListViewer

`add, add, doFindInputItem, doFindItem, doUpdateItem, getElementAt, getLabelProvider, getSelectionFromWidget, indexForElement, inputChanged, insert, internalRefresh, remove, remove, setLabelProvider`

### Methods inherited from class org.eclipse.jface.viewers.StructuredViewer

`addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertContentProviderType, assertElementsNotNull, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getItem, getRawChildren, getRoot, getSelection, getSortedChildren, getSorter, getStructuredSelection, handleDispose, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, hookControl, internalRefresh, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setContentProvider, setFilters, setInput, setSelection, setSelectionToWidget, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, update, updateItem, updateSelection, usingElementMap`

### Methods inherited from class org.eclipse.jface.viewers.ContentViewer

`getContentProvider, getInput, labelProviderChanged`

### Methods inherited from class org.eclipse.jface.viewers.Viewer

`addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection`

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

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

### Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider

`addSelectionChangedListener, removeSelectionChangedListener, setSelection`

### Constructor Detail

#### ListViewer

    public ListViewer​(Composite parent)

Creates a list viewer on a newly-created list control under the given parent. The list control is created using the SWT style bits `MULTI, H_SCROLL, V_SCROLL,` and `BORDER`. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.

Parameters:
  `parent` - the parent control

#### ListViewer

    public ListViewer​(Composite parent,
                      int style)

Creates a list viewer on a newly-created list control under the given parent. The list control is created using the given SWT style bits. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.

Parameters:
  `parent` - the parent control
  `style` - the SWT style bits

#### ListViewer

    public ListViewer​(List list)

Creates a list viewer on the given list control. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.

Parameters:
  `list` - the list control

### Method Detail

#### getControl

    public Control getControl()

Description copied from class: `Viewer`
Returns the primary control associated with this viewer.

Specified by:
  `getControl` in class `Viewer`
Returns:
  the SWT control which displays this viewer's content

#### getList

    public List getList()

Returns this list viewer's list control.

Returns:
  the list control

#### reveal

    public void reveal​(Object element)

Description copied from class: `StructuredViewer`
Ensures that the given element is visible, scrolling the viewer if necessary. The selection is unchanged.

Specified by:
  `reveal` in class `StructuredViewer`
Parameters:
  `element` - the element to reveal

#### listAdd

    protected void listAdd​(String string,
                           int index)

Description copied from class: `AbstractListViewer`
Adds the given string to the underlying widget at the given index

Specified by:
  `listAdd` in class `AbstractListViewer`
Parameters:
  `string` - the string to add
  `index` - position to insert the string into

#### listSetItem

    protected void listSetItem​(int index,
                               String string)

Description copied from class: `AbstractListViewer`
Sets the text of the item at the given index in the underlying widget.

Specified by:
  `listSetItem` in class `AbstractListViewer`
Parameters:
  `index` - index to modify
  `string` - new text

#### listGetSelectionIndices

    protected int[] listGetSelectionIndices()

Description copied from class: `AbstractListViewer`
Returns the zero-relative indices of the items which are currently selected in the underlying widget. The array is empty if no items are selected.

Note: This is not the actual structure used by the receiver to maintain its selection, so modifying the array will not affect the receiver.

Specified by:
  `listGetSelectionIndices` in class `AbstractListViewer`
Returns:
  the array of indices of the selected items

#### listGetItemCount

    protected int listGetItemCount()

Description copied from class: `AbstractListViewer`
Returns the number of items contained in the underlying widget.

Specified by:
  `listGetItemCount` in class `AbstractListViewer`
Returns:
  the number of items

#### listSetItems

    protected void listSetItems​(String[] labels)

Description copied from class: `AbstractListViewer`
Sets the underlying widget's items to be the given array of items.

Specified by:
  `listSetItems` in class `AbstractListViewer`
Parameters:
  `labels` - the array of label text

#### listRemoveAll

    protected void listRemoveAll()

Description copied from class: `AbstractListViewer`
Removes all of the items from the underlying widget.

Specified by:
  `listRemoveAll` in class `AbstractListViewer`

#### listRemove

    protected void listRemove​(int index)

Description copied from class: `AbstractListViewer`
Removes the item from the underlying widget at the given zero-relative index.

Specified by:
  `listRemove` in class `AbstractListViewer`
Parameters:
  `index` - the index for the item

#### listSetSelection

    protected void listSetSelection​(int[] ixs)

Description copied from class: `AbstractListViewer`
Selects the items at the given zero-relative indices in the underlying widget. The current selection is cleared before the new items are selected.

Indices that are out of range and duplicate indices are ignored. If the receiver is single-select and multiple indices are specified, then all indices are ignored.

Specified by:
  `listSetSelection` in class `AbstractListViewer`
Parameters:
  `ixs` - the indices of the items to select

#### listDeselectAll

    protected void listDeselectAll()

Description copied from class: `AbstractListViewer`
Deselects all selected items in the underlying widget.

Specified by:
  `listDeselectAll` in class `AbstractListViewer`

#### listShowSelection

    protected void listShowSelection()

Description copied from class: `AbstractListViewer`
Shows the selection. If the selection is already showing in the receiver, this method simply returns. Otherwise, the items are scrolled until the selection is visible.

Specified by:
  `listShowSelection` in class `AbstractListViewer`

#### listGetTopIndex

    protected int listGetTopIndex()

Description copied from class: `AbstractListViewer`
Returns the index of the item currently at the top of the viewable area.

Default implementation returns -1.

Overrides:
  `listGetTopIndex` in class `AbstractListViewer`
Returns:
  index, -1 for none

#### listSetTopIndex

    protected void listSetTopIndex​(int index)

Description copied from class: `AbstractListViewer`
Sets the index of the item to be at the top of the viewable area.

Default implementation does nothing.

Overrides:
  `listSetTopIndex` in class `AbstractListViewer`
Parameters:
  `index` - the given index. -1 for none. index will always refer to a valid index.

#### setSelectionToWidget

    protected void setSelectionToWidget​(List in,
                                        boolean reveal)

Description copied from class: `StructuredViewer`
Parlays the given list of selected elements into selections on this viewer's control.

Subclasses should override to set their selection based on the given list of elements.

Overrides:
  `setSelectionToWidget` in class `AbstractListViewer`
Parameters:
  `in` - list of selected elements (element type: `Object`) or `null` if the selection is to be cleared
  `reveal` - `true` if the selection is to be made visible, and `false` otherwise