ChartBuilder class
A convenience widget that rebuilds whenever a ChartModel changes.
ChartBuilder subscribes to the given model and calls builder each time the model notifies its listeners. The returned widget is typically one of the chart widgets (SparklineChart, LineChart, etc.) but can be any widget tree.
final model = ChartModel(
type: ChartType.line,
values: [10, 20, 15, 30],
showGrid: true,
);
ChartBuilder(
model: model,
builder: (context, model) => LineChart(
values: model.values,
showGrid: model.showGrid,
width: 60,
height: 12,
),
)
Under the hood this is a thin wrapper around ListenableBuilder that provides typed access to the ChartModel in the builder callback.
- Inheritance
-
- Object
- Widget
- StatefulWidget
- ChartBuilder
Constructors
- ChartBuilder({required ChartModel model, required Widget builder(BuildContext context, ChartModel model), Key? key})
-
Creates a ChartBuilder that rebuilds when
modelchanges.
Properties
- builder → Widget Function(BuildContext context, ChartModel model)
-
Called on each rebuild to produce the widget subtree.
final
-
children
→ List<
Widget> -
Child widgets that receive forwarded messages.
no setterinherited
- debugRenderObjectPassthrough → bool
-
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
- focusable → bool
-
Whether this widget can receive keyboard focus.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Unique identifier for this widget.
no setterinherited
- key → Key?
-
Key for preserving widget identity.
finalinherited
- model → ChartModel
-
The observable chart model to subscribe to.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- theme → Theme
-
Access the current theme.
no setterinherited
Methods
-
buildCachedView<
T> (T builder(), Object? cacheKey) → T -
Returns a cached view if the cache key matches.
inherited
-
createState(
) → State< ChartBuilder> -
Creates the mutable State associated with this widget.
override
-
handleInit(
) → Cmd? -
Override this instead of init for widget-specific initialization.
inherited
-
handleIntercept(
Msg msg) → (Widget, Cmd?) -
Override this to handle messages before they reach children.
inherited
-
handleUpdate(
Msg msg) → (Widget, Cmd?) -
Override this to handle messages specific to this widget.
inherited
-
init(
) → Cmd? -
Called once when the widget is first mounted.
inherited
-
invalidateCachedView(
) → void -
Clears any cached view for this widget.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
Msg msg) → (Model, Cmd?) -
Handles messages by forwarding to children then calling handleUpdate.
inherited
-
view(
) → Object -
Renders the widget to a string or View.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited