org.eclipse.jface.viewers

## Class ComboViewer

- 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.ComboViewer

All Implemented Interfaces:
  IInputProvider, IInputSelectionProvider, IPostSelectionProvider, ISelectionProvider

    public class ComboViewer
    extends AbstractListViewer

A concrete viewer based either on an SWT `Combo` control or `CCombo` control. This class is intended as an alternative to the JFace `ListViewer`, which displays its content in a combo box rather than a list. Wherever possible, this class attempts to behave like ListViewer.

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

Since:
  3.0 (made non-final in 3.4)
See Also:
  `ListViewer`

### 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
Constructor and Description
`ComboViewer(CCombo list)` Creates a combo viewer on the given CCombo control.
`ComboViewer(Combo list)` Creates a combo viewer on the given combo control.
`ComboViewer(Composite parent)` Creates a combo viewer on a newly-created combo control under the given parent.
`ComboViewer(Composite parent, int style)` Creates a combo viewer on a newly-created combo control under the given parent.

### Method Summary

All Methods Instance Methods Concrete Methods
`CCombo` `getCCombo()` Returns this list viewer's list control.
`Combo` `getCombo()` Returns this list viewer's list control.
`Control` `getControl()` Returns the primary control associated with this viewer.
`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 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` `listShowSelection()` Shows the selection.
`void` `reveal(Object element)` Ensures that the given element is visible, scrolling the viewer if necessary.

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

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

### 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

#### ComboViewer

    public ComboViewer(Composite parent)

Creates a combo viewer on a newly-created combo control under the given parent. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.

Parameters:
  `parent` - the parent control

#### ComboViewer

    public ComboViewer(Composite parent,
                       int style)

Creates a combo viewer on a newly-created combo control under the given parent. The combo 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

#### ComboViewer

    public ComboViewer(Combo list)

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

Parameters:
  `list` - the combo control

#### ComboViewer

    public ComboViewer(CCombo list)

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

Parameters:
  `list` - the CCombo control
Since:
  3.3

### Method Detail

#### 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

#### 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

#### getCCombo

    public CCombo getCCombo()

Returns this list viewer's list control. If the viewer was not created on a CCombo control, some kind of unchecked exception is thrown.

Returns:
  the list control
Since:
  3.3

#### getCombo

    public Combo getCombo()

Returns this list viewer's list control. If the viewer was not created on a Combo control, some kind of unchecked exception is thrown.

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

#### 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`