ControlRoot class
The root widget for the control framework. It initializes the theme, application states, and other global dependencies. It's the main entry point for a Control-based application structure.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- CoreWidget
- ControlWidget
- ControlRoot
Constructors
-
ControlRoot({ThemeConfig? theme, AppState? initState, List<
AppStateBuilder> states = const [], List stateNotifiers = const [], List builders = const [], required Widget builder(RootContext context, Widget home), dynamic onSetupChanged(RootContext context)?, Map initArgs = const {}}) -
const
Properties
- autoMountControls → bool
-
If
true, all ControlModels found in the widget's arguments will be automatically initialized and mounted. Defaults tofalse.no setterinherited - builder → Widget Function(RootContext context, Widget home)
-
A function that builds the root widget tree, providing access to the RootContext.
final
- builders → List
-
A list of additional builders to be evaluated and registered.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- initArgs → Map
-
A map of initial arguments to be passed to the CoreContext.
finalinherited
- initState → AppState?
-
The initial AppState to use when the app starts. Defaults to AppState.init.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onSetupChanged → dynamic Function(RootContext context)?
-
A callback that is triggered when the application's global setup changes (e.g., theme or language).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stateNotifiers → List
-
A list of objects that notify the ControlRoot of state changes (e.g.,
Observables).final -
states
→ List<
AppStateBuilder> -
A list of AppStateBuilders that define the available states and their builders.
final
- theme → ThemeConfig?
-
Configuration for the application's theme.
final
Methods
-
build(
BuildContext context) → Widget -
Builds the widget's UI.
override
-
createElement(
) → CoreContext -
Creates a StatefulElement to manage this widget's location in the tree.
override
-
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 -
A preliminary initialization method called by the CoreContext.
This is a good place for mixins to hook into the initialization process.
inherited
-
initControls(
CoreContext context) → List< ControlModel> -
Returns a list of ControlModels to be initialized and managed by this widget.
This method is called once during state initialization.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChangeState(
ControlState< _ControlWidgetBase> state, dynamic value) → void -
Called when the state is notified of a change from one of its notifiers.
inherited
-
onDependencyChanged(
CoreContext context) → void -
Called when a dependency of this widget changes.
See State.didChangeDependencies for more information.
inherited
-
onDispose(
) → void -
Called when the widget is being disposed.
inherited
-
onInit(
Map args, CoreContext context) → void -
Called once when the state is fully initialized and the context is available.
override
-
onInitState(
ControlState< _ControlWidgetBase> state) → void -
Called after the state and all its controls have been initialized.
inherited
-
onUpdate(
CoreContext context, CoreWidget oldWidget) → void -
Called when the widget is updated with new configuration.
See State.didUpdateWidget for more information.
inherited
-
rebuild(
CoreContext context) → Widget -
Abstract method for building the widget's UI.
Implemented by subclasses like ControlWidget and SingleControlWidget.
inherited
-
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