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:
    ListViewer
    • 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
      • 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
      • 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
      • 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