SingleChildRenderObjectElement class - widgets library (original) (raw)

An Element that uses a SingleChildRenderObjectWidget as its configuration.

The child is optional.

This element subclass can be used for RenderObjectWidgets whoseRenderObjects use the RenderObjectWithChildMixin mixin. Such widgets are expected to inherit from SingleChildRenderObjectWidget.

Inheritance

Constructors

SingleChildRenderObjectElement(SingleChildRenderObjectWidget widget)

Creates an element that uses the given widget as its configuration.

Properties

buildScopeBuildScope

A BuildScope whose dirty Elements can only be rebuilt byBuildOwner.buildScope calls whose context argument is an Elementwithin this BuildScope.

no setterinherited

debugDoingBuildbool

Whether the widget is currently updating the widget or render tree.

no setterinherited

debugIsActivebool

Returns true if the Element is active.

no setterinherited

debugIsDefunctbool

Returns true if the Element is defunct.

no setterinherited

depthint

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.

no setterinherited

dirtybool

Returns true if the element has been marked as needing rebuilding.

no setterinherited

hashCodeint

The hash code for this object.

no setterinherited

mountedbool

Whether the Widget this context is associated with is currently mounted in the widget tree.

no setterinherited

ownerBuildOwner?

The object that manages the lifecycle of this element.

no setterinherited

renderObjectRenderObject

The underlying RenderObject for this element.

no setterinherited

renderObjectAttachingChildElement?

Returns the child of this Element that will insert a RenderObject into an ancestor of this Element to construct the render tree.

no setterinherited

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

sizeSize?

The size of the RenderBox returned by findRenderObject.

no setterinherited

slotObject?

Information set by parent to define where this child fits in its parent's child list.

no setterinherited

widgetWidget

The configuration for this element.

no setterinherited

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

debugExpectsRenderObjectForSlot(Object? slot)→ bool

Whether the child in the provided slot (or one of its descendants) must insert a RenderObject into its ancestor RenderObjectElement by callingRenderObjectElement.insertRenderObjectChild on it.

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 whenancestor'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 Elementto 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 aRenderObjectWidget, this is the render object that the widget created for itself. Otherwise, it is the render object of the first descendantRenderObjectWidget.

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.

inherited

insertRenderObjectChild(covariant RenderObject child, covariant Object? 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 Object? oldSlot, covariant Object? 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, int wrapWidth = 65})→ 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 SingleChildRenderObjectWidget 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

updateSlot(Object? newSlot)→ void

Called by updateSlotForChild when the framework needs to change the slot that this Element occupies in its ancestor.

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