Struct cursive_extras::StatusView
source · 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
impl StatusView
sourcepub fn new() -> StatusView
pub fn new() -> StatusView
Create a new StatusView
sourcepub fn label<T: Into<StyledString>>(self, text: T) -> Self
pub fn label<T: Into<StyledString>>(self, text: T) -> Self
Set the label (persistent) text of the StatusView
(chainable)
sourcepub fn update(&mut self)
pub fn update(&mut self)
This will clear the StatusView
if called more than 5 seconds after the message
was set
sourcepub fn report_error<T: Display>(&mut self, text: T)
pub fn report_error<T: Display>(&mut self, text: T)
Set the message in the StatusView
with error formatting (bright red text)
sourcepub fn info<T: Into<StyledString>>(&mut self, text: T)
pub fn info<T: Into<StyledString>>(&mut self, text: T)
Set the message in the StatusView
sourcepub fn set_label<T: Into<StyledString>>(&mut self, text: T)
pub fn set_label<T: Into<StyledString>>(&mut self, text: T)
Set the label of the StatusView
Trait Implementations§
source§impl Clone for StatusView
impl Clone for StatusView
source§fn clone(&self) -> StatusView
fn clone(&self) -> StatusView
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for StatusView
impl Default for StatusView
source§fn default() -> StatusView
fn default() -> StatusView
Returns the “default value” for a type. Read more
source§impl View for StatusView
impl View for StatusView
source§fn draw(&self, printer: &Printer<'_, '_>)
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
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>)
fn layout(&mut self, _: XY<usize>)
Called once the size for this view has been decided. Read more
source§fn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
source§fn on_event(&mut self, _: Event) -> EventResult
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))
)
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>
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>
fn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>
Attempt to give this view the focus. Read more
Auto Trait Implementations§
impl RefUnwindSafe for StatusView
impl Send for StatusView
impl Sync for StatusView
impl Unpin for StatusView
impl UnwindSafe for StatusView
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Finder for Twhere
T: View,
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),
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 moresource§fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>where
V: View,
F: FnOnce(&mut V) -> R,
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 moresource§impl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere T: View,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
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>
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§impl<T> Resizable for Twhere
T: View,
impl<T> Resizable for Twhere T: View,
source§fn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
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>>,
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>
fn fixed_width(self, width: usize) -> ResizedView<Self>
Wraps
self
into a fixed-width ResizedView
.source§fn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
Wraps
self
into a fixed-width ResizedView
.source§fn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
Wraps
self
into a full-screen ResizedView
.source§fn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
Wraps
self
into a full-width ResizedView
.source§fn full_height(self) -> ResizedView<Self>
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>>,
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>
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>
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>>,
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>
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>
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,
impl<T> Scrollable for Twhere T: View,
source§fn scrollable(self) -> ScrollView<Self>
fn scrollable(self) -> ScrollView<Self>
Wraps
self
in a ScrollView
.