API Reference 0.3.24dart_web_toolkit_uiWidgetIterator

WidgetIterator class

class WidgetIterator implements RemoveIterator<Widget> {

 WidgetCollection _widgetCollection;

 WidgetIterator(this._widgetCollection);

 int index = -1;

 //***************************
 // Implementation of Iterator
 //***************************

 bool moveNext() {
   return index < (_widgetCollection._size - 1);
 }

 Widget get current => _getCurrent();
 
 Widget _getCurrent() {
   if (index >= _widgetCollection._size) {
     throw new Exception("NoSuchElement");
   }
   return _widgetCollection._array[++index];
 }

 //*********************************
 // Implementation of RemoveIterator
 //*********************************

 void remove() {
   if ((index < 0) || (index >= _widgetCollection._size)) {
     throw new Exception("IllegalState");
   }
   _widgetCollection._parent.remove(_widgetCollection._array[index--]);
 }
}

Implements

RemoveIterator<Widget>

Constructors

new WidgetIterator(WidgetCollection _widgetCollection) #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
WidgetIterator(this._widgetCollection);

Properties

final Widget current #

Returns the current element.

Return null if the iterator has not yet been moved to the first element, or if the iterator has been moved after the last element of the Iterable.

docs inherited from Iterator<E>
Widget get current => _getCurrent();

int index #

int index = -1

Methods

bool moveNext() #

Moves to the next element. Returns true if current contains the next element. Returns false, if no element was left.

It is safe to invoke moveNext even when the iterator is already positioned after the last element. In this case moveNext has no effect.

docs inherited from Iterator<E>
bool moveNext() {
 return index < (_widgetCollection._size - 1);
}

void remove() #

Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to {@link #next}. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

@throws UnsupportedOperationException if the {@code remove}

    operation is not supported by this iterator

@throws IllegalStateException if the {@code next} method has not

    yet been called, or the {@code remove} method has already
    been called after the last call to the {@code next}
    method
docs inherited from RemoveIterator<Widget>
void remove() {
 if ((index < 0) || (index >= _widgetCollection._size)) {
   throw new Exception("IllegalState");
 }
 _widgetCollection._parent.remove(_widgetCollection._array[index--]);
}