Class FilteredList

All Implemented Interfaces:
Drawable

public class FilteredList extends Composite
A composite widget which holds a list of elements for user selection. The elements are sorted alphabetically. Optionally, the elements can be filtered and duplicate entries can be hidden (folding).
Since:
2.0
  • Constructor Details

    • FilteredList

      public FilteredList(Composite parent, int style, ILabelProvider labelProvider, boolean ignoreCase, boolean allowDuplicates, boolean matchEmptyString)
      Constructs a new filtered list.
      Parameters:
      parent - the parent composite
      style - the widget style
      labelProvider - the label renderer
      ignoreCase - specifies whether sorting and folding is case sensitive
      allowDuplicates - specifies whether folding of duplicates is desired
      matchEmptyString - specifies whether empty filter strings should filter everything or nothing
  • Method Details

    • setElements

      public void setElements(Object[] elements)
      Sets the list of elements.
      Parameters:
      elements - the elements to be shown in the list.
    • isEmpty

      public boolean isEmpty()
      Tests if the list (before folding and filtering) is empty.
      Returns:
      returns true if the list is empty, false otherwise.
    • setFilterMatcher

      public void setFilterMatcher(FilteredList.FilterMatcher filterMatcher)
      Sets the filter matcher.
      Parameters:
      filterMatcher - the FilteredList.FilterMatcher to set.
    • setComparator

      public void setComparator(Comparator comparator)
      Sets a custom comparator for sorting the list.
      Parameters:
      comparator - the Comparator to set.
    • addSelectionListener

      public void addSelectionListener(SelectionListener listener)
      Adds a selection listener to the list.
      Parameters:
      listener - the selection listener to be added.
    • removeSelectionListener

      public void removeSelectionListener(SelectionListener listener)
      Removes a selection listener from the list.
      Parameters:
      listener - the selection listener to be removed.
    • setSelection

      public void setSelection(int[] selection)
      Sets the selection of the list. Empty or null array removes selection.
      Parameters:
      selection - an array of indices specifying the selection.
    • getSelectionIndices

      public int[] getSelectionIndices()
      Returns the selection of the list.
      Returns:
      returns an array of indices specifying the current selection.
    • getSelectionIndex

      public int getSelectionIndex()
      Returns the selection of the list. This is a convenience function for getSelectionIndices().
      Returns:
      returns the index of the selection, -1 for no selection.
    • setSelection

      public void setSelection(Object[] elements)
      Sets the selection of the list. Empty or null array removes selection.
      Parameters:
      elements - the array of elements to be selected.
    • getSelection

      public Object[] getSelection()
      Returns an array of the selected elements. The type of the elements returned in the list are the same as the ones passed with setElements. The array does not contain the rendered strings.
      Returns:
      returns the array of selected elements.
    • setFilter

      public void setFilter(String filter)
      Sets the filter pattern. Current only prefix filter patterns are supported.
      Parameters:
      filter - the filter pattern.
    • getFilter

      public String getFilter()
      Returns the filter pattern.
      Returns:
      returns the filter pattern.
    • getFoldedElements

      public Object[] getFoldedElements(int index)
      Returns all elements which are folded together to one entry in the list.
      Parameters:
      index - the index selecting the entry in the list.
      Returns:
      returns an array of elements folded together, null if index is out of range.
    • getAllowDuplicates

      public boolean getAllowDuplicates()
      Returns whether or not duplicates are allowed.
      Returns:
      true indicates duplicates are allowed
    • setAllowDuplicates

      public void setAllowDuplicates(boolean allowDuplicates)
      Sets whether or not duplicates are allowed. If this value is set the items should be set again for this value to take effect.
      Parameters:
      allowDuplicates - true indicates duplicates are allowed
    • getIgnoreCase

      public boolean getIgnoreCase()
      Returns whether or not case should be ignored.
      Returns:
      true if case should be ignored
    • setIgnoreCase

      public void setIgnoreCase(boolean ignoreCase)
      Sets whether or not case should be ignored If this value is set the items should be set again for this value to take effect.
      Parameters:
      ignoreCase - true if case should be ignored
    • getMatchEmptyString

      public boolean getMatchEmptyString()
      Returns whether empty filter strings should filter everything or nothing.
      Returns:
      true for the empty string to match all items, false to match none
    • setMatchEmptyString

      public void setMatchEmptyString(boolean matchEmptyString)
      Sets whether empty filter strings should filter everything or nothing. If this value is set the items should be set again for this value to take effect.
      Parameters:
      matchEmptyString - true for the empty string to match all items, false to match none
    • getLabelProvider

      public ILabelProvider getLabelProvider()
      Returns the label provider for the items.
      Returns:
      the label provider
    • setLabelProvider

      public void setLabelProvider(ILabelProvider labelProvider)
      Sets the label provider. If this value is set the items should be set again for this value to take effect.
      Parameters:
      labelProvider - the label provider
    • getAccessible

      public Accessible getAccessible()
      Returns the accessible object for the receiver. If this is the first time this object is requested, then the object is created and returned.
      Overrides:
      getAccessible in class Control
      Returns:
      the accessible object
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      Since:
      3.3
      See Also: