Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jface.viewers
Class AbstractListViewer

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

All Implemented Interfaces:
  IInputProvider, IInputSelectionProvider, IPostSelectionProvider, ISelectionProvider

Direct Known Subclasses:
  ComboViewer, ListViewer

public abstract class AbstractListViewer
extends StructuredViewer

Abstract base class for viewers that contain lists of items (such as a combo or list). Most of the viewer implementation is in this base class, except for the minimal code that actually communicates with the underlying widget.

Since:
  3.0
See Also:
  `ListViewer`, `ComboViewer`

Field Summary

Fields inherited from class org.eclipse.jface.viewers.Viewer
`WIDGET_DATA_KEY`

Constructor Summary
`AbstractListViewer()`

Method Summary
`void` | `add(Object element)` Adds the given element to this list viewer.
`void` | `add(Object[] elements)` Adds the given elements to this list viewer.
`protected Widget` | `doFindInputItem(Object element)` Returns the widget in this viewer's control which represents the given element if it is the viewer's input.
`protected Widget` | `doFindItem(Object element)` Returns the widget in this viewer's control which represent the given element.
`protected void` | `doUpdateItem(Widget data, Object element, boolean fullMap)` Copies the attributes of the given element into the given SWT item.
`abstract Control` | `getControl()` Returns the primary control associated with this viewer.
`Object` | `getElementAt(int index)` Returns the element with the given index from this list viewer.
`IBaseLabelProvider` | `getLabelProvider()` The list viewer implementation of this `Viewer` framework method returns the label provider, which in the case of list viewers will be an instance of `ILabelProvider`.
`protected List` | `getSelectionFromWidget()` Retrieves the selection, as a `List`, from the underlying widget.
`protected int` | `indexForElement(Object element)`
`protected void` | `inputChanged(Object input, Object oldInput)` Internal hook method called when the input to this viewer is initially set or subsequently changed.
`protected void` | `internalRefresh(Object element)` Refreshes this viewer starting at the given element.
`protected abstract void` | `listAdd(String string, int index)` Adds the given string to the underlying widget at the given index
`protected abstract void` | `listDeselectAll()` Deselects all selected items in the underlying widget.
`protected abstract int` | `listGetItemCount()` Returns the number of items contained in the underlying widget.
`protected abstract int[]` | `listGetSelectionIndices()` Returns the zero-relative indices of the items which are currently selected in the underlying widget.
`protected abstract void` | `listRemove(int index)` Removes the item from the underlying widget at the given zero-relative index.
`protected abstract void` | `listRemoveAll()` Removes all of the items from the underlying widget.
`protected abstract void` | `listSetItem(int index, String string)` Sets the text of the item at the given index in the underlying widget.
`protected abstract void` | `listSetItems(String[] labels)` Sets the underlying widget's items to be the given array of items.
`protected abstract void` | `listSetSelection(int[] ixs)` Selects the items at the given zero-relative indices in the underlying widget.
`protected abstract void` | `listShowSelection()` Shows the selection.
`void` | `remove(Object element)` Removes the given element from this list viewer.
`void` | `remove(Object[] elements)` Removes the given elements from this list viewer.
`void` | `setLabelProvider(IBaseLabelProvider labelProvider)` The list viewer implementation of this `Viewer` framework method ensures that the given label provider is an instance of `ILabelProvider`.
`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.StructuredViewer
`addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, associate, disassociate, equals, filter, findItem, fireDoubleClick, fireOpen, firePostSelectionChanged, getComparer, getFilteredChildren, getFilters, getItem, getRawChildren, getRoot, getSelection, getSortedChildren, getSorter, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, hookControl, internalRefresh, mapElement, needsRefilter, preservingSelection, refresh, refresh, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, reveal, setComparer, setContentProvider, setInput, setSelection, setSelectionToWidget, setSorter, setUseHashlookup, testFindItem, unmapAllElements, unmapElement, unmapElement, update, update, updateItem, updateSelection, usingElementMap`

Methods inherited from class org.eclipse.jface.viewers.ContentViewer
`getContentProvider, getInput, handleDispose, 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

### AbstractListViewer

    public AbstractListViewer()

Method Detail

### listAdd

    protected abstract void listAdd(String string,
                                    int index)

  Adds the given string to the underlying widget at the given index

  Parameters:
    `string` - the string to add
    `index` - position to insert the string into

### listSetItem

    protected abstract void listSetItem(int index,
                                        String string)

  Sets the text of the item at the given index in the underlying widget.

  Parameters:
    `index` - index to modify
    `string` - new text

### listGetSelectionIndices

    protected abstract int[] listGetSelectionIndices()

  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.

  Returns:
    the array of indices of the selected items

### listGetItemCount

    protected abstract int listGetItemCount()

  Returns the number of items contained in the underlying widget.

  Returns:
    the number of items

### listSetItems

    protected abstract void listSetItems(String[] labels)

  Sets the underlying widget's items to be the given array of items.

  Parameters:
    `labels` - the array of label text

### listRemoveAll

    protected abstract void listRemoveAll()

  Removes all of the items from the underlying widget.

### listRemove

    protected abstract void listRemove(int index)

  Removes the item from the underlying widget at the given zero-relative index.

  Parameters:
    `index` - the index for the item

