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.

See also:

Inheritance

Constructors

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

Properties

children Iterable<Element>
The current list of children of this element.
read-only
debugDoingBuild bool
Whether the widget is currently updating the widget or render tree.
read-onlyinherited
debugIsActive bool
Returns true if the Element is active.
read-onlyinherited
debugIsDefunct bool
Returns true if the Element is defunct.
read-onlyinherited
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-onlyinherited
dirty bool
Returns true if the element has been marked as needing rebuilding.
read-onlyinherited
hashCode int
The hash code for this object.
read-onlyinherited
mounted bool
Whether the Widget this context is associated with is currently mounted in the widget tree.
read-onlyinherited
owner BuildOwner?
The object that manages the lifecycle of this element.
read-onlyinherited
renderObject ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>>
The underlying RenderObject for this element.
read-onlyoverride
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited
size Size?
The size of the RenderBox returned by findRenderObject.
read-onlyinherited
slot Object?
Information set by parent to define where this child fits in its parent's child list.
read-onlyinherited
widget Widget
The configuration for this element.
read-onlyinherited

Methods

activate() → void
Transition from the "inactive" to the "active" lifecycle state.
inherited
attachNotificationTree() → void
Called in Element.mount and Element.activate to register this element in the notification tree.
inherited
attachRenderObject(Object? newSlot) → void
Add renderObject to the render tree at the location specified by newSlot.
inherited
deactivate() → void
Transition from the "active" to the "inactive" lifecycle state.
inherited
deactivateChild(Element child) → void
Move the given element to the list of inactive elements and detach its render object from the render tree.
inherited
debugDeactivated() → void
Called, in debug mode, after children have been deactivated (see deactivate).
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
debugGetCreatorChain(int limit) String
Returns a description of what caused this element to be created.
inherited
debugGetDiagnosticChain() List<Element>
Returns the parent chain from this element back to the root of the tree.
inherited
debugVisitOnstageChildren(ElementVisitor visitor) → void
Calls the argument for each child considered onstage.
inherited
dependOnInheritedElement(InheritedElement ancestor, {Object? aspect}) InheritedWidget
Registers this build context with ancestor such that when ancestor's widget changes this build context is rebuilt.
inherited
dependOnInheritedWidgetOfExactType<T extends InheritedWidget>({Object? aspect}) → T?
Returns the nearest widget of the given type T and creates a dependency on it, or null if no appropriate widget is found.
inherited
describeElement(String name, {DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty}) DiagnosticsNode
Returns a description of the Element associated with the current build context.
inherited
describeMissingAncestor({required Type expectedAncestorType}) List<DiagnosticsNode>
Adds a description of a specific type of widget missing from the current build context's ancestry tree.
inherited
describeOwnershipChain(String name) DiagnosticsNode
Adds a description of the ownership chain from a specific Element to the error report.
inherited
describeWidget(String name, {DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty}) DiagnosticsNode
Returns a description of the Widget associated with the current build context.
inherited
detachRenderObject() → void
Remove renderObject from the render tree.
inherited
didChangeDependencies() → void
Called when a dependency of this element changes.
inherited
dispatchNotification(Notification notification) → void
Start bubbling this notification at the given build context.
inherited
doesDependOnInheritedElement(InheritedElement ancestor) bool
Returns true if dependOnInheritedElement was previously called with ancestor.
inherited
findAncestorRenderObjectOfType<T extends RenderObject>() → T?
Returns the RenderObject object of the nearest ancestor RenderObjectWidget widget that is an instance of the given type T.
inherited
findAncestorStateOfType<T extends State<StatefulWidget>>() → T?
Returns the State object of the nearest ancestor StatefulWidget widget that is an instance of the given type T.
inherited
findAncestorWidgetOfExactType<T extends Widget>() → T?
Returns the nearest ancestor widget of the given type T, which must be the type of a concrete Widget subclass.
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.
inherited
findRootAncestorStateOfType<T extends State<StatefulWidget>>() → T?
Returns the State object of the furthest ancestor StatefulWidget widget that is an instance of the given type T.
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.
override
getElementForInheritedWidgetOfExactType<T extends InheritedWidget>() InheritedElement?
Obtains the element corresponding to the nearest widget of the given type T, which must be the type of a concrete InheritedWidget subclass.
inherited
getInheritedWidgetOfExactType<T extends InheritedWidget>() → T?
Returns the nearest widget of the given InheritedWidget subclass T or null if an appropriate ancestor is not found.
inherited
inflateWidget(Widget newWidget, Object? newSlot) Element
Create an element for the given widget and add it as a child of this element in the given slot.
override
insertRenderObjectChild(covariant RenderObject child, covariant IndexedSlot<Element?> slot) → void
Insert the given child into renderObject at the given slot.
override
markNeedsBuild() → void
Marks the element as dirty and adds it to the global list of widgets to rebuild in the next frame.
inherited
mount(Element? parent, Object? newSlot) → void
Add this element to the tree in the given slot of the given parent.
override
moveRenderObjectChild(covariant RenderObject child, covariant IndexedSlot<Element?> oldSlot, covariant IndexedSlot<Element?> newSlot) → void
Move the given child from the given old slot to the given new slot.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
performRebuild() → void
Cause the widget to update itself.
inherited
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
rebuild({bool force = false}) → void
Cause the widget to update itself. In debug builds, also verify various invariants.
inherited
removeRenderObjectChild(covariant RenderObject child, covariant Object? slot) → void
Remove the given child from renderObject.
override
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this element.
inherited
unmount() → void
Transition from the "inactive" to the "defunct" lifecycle state.
inherited
update(covariant MultiChildRenderObjectWidget newWidget) → void
Change the widget used to configure this element.
override
updateChild(Element? child, Widget? newWidget, Object? newSlot) Element?
Update the given child with the given new configuration.
inherited
updateChildren(List<Element> oldChildren, List<Widget> newWidgets, {Set<Element>? forgottenChildren, List<Object?>? slots}) List<Element>
Updates the children of this element to use new widgets.
inherited
updateSlotForChild(Element child, Object? newSlot) → void
Change the slot that the given child occupies in its parent.
inherited
visitAncestorElements(ConditionalElementVisitor visitor) → void
Walks the ancestor chain, starting with the parent of this build context's widget, invoking the argument for each ancestor.
inherited
visitChildElements(ElementVisitor visitor) → void
Wrapper around visitChildren for BuildContext.
inherited
visitChildren(ElementVisitor visitor) → void
Calls the argument for each child. Must be overridden by subclasses that support having children.
override

Operators

operator ==(Object other) bool
Compare two widgets for equality.
inherited