Class WidgetCollection

  • All Implemented Interfaces:
    java.lang.Iterable<Widget>

    public class WidgetCollection
    extends java.lang.Object
    implements java.lang.Iterable<Widget>
    A simple collection of widgets to be used by panels and composites.

    The main purpose of this specialized collection is to implement Iterator.remove() in a way that delegates removal to its panel. This makes it much easier for the panel to implement an iterator that supports removal of widgets.

    • Constructor Summary

      Constructors 
      Constructor Description
      WidgetCollection​(HasWidgets parent)
      Constructs a new widget collection.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(Widget w)
      Adds a widget to the end of this collection.
      boolean contains​(Widget w)
      Determines whether a given widget is contained in this collection.
      Widget get​(int index)
      Gets the widget at the given index.
      int indexOf​(Widget w)
      Gets the index of the specified index.
      void insert​(Widget w, int beforeIndex)
      Inserts a widget before the specified index.
      java.util.Iterator<Widget> iterator()
      Gets an iterator on this widget collection.
      void remove​(int index)
      Removes the widget at the specified index.
      void remove​(Widget w)
      Removes the specified widget.
      int size()
      Gets the number of widgets in this collection.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • WidgetCollection

        public WidgetCollection​(HasWidgets parent)
        Constructs a new widget collection.
        Parameters:
        parent - the container whose HasWidgets.remove(Widget) will be delegated to by the iterator's Iterator.remove() method.
    • Method Detail

      • add

        public void add​(Widget w)
        Adds a widget to the end of this collection.
        Parameters:
        w - the widget to be added
      • contains

        public boolean contains​(Widget w)
        Determines whether a given widget is contained in this collection.
        Parameters:
        w - the widget to be searched for
        Returns:
        true if the widget is present
      • get

        public Widget get​(int index)
        Gets the widget at the given index.
        Parameters:
        index - the index to be retrieved
        Returns:
        the widget at the specified index
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is out of range
      • indexOf

        public int indexOf​(Widget w)
        Gets the index of the specified index.
        Parameters:
        w - the widget to be found
        Returns:
        the index of the specified widget, or -1 if it is not found
      • insert

        public void insert​(Widget w,
                           int beforeIndex)
        Inserts a widget before the specified index.
        Parameters:
        w - the widget to be inserted
        beforeIndex - the index before which the widget will be inserted
        Throws:
        java.lang.IndexOutOfBoundsException - if beforeIndex is out of range
      • iterator

        public java.util.Iterator<Widget> iterator()
        Gets an iterator on this widget collection. This iterator is guaranteed to implement remove() in terms of its containing HasWidgets.
        Specified by:
        iterator in interface java.lang.Iterable<Widget>
        Returns:
        an iterator
      • remove

        public void remove​(int index)
        Removes the widget at the specified index.
        Parameters:
        index - the index of the widget to be removed
        Throws:
        java.lang.IndexOutOfBoundsException - if index is out of range
      • remove

        public void remove​(Widget w)
        Removes the specified widget.
        Parameters:
        w - the widget to be removed
        Throws:
        java.util.NoSuchElementException - if the widget is not present
      • size

        public int size()
        Gets the number of widgets in this collection.
        Returns:
        the number of widgets