ControlWidget class abstract

Entry Widget control state management with single ControlModel. Multiple observers and multiple state notifiers can request rebuild of this widget.

onInit is called right after initState and before build.

  • context is here fully usable without restrictions.
  • Best place to register state notifiers, hooks and other resources.

initControls registers given ControlModels to this Widget. Check DisposeHandler and ReferenceCounter to prevent early dispose of given Models. Retrieve these references with CoreContext.get.

Check InitProvider and LazyProvider mixins to inject this Widget. Check OnLayout mixin to process resources after view is adjusted. Check BaseControlWidget for lightweight implementation.

Inheritance
Implementers

Constructors

ControlWidget.new({Key? key, Map initArgs = const {}})
const

Properties

autoMountControls bool
Checks args and returns all ControlModels during initControls and these Models will be initialized by this Widget. By default set to 'false' to prevent unintended rebuilds.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
initArgs Map
Init args of this widget. This is passed to CoreContext. Retrieve concrete arg with CoreContext.get, CoreContext.use when needed.
finalinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(CoreContext context) Widget
Build actual Widget. Use context to work with references, dependencies, state management, routing, etc. Check CoreContext as underlying Element of this Widget.
createElement() CoreContext
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() ControlState<_ControlWidgetBase>
Creates the mutable state for this widget at a given 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
init(CoreContext context) → void
Initial widget initialization. Use your mixins here.
inherited
initControls(CoreContext context) List<ControlModel>
This is a place where to fill all required ControlModels for this Widget. Called during Widget/State initialization phase.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onChangeState(ControlState<_ControlWidgetBase> state, dynamic value) → void
Callback to notify state changes.
inherited
onDependencyChanged(CoreContext context) → void
Called whenever dependency of Widget is changed. Check State.didChangeDependencies for more info. Just callback from State.
inherited
onDispose() → void
inherited
onInit(Map args, CoreContext context) → void
Called right after initState and before build. context is here fully usable without restrictions.
inherited
onInitState(ControlState<_ControlWidgetBase> state) → void
Callback to notify state initialization completed.
inherited
onUpdate(CoreContext context, CoreWidget oldWidget) → void
Called whenever Widget requests update. Check State.didUpdateWidget for more info. Just callback from State.
inherited
rebuild(CoreContext context) Widget
Abstract rebuild implementation - override with proper build in concrete class.
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 widget.
inherited

Operators

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