Struct cursive_core::views::ListView
source · pub struct ListView { /* private fields */ }Expand description
Displays a list of elements.
Implementations§
source§impl ListView
impl ListView
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if this view contains no children.
Returns false if at least a delimiter or a view is present.
sourcepub fn get_row(&self, id: usize) -> &ListChild
pub fn get_row(&self, id: usize) -> &ListChild
Returns a reference to the child at the given position.
sourcepub fn set_children(&mut self, children: Vec<ListChild>)
pub fn set_children(&mut self, children: Vec<ListChild>)
Sets the children for this view.
sourcepub fn add_child<V: IntoBoxedView + 'static>(
&mut self,
label: impl Into<String>,
view: V,
)
pub fn add_child<V: IntoBoxedView + 'static>( &mut self, label: impl Into<String>, view: V, )
Adds a view to the end of the list.
sourcepub fn child<V: IntoBoxedView + 'static>(self, label: &str, view: V) -> Self
pub fn child<V: IntoBoxedView + 'static>(self, label: &str, view: V) -> Self
Adds a view to the end of the list.
Chainable variant.
sourcepub fn add_delimiter(&mut self)
pub fn add_delimiter(&mut self)
Adds a delimiter to the end of the list.
sourcepub fn remove_child(&mut self, index: usize) -> ListChild
pub fn remove_child(&mut self, index: usize) -> ListChild
sourcepub fn set_on_select<F>(&mut self, cb: F)
pub fn set_on_select<F>(&mut self, cb: F)
Sets a callback to be used when an item is selected.
sourcepub fn on_select_cb<F: Fn(&mut Cursive, &String) + 'static + Send + Sync>(
cb: F,
) -> Arc<dyn Fn(&mut Cursive, &String) + Send + Sync>
pub fn on_select_cb<F: Fn(&mut Cursive, &String) + 'static + Send + Sync>( cb: F, ) -> Arc<dyn Fn(&mut Cursive, &String) + Send + Sync>
Helper method to store a callback of the correct type for Self::set_on_select.
This is mostly useful when using this view in a template.
sourcepub fn set_on_select_cb(
&mut self,
cb: Arc<dyn Fn(&mut Cursive, &String) + Send + Sync>,
)
pub fn set_on_select_cb( &mut self, cb: Arc<dyn Fn(&mut Cursive, &String) + Send + Sync>, )
Helper method to call Self::set_on_select with a variable from a config.
This is mostly useful when writing a cursive blueprint for this view.
Trait Implementations§
source§impl View for ListView
impl View for ListView
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, req: Vec2) -> Vec2
fn required_size(&mut self, req: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
source§fn layout(&mut self, size: Vec2)
fn layout(&mut self, size: Vec2)
Called once the size for this view has been decided. Read more
source§fn on_event(&mut self, event: Event) -> EventResult
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, …). 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
source§fn call_on_any(&mut self, selector: &Selector<'_>, callback: AnyCb<'_>)
fn call_on_any(&mut self, selector: &Selector<'_>, callback: AnyCb<'_>)
Runs a closure on the view identified by the given selector. Read more
source§fn focus_view(
&mut self,
selector: &Selector<'_>,
) -> Result<EventResult, ViewNotFound>
fn focus_view( &mut self, selector: &Selector<'_>, ) -> Result<EventResult, ViewNotFound>
Moves the focus to the view identified by the given selector. Read more
source§fn important_area(&self, size: Vec2) -> Rect
fn important_area(&self, size: Vec2) -> Rect
What part of the view is important and should be visible? Read more
source§fn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
Auto Trait Implementations§
impl Freeze for ListView
impl !RefUnwindSafe for ListView
impl Send for ListView
impl Sync for ListView
impl Unpin for ListView
impl !UnwindSafe for ListView
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)
fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)
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>
fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>
Runs a callback on the view identified by
sel. Read moresource§fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
Convenient method to use
call_on with a view::Selector::Name.source§impl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere
T: View,
source§fn into_boxed_view(self) -> Box<dyn View>
fn into_boxed_view(self) -> Box<dyn View>
Returns a
Box<View>.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: Into<Vec2>>(self, size: S) -> ResizedView<Self>
fn fixed_size<S: Into<Vec2>>(self, size: S) -> ResizedView<Self>
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: Into<Vec2>>(self, size: S) -> ResizedView<Self>
fn max_size<S: Into<Vec2>>(self, size: S) -> ResizedView<Self>
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: Into<Vec2>>(self, size: S) -> ResizedView<Self>
fn min_size<S: Into<Vec2>>(self, size: S) -> ResizedView<Self>
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.