pub struct StatusView { /* private fields */ }
Expand description

View that can be used to report an application’s status. It is meant to be placed at the bottom of the main Cursive layer

Examples

Reporting Application Status

let mut root = cursive::default();
root.add_fullscreen_layer(
   vlayout!(
        Dialog::text("Yes")
            .button("Quit", |r| r.quit())
            .title("StatusView Example"),
        StatusView::new().with_name("status")
   )
);
root.set_fps(30);
root.set_global_callback(Event::Refresh, |root| {
    let mut status = root.find_name::<StatusView>("status").expect("StatusView does not exist!");
    status.info("Application Status");
    status.update();
});
root.run();

Reporting an Error

let mut root = cursive::default();
root.add_fullscreen_layer(
    vlayout!(
        Dialog::text("Yes")
            .button("Quit", |r| r.quit())
            .title("StatusView Example"),
        StatusView::new().with_name("status")
    )
);
 
root.set_fps(30);
root.set_global_callback(Event::Refresh, |root| {
    let error: Result<&str, &str> = Err("Error: Houston, we have a problem!");
    let mut status = root.find_name::<StatusView>("status").unwrap();
    report_error!(status, error);
    status.update();
});
root.run();

Implementations§

source§

impl StatusView

source

pub fn new() -> StatusView

Create a new StatusView

source

pub fn label<T: Into<StyledString>>(self, text: T) -> Self

Set the label (persistent) text of the StatusView (chainable)

source

pub fn update(&mut self)

This will clear the StatusView if called more than 5 seconds after the message was set

source

pub fn report_error<T: Display>(&mut self, text: T)

Set the message in the StatusView with error formatting (bright red text)

source

pub fn info<T: Into<StyledString>>(&mut self, text: T)

Set the message in the StatusView

source

pub fn set_label<T: Into<StyledString>>(&mut self, text: T)

Set the label of the StatusView

Trait Implementations§

source§

impl Clone for StatusView

source§

fn clone(&self) -> StatusView

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for StatusView

source§

fn default() -> StatusView

Returns the “default value” for a type. Read more
source§

impl View for StatusView

source§

fn draw(&self, printer: &Printer<'_, '_>)

Draws the view with the given printer (includes bounds) and focus. Read more
source§

fn required_size(&mut self, constraint: Vec2) -> Vec2

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

fn layout(&mut self, _: XY<usize>)

Called once the size for this view has been decided. Read more
source§

fn needs_relayout(&self) -> bool

Should return true if the view content changed since the last call to layout(). Read more
source§

fn on_event(&mut self, _: Event) -> EventResult

Called when an event is received (key press, mouse event, …). Read more
source§

fn call_on_any( &mut self, _: &Selector<'_>, _: &mut dyn FnMut(&mut (dyn View + 'static)) )

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

fn focus_view(&mut self, _: &Selector<'_>) -> Result<EventResult, ViewNotFound>

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

fn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>

Attempt to give this view the focus. Read more
source§

fn important_area(&self, view_size: XY<usize>) -> Rect

What part of the view is important and should be visible? Read more
source§

fn type_name(&self) -> &'static str

Returns the type of this view. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AnyView for Twhere T: View,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Downcast self to a Any.

source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Downcast self to a mutable Any.

source§

fn as_boxed_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Returns a boxed any from a boxed self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Finder for Twhere T: View,

source§

fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)where V: View, F: FnMut(&mut V),

Runs a callback on all views identified by sel. Read more
source§

fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>where V: View, F: FnOnce(&mut V) -> R,

Runs a callback on the view identified by sel. Read more
source§

fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>where V: View, F: FnOnce(&mut V) -> R,

Convenient method to use call_on with a view::Selector::Name.
source§

fn find_name<V>( &mut self, name: &str ) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>, Global>, RefCell<V>>, RefMut<'static, V>>>where V: View,

Convenient method to find a view wrapped in an NamedView.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> IntoBoxedView for Twhere T: View,

source§

fn into_boxed_view(self) -> Box<dyn View, Global>

Returns a Box<View>.
source§

impl<T> Nameable for Twhere T: View,

source§

fn with_name<S>(self, name: S) -> NamedView<Self>where S: Into<String>,

Wraps this view into an NamedView with the given id. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,

source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
source§

impl<T> Resizable for Twhere T: View,

source§

fn resized( self, width: SizeConstraint, height: SizeConstraint ) -> ResizedView<Self>

Wraps self in a ResizedView with the given size constraints.
source§

fn fixed_size<S>(self, size: S) -> ResizedView<Self>where S: Into<XY<usize>>,

Wraps self into a fixed-size ResizedView.
source§

fn fixed_width(self, width: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
source§

fn fixed_height(self, height: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
source§

fn full_screen(self) -> ResizedView<Self>

Wraps self into a full-screen ResizedView.
source§

fn full_width(self) -> ResizedView<Self>

Wraps self into a full-width ResizedView.
source§

fn full_height(self) -> ResizedView<Self>

Wraps self into a full-height ResizedView.
source§

fn max_size<S>(self, size: S) -> ResizedView<Self>where S: Into<XY<usize>>,

Wraps self into a limited-size ResizedView.
source§

fn max_width(self, max_width: usize) -> ResizedView<Self>

Wraps self into a limited-width ResizedView.
source§

fn max_height(self, max_height: usize) -> ResizedView<Self>

Wraps self into a limited-height ResizedView.
source§

fn min_size<S>(self, size: S) -> ResizedView<Self>where S: Into<XY<usize>>,

Wraps self into a ResizedView at least sized size.
source§

fn min_width(self, min_width: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_width wide.
source§

fn min_height(self, min_height: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_height tall.
source§

impl<T> Scrollable for Twhere T: View,

source§

fn scrollable(self) -> ScrollView<Self>

Wraps self in a ScrollView.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> With for T

source§

fn wrap_with<U, F>(self, f: F) -> Uwhere F: FnOnce(Self) -> U,

Calls the given closure and return the result. Read more
source§

fn with<F>(self, f: F) -> Selfwhere F: FnOnce(&mut Self),

Calls the given closure on self.
source§

fn try_with<E, F>(self, f: F) -> Result<Self, E>where F: FnOnce(&mut Self) -> Result<(), E>,

Calls the given closure on self.
source§

fn with_if<F>(self, condition: bool, f: F) -> Selfwhere F: FnOnce(&mut Self),

Calls the given closure if condition == true.
§

impl<T> Erased for T