Class Selection<T>

java.lang.Object
arc.scene.utils.Selection<T>
All Implemented Interfaces:
Disableable, Iterable<T>

public class Selection<T> extends Object implements Disableable, Iterable<T>
Manages selected objects. Optionally fires a ChangeListener.ChangeEvent on an element. Selection changes can be vetoed via SceneEvent.cancel().
  • Constructor Details

    • Selection

      public Selection()
  • Method Details

    • setActor

      public void setActor(Element element)
      Parameters:
      element - An element to fire ChangeListener.ChangeEvent on when the selection changes, or null.
    • choose

      public void choose(T item)
      Selects or deselects the specified item based on how the selection is configured, whether ctrl is currently pressed, etc. This is typically invoked by user interaction.
    • hasItems

      public boolean hasItems()
    • isEmpty

      public boolean isEmpty()
    • size

      public int size()
    • items

      public OrderedSet<T> items()
    • first

      public T first()
      Returns the first selected item, or null.
    • set

      public void set(T item)
      Sets the selection to only the specified item.
    • setAll

      public void setAll(Seq<T> items)
    • add

      public void add(T item)
      Adds the item to the selection.
    • addAll

      public void addAll(Seq<T> items)
    • remove

      public void remove(T item)
    • removeAll

      public void removeAll(Seq<T> items)
    • clear

      public void clear()
    • changed

      protected void changed()
      Called after the selection changes. The default implementation does nothing.
    • fireChangeEvent

      public boolean fireChangeEvent()
      Fires a change event on the selection's element, if any. Called internally when the selection changes, depending on setProgrammaticChangeEvents(boolean).
      Returns:
      true if the change should be undone.
    • contains

      public boolean contains(T item)
    • getLastSelected

      public T getLastSelected()
      Makes a best effort to return the last item selected, else returns an arbitrary item or null if the selection is empty.
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T>
    • toArray

      public Seq<T> toArray()
    • toArray

      public Seq<T> toArray(Seq<T> array)
    • isDisabled

      public boolean isDisabled()
      Specified by:
      isDisabled in interface Disableable
    • setDisabled

      public void setDisabled(boolean isDisabled)
      If true, prevents choose(Object) from changing the selection. Default is false.
      Specified by:
      setDisabled in interface Disableable
    • getToggle

      public boolean getToggle()
    • setToggle

      public void setToggle(boolean toggle)
      If true, prevents choose(Object) from clearing the selection. Default is false.
    • getMultiple

      public boolean getMultiple()
    • setMultiple

      public void setMultiple(boolean multiple)
      If true, allows choose(Object) to select multiple items. Default is false.
    • getRequired

      public boolean getRequired()
    • setRequired

      public void setRequired(boolean required)
      If true, prevents choose(Object) from selecting none. Default is false.
    • setProgrammaticChangeEvents

      public void setProgrammaticChangeEvents(boolean programmaticChangeEvents)
      If false, only choose(Object) will fire a change event. Default is true.
    • toString

      public String toString()
      Overrides:
      toString in class Object