ItemSelection class

Manages a selection of items.

ItemSelection is an Iterable collection offering all standard iterable operations, such as querying whether it contains specific indexes, easily accessing the first or last index, or iterating all indexes in the selection with iterator.

It is often not necessary to create an ItemSelection instance yourself, because ItemSelectionController will create one internally if necessary. However, creating an ItemSelection instance gives you more control over the selection. First of all, it allows you to specify an initial selection, and secondly, you can listen to selection state changes for individual items.

Example

Widget build(BuildContext context) {
  // specify initial selection
  final mySelection = ItemSelection(0, 9);

  // listen to selection changes
  mySelection.addListener((int index, bool selected) {
    print('$index: $selected');
  });

  // pass the selection to the controller
  return ItemSelectionController(
    selection: mySelection,
    // ...
  );
}
Mixed in types
Available Extensions

Constructors

ItemSelection([int? start, int? end])
Creates a selection, optionally with an initial selection range from start to end.
ItemSelection.copy(ItemSelection other)
Creates a copy of the other selection.
factory

Properties

first int
Returns the first index in this selection.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Returns true if this selection is empty.
no setteroverride
isNotEmpty bool
Returns true if this selection is not empty.
no setteroverride
iterator Iterator<int?>
Returns an iterator for iterating the indexes this selection.
no setteroverride
last int
Returns the last index in this selection.
no setteroverride
length int
The number of elements in this.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single int?
Checks that this iterable has only one element, and returns that element.
no setterinherited

Methods

add(int start, [int? end]) → void
Adds a selection range from start to end.
addAll(ItemSelection other) → void
Adds all selection ranges to this selection, that are in the other selection.
addIndexListener(int index, ItemSelectionChangeCallback listener) → void
Adds a listener callback for selection changes at a specific index only.
inherited
addListener(ItemSelectionChangeCallback listener) → void
Adds a listener callback for selection changes at any index.
inherited
any(bool test(int? element)) bool
Checks whether any element of this iterable satisfies test.
inherited
cast<R>() Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
clear() → void
Clears this selection.
contains(covariant int? index) bool
Returns true if this selection contains the specified index.
override
dispose() → void
Discards the listener callbacks. After this method is called, the notifier object is no longer in a usable state and should be discarded (calls to addListener and removeListener will throw after the object is disposed).
inherited
elementAt(int index) int?
Returns the indexth element.
inherited
every(bool test(int? element)) bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(int? element)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(int? element), {int? orElse()?}) int?
The first element that satisfies the given predicate test.
inherited
fold<T>(T initialValue, T combine(T previousValue, int? element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<int?> other) Iterable<int?>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(int? element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
join([String separator = ""]) String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(int? element), {int? orElse()?}) int?
The last element that satisfies the given predicate test.
inherited
map<T>(T toElement(int? e)) Iterable<T>
The current elements of this iterable modified by toElement.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners(int index, bool selected) → void
Notifies all the registered listeners.
inherited
reduce(int? combine(int? value, int? element)) int?
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
remove(int start, [int? end]) → void
Removes the selection range from start to end.
removeAll(ItemSelection other) → void
Removes all selection ranges from this selection, that are in the other selection.
removeIndexListener(int index, ItemSelectionChangeCallback listener) → void
Removes a listener callback for selection changes at a specific index only.
inherited
removeListener(ItemSelectionChangeCallback listener) → void
Removes a listener callback for selection changes at any index.
inherited
replace(int start, [int? end]) → void
Replaces the existing selection with a selection range from start to end so that no changes are notified for the overlapping range.
singleWhere(bool test(int? element), {int? orElse()?}) int?
The single element that satisfies test.
inherited
skip(int count) Iterable<int?>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(int? value)) Iterable<int?>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) Iterable<int?>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(int? value)) Iterable<int?>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) List<int?>
Creates a List containing the elements of this Iterable.
inherited
toSet() Set<int?>
Creates a Set containing the same elements as this iterable.
inherited
toString() String
Returns a string representation of (some of) the elements of this.
inherited
where(bool test(int? element)) Iterable<int?>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited