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 Detail

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

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

        public void setComparator​(Comparator comparator)
        Sets a custom comparator for sorting the list.
        Parameters:
        comparator -
      • 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