### listSetSelection

    protected abstract void listSetSelection(int[] ixs)

  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.

  Parameters:
    `ixs` - the indices of the items to select

### listShowSelection

    protected abstract void listShowSelection()

  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.

### listDeselectAll

    protected abstract void listDeselectAll()

  Deselects all selected items in the underlying widget.

### add

    public void add(Object[] elements)

  Adds the given elements to this list viewer. If this viewer does not have a sorter, the elements are added at the end in the order given; otherwise the elements are inserted at appropriate positions.

  This method should be called (by the content provider) when elements have been added to the model, in order to cause the viewer to accurately reflect the model. This method only affects the viewer, not the model.

  Parameters:
    `elements` - the elements to add

### add

    public void add(Object element)

  Adds the given element to this list viewer. If this viewer does not have a sorter, the element is added at the end; otherwise the element is inserted at the appropriate position.

  This method should be called (by the content provider) when a single element has been added to the model, in order to cause the viewer to accurately reflect the model. This method only affects the viewer, not the model. Note that there is another method for efficiently processing the simultaneous addition of multiple elements.

  Parameters:
    `element` - the element

### doFindInputItem

    protected Widget doFindInputItem(Object element)

  Description copied from class: `StructuredViewer`
  Returns the widget in this viewer's control which represents the given element if it is the viewer's input.

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

  Specified by:
    `doFindInputItem` in class `StructuredViewer`
  Parameters:
    `element` -
  Returns:
    the corresponding widget, or `null` if none

### doFindItem

    protected Widget doFindItem(Object element)

  Description copied from class: `StructuredViewer`
  Returns the widget in this viewer's control which represent the given element. This method searchs all the children of the input element.

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

  Specified by:
    `doFindItem` in class `StructuredViewer`
  Parameters:
    `element` -
  Returns:
    the corresponding widget, or `null` if none

### doUpdateItem

    protected void doUpdateItem(Widget data,
                                Object element,
                                boolean fullMap)

  Description copied from class: `StructuredViewer`
  Copies the attributes of the given element into the given SWT item. The element map is updated according to the value of `fullMap`. If `fullMap` is `true` then the current mapping from element to widgets is removed and the new mapping is added. If fullmap is `false` then only the new map gets installed. Installing only the new map is necessary in cases where only the order of elements changes but not the set of elements.

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

  Specified by:
    `doUpdateItem` in class `StructuredViewer`
  Parameters:
    `data` -
    `element` - element
    `fullMap` - `true` if mappings are added and removed, and `false` if only the new map gets installed

### getControl

    public abstract 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

### getElementAt

    public Object getElementAt(int index)

  Returns the element with the given index from this list viewer. Returns `null` if the index is out of range.

  Parameters:
    `index` - the zero-based index
  Returns:
    the element at the given index, or `null` if the index is out of range

### getLabelProvider

    public IBaseLabelProvider getLabelProvider()

  The list viewer implementation of this `Viewer` framework method returns the label provider, which in the case of list viewers will be an instance of `ILabelProvider`.

  Overrides:
    `getLabelProvider` in class `ContentViewer`
  Returns:
    a label provider

### getSelectionFromWidget

    protected List getSelectionFromWidget()

  Description copied from class: `StructuredViewer`
  Retrieves the selection, as a `List`, from the underlying widget.

  Specified by:
    `getSelectionFromWidget` in class `StructuredViewer`
  Returns:
    the list of selected elements

### indexForElement

    protected int indexForElement(Object element)

### inputChanged

    protected void inputChanged(Object input,
                                Object oldInput)

  Description copied from class: `Viewer`
  Internal hook method called when the input to this viewer is initially set or subsequently changed.

  The default implementation does nothing. Subclassers may override this method to do something when a viewer's input is set. A typical use is populate the viewer.

  Overrides:
    `inputChanged` in class `Viewer`
  Parameters:
    `input` - the new input of this viewer, or `null` if none
    `oldInput` - the old input element or `null` if there was previously no input

### internalRefresh

    protected void internalRefresh(Object element)

  Description copied from class: `StructuredViewer`
  Refreshes this viewer starting at the given element.

  Specified by:
    `internalRefresh` in class `StructuredViewer`
  Parameters:
    `element` - the element

### remove

    public void remove(Object[] elements)

  Removes the given elements from this list viewer. The selection is updated if required.

  This method should be called (by the content provider) when elements have been removed from the model, in order to cause the viewer to accurately reflect the model. This method only affects the viewer, not the model.

  Parameters:
    `elements` - the elements to remove

### remove

    public void remove(Object element)

  Removes the given element from this list viewer. The selection is updated if necessary.

  This method should be called (by the content provider) when a single element has been removed from the model, in order to cause the viewer to accurately reflect the model. This method only affects the viewer, not the model. Note that there is another method for efficiently processing the simultaneous removal of multiple elements.

  Parameters:
    `element` - the element

### setLabelProvider

    public void setLabelProvider(IBaseLabelProvider labelProvider)

  The list viewer implementation of this `Viewer` framework method ensures that the given label provider is an instance of `ILabelProvider`.

  Overrides:
    `setLabelProvider` in class `ContentViewer`
  Parameters:
    `labelProvider` - the label provider, or `null` if none

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

  Specified by:
    `setSelectionToWidget` in class `StructuredViewer`
  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.