Struct cursive::views::ProgressBar [] [src]

pub struct ProgressBar { /* fields omitted */ }

Animated bar showing a progress value.

This bar has an internal counter, and adapts the length of the displayed bar to the relative position of the counter between a minimum and maximum values.

It also prints a customizable text in the center of the bar, which defaults to the progression percentage.

Example

let bar = ProgressBar::new()
                      .with_task(|counter| {
                          // This closure is called in parallel.
                          for _ in 0..100 {
                              // Here we can communicate some
                              // advancement back to the bar.
                              counter.tick(1);
                          }
                      });

Methods

impl ProgressBar
[src]

[src]

Creates a new progress bar.

Default values:

  • min: 0
  • max: 100
  • value: 0

[src]

Sets the value to follow.

Use this to manually control the progress to display by directly modifying the value pointed to by value.

[src]

Starts a function in a separate thread, and monitor the progress.

f will be given a Counter to increment the bar's progress.

This does not reset the value, so it can be called several times to advance the progress in multiple sessions.

[src]

Starts a function in a separate thread, and monitor the progress.

Chainable variant.

[src]

Sets the label generator.

The given function will be called with (value, (min, max)). Its output will be used as the label to print inside the progress bar.

The default one shows a percentage progress:

fn make_progress(value: usize, (min, max): (usize, usize)) -> String {
    let percent = 101 * (value - min) / (1 + max - min);
    format!("{} %", percent)
}

[src]

Sets the minimum value.

When value equals min, the bar is at the minimum level.

If self.min > max, self.min is set to max.

[src]

Sets the maximum value.

When value equals max, the bar is at the maximum level.

If min > self.max, self.max is set to min.

[src]

Sets the min and max range for the value.

If min > max, swap the two values.

[src]

Sets the current value.

Value is clamped between min and max.

Trait Implementations

impl Default for ProgressBar
[src]

[src]

Returns the "default value" for a type. Read more

impl View for ProgressBar
[src]

[src]

Draws the view with the given printer (includes bounds) and focus.

[src]

Called when a key was pressed. Read more

[src]

Returns the minimum size the view requires with the given restrictions. Read more

[src]

Returns true if the view content changed since last layout phase. Read more

[src]

Called once the size for this view has been decided, Read more

[src]

Runs a closure on the view identified by the given selector. Read more

[src]

Moves the focus to the view identified by the given selector. Read more

[src]

This view is offered focus. Will it take it? Read more

Auto Trait Implementations

impl !Send for ProgressBar

impl !Sync for ProgressBar