Struct cursive::views::ProgressBar [−][src]
pub struct ProgressBar { /* fields omitted */ }
Expand description
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.
The bar defaults to the current theme’s highlight color, but that can be customized.
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);
}
});
Implementations
Creates a new progress bar.
Default values:
min
: 0max
: 100value
: 0
Sets the value to follow.
Use this to manually control the progress to display
by directly modifying the value pointed to by value
.
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.
Starts a function in a separate thread, and monitor the progress.
Chainable variant.
pub fn with_label<F>(self, label_maker: F) -> ProgressBar where
F: 'static + Fn(usize, (usize, usize)) -> String,
pub fn with_label<F>(self, label_maker: F) -> ProgressBar where
F: 'static + Fn(usize, (usize, usize)) -> String,
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)
}
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.
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
.
Chainable variant.
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
.
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
.
Chainable variant.
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
.
Sets the min
and max
range for the value.
If min > max
, swap the two values.
Chainable variant.
Sets the min
and max
range for the value.
If min > max
, swap the two values.
Sets the current value.
Value is clamped between min
and max
.
Sets the value to follow.
Use this to manually control the progress to display
by directly modifying the value pointed to by value
.
Sets the color style.
The default color is PaletteColor::Highlight
.
Sets the color style.
Chainable variant of set_color
.
Trait Implementations
Returns the “default value” for a type. Read more
Draws the view with the given printer (includes bounds) and focus. Read more
Should return true
if the view content changed since the last call
to layout()
. Read more
Returns the minimum size the view requires with the given restrictions. Read more
Called when an event is received (key press, mouse event, …). Read more
Runs a closure on the view identified by the given selector. Read more
Moves the focus to the view identified by the given selector. Read more
Attempt to give this view the focus. Read more
What part of the view is important and should be visible? Read more
Auto Trait Implementations
impl !RefUnwindSafe for ProgressBar
impl !Send for ProgressBar
impl !Sync for ProgressBar
impl Unpin for ProgressBar
impl !UnwindSafe for ProgressBar
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘ
pub fn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘ
Returns a Box<View>
.
Wraps self
in a ResizedView
with the given size constraints.
Wraps self
into a fixed-size ResizedView
.
Wraps self
into a fixed-width ResizedView
.
Wraps self
into a fixed-width ResizedView
.
Wraps self
into a full-screen ResizedView
.
Wraps self
into a full-width ResizedView
.
Wraps self
into a full-height ResizedView
.
Wraps self
into a limited-size ResizedView
.
Wraps self
into a limited-width ResizedView
.
Wraps self
into a limited-height ResizedView
.
Wraps self
into a ResizedView
at least sized size
.
Wraps self
in a ResizedView
at least min_width
wide.
Wraps self
in a ResizedView
at least min_height
tall.
Wraps self
in a ScrollView
.
Calls the given closure and return the result. Read more
Calls the given closure on self
.