[−][src]Struct prodash::tree::Item
A Tree
represents an element of the progress tree.
It can be used to set progress and send messages.
let tree = prodash::Tree::new(); let mut progress = tree.add_child("task 1"); progress.init(Some(10), Some("elements")); for p in 0..10 { progress.set(p); } progress.done("great success"); let mut sub_progress = progress.add_child("sub-task 1"); sub_progress.init(None, None); sub_progress.set(5); sub_progress.fail("couldn't finish");
Methods
impl Item
[src]
pub fn init(&mut self, max: Option<ProgressStep>, unit: Option<&'static str>)
[src]
Initialize the Item for receiving progress information.
If max
is Some(…)
, it will be treated as upper bound. When progress is set(…)
it should not exceed the given maximum.
If max
is None
, the progress is unbounded. Use this if the amount of work cannot accurately
be determined.
If unit
is Some(…)
, it is used for display purposes only. It should be using the plural.
If this method is never called, this Item
will serve as organizational unit, useful to add more structure
to the progress tree.
Note that this method can be called multiple times, changing the bounded-ness and unit at will.
pub fn set_name(&mut self, name: impl Into<String>)
[src]
Set the name of this task's progress to the given name
.
pub fn name(&self) -> Option<String>
[src]
Get the name of this task's progress
pub fn set(&mut self, step: ProgressStep)
[src]
Set the current progress to the given step
.
Note: that this call has no effect unless init(…)
was called before.
pub fn blocked(&mut self, reason: &'static str, eta: Option<SystemTime>)
[src]
Call to indicate that progress cannot be indicated, and that the task cannot be interrupted.
Use this, as opposed to halted(…)
, if a non-interruptable call is about to be made without support
for any progress indication.
If eta
is Some(…)
, it specifies the time at which this task is expected to
make progress again.
The blocked-state is undone next time tree::Item::set(…)
is called.
pub fn halted(&mut self, reason: &'static str, eta: Option<SystemTime>)
[src]
Call to indicate that progress cannot be indicated, even though the task can be interrupted.
Use this, as opposed to blocked(…)
, if an interruptable call is about to be made without support
for any progress indication.
If eta
is Some(…)
, it specifies the time at which this task is expected to
make progress again.
The halted-state is undone next time tree::Item::set(…)
is called.
pub fn add_child(&mut self, name: impl Into<String>) -> Item
[src]
Adds a new child Tree
, whose parent is this instance, with the given name
.
Important: The depth of the hierarchy is limited to tree::Key::max_level
.
Exceeding the level will be ignored, and new tasks will be added to this instance's
level instead.
pub fn message(
&mut self,
level: MessageLevel,
message: impl Into<String> + Display
)
[src]
&mut self,
level: MessageLevel,
message: impl Into<String> + Display
)
Create a message
of the given level
and store it with the progress tree.
Use this to provide additional,human-readable information about the progress made, including indicating success or failure.
pub fn done(&mut self, message: impl Into<String> + Display)
[src]
Create a message indicating the task is done
pub fn fail(&mut self, message: impl Into<String> + Display)
[src]
Create a message indicating the task failed
pub fn info(&mut self, message: impl Into<String> + Display)
[src]
Create a message providing additional information about the progress thus far.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Item
impl Send for Item
impl Sync for Item
impl Unpin for Item
impl !UnwindSafe for Item
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,