DrivenChild<T extends Widget?> class

A widget that displays different child widgets based on events.

The DrivenChild class allows you to define different child widgets for various event states (e.g., enabled, error, disabled, loading, etc.) and conditionally display the appropriate widget based on the current events.

You can create a DrivenChild instance in several ways:

  • Specifying the enabled widget and optional widgets for other events.
  • Providing a single widget for all states using DrivenChild.all.
  • Using a map of custom event-widget associations. to determine the child widget based on events with DrivenChild.map.
  • Creating a resolver object with a callback using DrivenChild.by.
Inheritance
Implemented types

Constructors

DrivenChild(T atEnabled, {T? atError, T? atDisabled, T? atLoading, T? atDragged, T? atPressed, T? atHovered, T? atFocused, T? atIndeterminate, T? atSelected, Map<WidgetEvent, T?> registry = const {}, Key? key})
Creates a DrivenChild with the provided enabled widget and optional widgets for various event states.
const
DrivenChild.all(T atEnabled, {Key? key})
Creates a DrivenChild with the provided enabled widget for all states.
const
DrivenChild.by(DrivenPropertyResolver<T> callback)
Creates a DrivenChild with a callback function that determines the child widget.
factory
DrivenChild.map(T atEnabled, Map<WidgetEvent, T?> registry, {Key? key})
Creates a DrivenChild with the provided enabled widget and a map of custom event-widget associations to determine the child widget based on events.
const

Properties

atDisabled → T?
The widget to display when the WidgetEvent.disabled event occurs.
final
atDragged → T?
The widget to display when the WidgetEvent.dragged event occurs.
final
atEnabled → T
The widget to display when the widget is enabled.
final
atError → T?
The widget to display when the WidgetEvent.error event occurs.
final
atFocused → T?
The widget to display when the WidgetEvent.focused event occurs.
final
atHovered → T?
The widget to display when the WidgetEvent.hovered event occurs.
final
atIndeterminate → T?
The widget to display when the WidgetEvent.indeterminate event occurs.
final
atLoading → T?
The widget to display when the WidgetEvent.loading event occurs.
final
atPressed → T?
The widget to display when the WidgetEvent.pressed event occurs.
final
atSelected → T?
The widget to display when the WidgetEvent.selected event occurs.
final
driven Map<WidgetEvent, T?>
Combines the default and custom event-to-widget mappings.
no setter
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
registry Map<WidgetEvent, T?>
A map of custom event-widget associations.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
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
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolve(Set<WidgetEvent> events) → T
Returns a value of type T that depends on events.
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 widget.
inherited

Operators

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

Static Methods

evaluate<T extends Widget?>(T value, Set<WidgetEvent> events) → T
Evaluates a given value based on the provided events.
override