pub struct LoadingAnimation<T: Send + Sync + 'static> { /* private fields */ }
Expand description

Simple loading animation view that runs a task in a background thread and shows a loading animation and message while it completes and allows for retrieval of a return value

Example

let mut root = cursive::default();
let anim = LoadingAnimation::new("Loading Dummy Resource...", || {
    thread::sleep(Duration::from_secs(10));
});
 
root.add_layer(Dialog::around(anim.with_name("loader")).title("Loading..."));
root.set_fps(30);

root.set_global_callback(Event::Refresh, |view| {
    let mut loader = view.find_name::<LoadingAnimation<()>>("loader").unwrap();
    if loader.is_done() {
        loader.finish().unwrap_or(());
        view.quit()
    }
});
root.run();

Implementations§

Create a new LoadingAnimation with the specified closure or function pointer as the task

Has the background task finished executing?

Join with the task’s thread, block until it is finished, and return the resulting value

It is best to run this when LoadingAnimation::is_done() is true

This will return None if called more than once

Panics

This method will panic if the underlying task panicked while executing

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Draws the view with the given printer (includes bounds) and focus. Read more
Called when an event is received (key press, mouse event, …). Read more
Returns the minimum size the view requires with the given restrictions. Read more
Called once the size for this view has been decided. Read more
Should return true if the view content changed since the last call to layout(). 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
Returns the type of this view. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more

Downcast self to a Any.

Downcast self to a mutable Any.

Returns a boxed any from a boxed self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Runs a callback on all views identified by sel. Read more
Runs a callback on the view identified by sel. Read more
Convenient method to use call_on with a view::Selector::Name.
Convenient method to find a view wrapped in an NamedView.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns a Box<View>.
Wraps this view into an NamedView with the given id. Read more
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.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Calls the given closure and return the result. Read more
Calls the given closure on self.
Calls the given closure on self.
Calls the given closure if condition == true.