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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- CoreWidget
- ControlWidget
- Implementers
Constructors
- ControlWidget.new({Key? key, Map initArgs = const {}})
-
const
Properties
- autoMountControls → bool
-
Checks
args
and returns all ControlModels duringinitControls
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