Class 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:
  • Constructor Details

    • 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 Details

    • 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