MultiChildRenderObjectElement class

An Element that uses a MultiChildRenderObjectWidget as its configuration.

This element subclass can be used for RenderObjectWidgets whose RenderObjects use the ContainerRenderObjectMixin mixin with a parent data type that implements ContainerParentDataMixin<RenderObject>. Such widgets are expected to inherit from MultiChildRenderObjectWidget.



MultiChildRenderObjectElement(MultiChildRenderObjectWidget widget)
Creates an element that uses the given widget as its configuration.


children Iterable<Element>
The current list of children of this element. [...]
@protected, @visibleForTesting, read-only
widget MultiChildRenderObjectWidget
The configuration for this element.
read-only, override
depth int
An integer that is guaranteed to be greater than the parent's, if any. The element at the root of the tree must have a depth greater than 0.
read-only, inherited
dirty bool
Returns true if the element has been marked as needing rebuilding.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
owner BuildOwner
The object that manages the lifecycle of this element.
read-only, inherited
renderObject RenderObject
The underlying RenderObject for this element.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
size Size
The size of the RenderBox returned by findRenderObject. [...]
read-only, inherited
slot → dynamic
Information set by parent to define where this child fits in its parent's child list. [...]
read-only, inherited


forgetChild(Element child) → void
Remove the given child from the element's child list, in preparation for the child being reused elsewhere in the element tree. [...]
insertChildRenderObject(covariant RenderObject child, covariant Element slot) → void
Insert the given child into renderObject at the given slot. [...]
mount(Element parent, dynamic newSlot) → void
Add this element to the tree in the given slot of the given parent. [...]
moveChildRenderObject(covariant RenderObject child, covariant dynamic slot) → void
Move the given child to the given slot. [...]
removeChildRenderObject(covariant RenderObject child) → void
Remove the given child from renderObject. [...]
update(covariant MultiChildRenderObjectWidget newWidget) → void
Change the widget used to configure this element. [...]
visitChildren(ElementVisitor visitor) → void
Calls the argument for each child. Must be overridden by subclasses that support having children. [...]
activate() → void
Transition from the "inactive" to the "active" lifecycle state. [...]
@mustCallSuper, inherited
ancestorInheritedElementForWidgetOfExactType(Type targetType) InheritedElement
Obtains the element corresponding to the nearest widget of the given type, which must be the type of a concrete InheritedWidget subclass. [...]
ancestorRenderObjectOfType(TypeMatcher matcher) RenderObject
Returns the RenderObject object of the nearest ancestor RenderObjectWidget widget that matches the given TypeMatcher. [...]
ancestorStateOfType(TypeMatcher matcher) State<StatefulWidget>
Returns the State object of the nearest ancestor StatefulWidget widget that matches the given TypeMatcher. [...]
ancestorWidgetOfExactType(Type targetType) Widget
Returns the nearest ancestor widget of the given type, which must be the type of a concrete Widget subclass. [...]
attachRenderObject(dynamic newSlot) → void
Add renderObject to the render tree at the location specified by slot. [...]
deactivate() → void
Transition from the "active" to the "inactive" lifecycle state. [...]
deactivateChild(Element child) → void
Move the given element to the list of inactive elements and detach its render object from the render tree. [...]
@protected, inherited
debugDeactivated() → void
Called, in debug mode, after children have been deactivated (see deactivate). [...]
@mustCallSuper, inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
debugGetCreatorChain(int limit) String
Returns a description of what caused this element to be created. [...]
debugGetDiagnosticChain() List<Element>
Returns the parent chain from this element back to the root of the tree. [...]
debugVisitOnstageChildren(ElementVisitor visitor) → void
Calls the argument for each child considered onstage. [...]
detachRenderObject() → void
Remove renderObject from the render tree. [...]
didChangeDependencies() → void
Called when a dependency of this element changes. [...]
@mustCallSuper, inherited
findRenderObject() RenderObject
The current RenderObject for the widget. If the widget is a RenderObjectWidget, this is the render object that the widget created for itself. Otherwise, it is the render object of the first descendant RenderObjectWidget. [...]
inflateWidget(Widget newWidget, dynamic newSlot) Element
Create an element for the given widget and add it as a child of this element in the given slot. [...]
@protected, inherited
inheritFromElement(InheritedElement ancestor, { Object aspect }) InheritedWidget
Registers this build context with ancestor such that when ancestor's widget changes this build context is rebuilt. [...]
inheritFromWidgetOfExactType(Type targetType, { Object aspect }) InheritedWidget
Obtains the nearest widget of the given type, which must be the type of a concrete InheritedWidget subclass, and registers this build context with that widget such that when that widget changes (or a new widget of that type is introduced, or the widget goes away), this build context is rebuilt so that it can obtain new values from that widget. [...]
markNeedsBuild() → void
Marks the element as dirty and adds it to the global list of widgets to rebuild in the next frame. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
performRebuild() → void
Called by rebuild() after the appropriate checks have been made.
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload. [...]
@mustCallSuper, @protected, inherited
rebuild() → void
Called by the BuildOwner when BuildOwner.scheduleBuildFor has been called to mark this element dirty, by mount when the element is first built, and by update when the widget has changed.
rootAncestorStateOfType(TypeMatcher matcher) State<StatefulWidget>
Returns the State object of the furthest ancestor StatefulWidget widget that matches the given TypeMatcher. [...]
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this object.
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A short, textual description of this element.
unmount() → void
Transition from the "inactive" to the "defunct" lifecycle state. [...]
updateChild(Element child, Widget newWidget, dynamic newSlot) Element
Update the given child with the given new configuration. [...]
@protected, inherited
updateChildren(List<Element> oldChildren, List<Widget> newWidgets, { Set<Element> forgottenChildren }) List<Element>
Updates the children of this element to use new widgets. [...]
@protected, inherited
updateSlotForChild(Element child, dynamic newSlot) → void
Change the slot that the given child occupies in its parent. [...]
@protected, inherited
visitAncestorElements(bool visitor(Element element)) → void
Walks the ancestor chain, starting with the parent of this build context's widget, invoking the argument for each ancestor. The callback is given a reference to the ancestor widget's corresponding Element object. The walk stops when it reaches the root widget or when the callback returns false. The callback must not return null. [...]
visitChildElements(ElementVisitor visitor) → void
Wrapper around visitChildren for BuildContext.


operator ==(Object other) bool
The equality operator. [...]