ProgressBar class

Themed progress bar for displaying determinate progress.

Usage:

  1. Static display (caller controls updates):
final bar = ProgressBar('Downloading');
bar.show(current: 0, total: 100);
// ... do work ...
bar.show(current: 50, total: 100);
bar.clear();
  1. With callback (caller provides progress):
ProgressBar('Processing').runWith((update) {
  for (int i = 0; i <= 100; i++) {
    update(i, 100);
  }
});

Constructors

ProgressBar(String prompt, {int width = 36, PromptTheme theme = PromptTheme.dark})
Creates a progress bar.

Properties

hashCode → int
The hash code for this object.
no setterinherited
prompt → String
The label displayed above the progress bar.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
theme → PromptTheme
The theme controlling the colors used for the progress bar and text.
final
width → int
The width of the progress bar in characters.
final

Methods

clear() → void
Clears the indicator from the terminal and resets internal state.
inherited
initializeAutomatically() → void
Captures the ambient terminal and its automatically detected execution mode for a directly constructed indicator.
inherited
initializeFromTerminice(Terminice origin) → void
Captures the terminal and execution policy for a factory-created indicator.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
prepareFrame() → RenderOutput
Prepares a RenderOutput, clears the previous frame if one was drawn, and returns the output for the subclass to render into.
inherited
renderIndicator(String plainLine, void renderRich(RenderOutput output)) → void
Renders one indicator update according to the captured execution policy.
inherited
runSession(void body(), {required String plainStart, required String plainSuccess}) → void
Runs a callback inside a cursor-hidden terminal session, calling clear when the callback finishes.
inherited
runTaskSession<T>(Future<T> run(Terminal terminal, TerminiceFallbackMode directFallbackMode), {required String plainStart}) → Future<T>
Adds the one start line required by task-like indicator sugar while the existing task renderer remains responsible for its single final line.
inherited
runWith(void callback(void update(int current, int total))) → void
Runs the progress bar with a callback that provides updates.
show({required int current, required int total, int shimmerPhase = 0}) → void
Shows the progress bar at the given progress.
toString() → String
A string representation of this object.
inherited
trackStream<T>(Stream<T> source, {required int total, String? message, String? success, TaskErrorMessage? failure, TaskErrorMessage? cancel, TaskCancelPredicate? isCanceled, TaskDisplay display = TaskDisplay.auto, TaskFinalBehavior finalBehavior = TaskFinalBehavior.persist, Duration interval = const Duration(milliseconds: 80)}) → Future<List<T>>
Collects source while advancing the progress bar once per event.
whileRunning<T>(FutureOr<T> run(TaskProgress progress), {required int total, String? message, String? success, TaskErrorMessage? failure, TaskErrorMessage? cancel, TaskCancelPredicate? isCanceled, TaskDisplay display = TaskDisplay.auto, TaskFinalBehavior finalBehavior = TaskFinalBehavior.persist, Duration interval = const Duration(milliseconds: 80)}) → Future<T>
Runs run with a progress handle while rendering determinate progress.

Operators

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