Struct cursive::views::LinearLayout
source · [−]pub struct LinearLayout { /* private fields */ }
Expand description
Arranges its children linearly according to its orientation.
Examples
use cursive_core::traits::Resizable;
use cursive_core::views::{Button, LinearLayout, TextArea, TextView};
let linear_layout = LinearLayout::horizontal()
.child(TextView::new("Top of the page"))
.child(TextArea::new().fixed_size((20, 5)))
.child(Button::new("Ok", |s| s.quit()));
Implementations
sourceimpl LinearLayout
impl LinearLayout
sourcepub fn new(orientation: Orientation) -> LinearLayout
pub fn new(orientation: Orientation) -> LinearLayout
Creates a new layout with the given orientation.
sourcepub fn set_weight(&mut self, i: usize, weight: usize)
pub fn set_weight(&mut self, i: usize, weight: usize)
Sets the weight of the given child. This weight is currently unused by the layout process.
Panics
Panics if i >= self.len()
.
sourcepub fn weight(self, weight: usize) -> LinearLayout
pub fn weight(self, weight: usize) -> LinearLayout
Modifies the weight of the last child added. This weight is currently unused by the layout process.
It is an error to call this before adding a child (and it will panic).
sourcepub fn child<V>(self, view: V) -> LinearLayoutwhere
V: 'static + IntoBoxedView,
pub fn child<V>(self, view: V) -> LinearLayoutwhere
V: 'static + IntoBoxedView,
Adds a child to the layout.
Chainable variant.
sourcepub fn add_child<V>(&mut self, view: V)where
V: 'static + IntoBoxedView,
pub fn add_child<V>(&mut self, view: V)where
V: 'static + IntoBoxedView,
Adds a child to the layout.
sourcepub fn insert_child<V>(&mut self, i: usize, view: V)where
V: 'static + IntoBoxedView,
pub fn insert_child<V>(&mut self, i: usize, view: V)where
V: 'static + IntoBoxedView,
sourcepub fn swap_children(&mut self, i: usize, j: usize)
pub fn swap_children(&mut self, i: usize, j: usize)
Swaps two children.
sourcepub fn get_focus_index(&self) -> usize
pub fn get_focus_index(&self) -> usize
Returns index of focused inner view
sourcepub fn set_focus_index(
&mut self,
index: usize
) -> Result<EventResult, ViewNotFound>
pub fn set_focus_index(
&mut self,
index: usize
) -> Result<EventResult, ViewNotFound>
Attemps to set the focus on the given child.
Returns Err(())
if index >= self.len()
, or if the view at the
given index does not accept focus.
sourcepub fn vertical() -> LinearLayout
pub fn vertical() -> LinearLayout
Creates a new vertical layout.
sourcepub fn horizontal() -> LinearLayout
pub fn horizontal() -> LinearLayout
Creates a new horizontal layout.
sourcepub fn get_child(&self, i: usize) -> Option<&(dyn View + 'static)>
pub fn get_child(&self, i: usize) -> Option<&(dyn View + 'static)>
Returns a reference to a child.
sourcepub fn get_child_mut(&mut self, i: usize) -> Option<&mut (dyn View + 'static)>
pub fn get_child_mut(&mut self, i: usize) -> Option<&mut (dyn View + 'static)>
Returns a mutable reference to a child.
sourcepub fn remove_child(
&mut self,
i: usize
) -> Option<Box<dyn View + 'static, Global>>
pub fn remove_child(
&mut self,
i: usize
) -> Option<Box<dyn View + 'static, Global>>
Removes a child.
If i
is within bounds, the removed child will be returned.
sourcepub fn find_child_from_name(&mut self, name: &str) -> Option<usize>
pub fn find_child_from_name(&mut self, name: &str) -> Option<usize>
Looks for the child containing a view with the given name.
Returns Some(i)
if self.get_child(i)
has the given name, or
contains a view with the given name.
Returns None
if the given name was not found.
Trait Implementations
sourceimpl View for LinearLayout
impl View for LinearLayout
sourcefn draw(&self, printer: &Printer<'_, '_>)
fn draw(&self, printer: &Printer<'_, '_>)
Draws the view with the given printer (includes bounds) and focus. Read more
sourcefn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
Should return true
if the view content changed since the last call
to layout()
. Read more
sourcefn layout(&mut self, size: XY<usize>)
fn layout(&mut self, size: XY<usize>)
Called once the size for this view has been decided. Read more
sourcefn required_size(&mut self, req: XY<usize>) -> XY<usize>
fn required_size(&mut self, req: XY<usize>) -> XY<usize>
Returns the minimum size the view requires with the given restrictions. Read more
sourcefn 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
sourcefn 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
sourcefn call_on_any(
&mut self,
selector: &Selector<'_>,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
fn call_on_any(
&mut self,
selector: &Selector<'_>,
callback: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
Runs a closure on the view identified by the given selector. Read more
sourcefn 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
Auto Trait Implementations
impl !RefUnwindSafe for LinearLayout
impl !Send for LinearLayout
impl !Sync for LinearLayout
impl Unpin for LinearLayout
impl !UnwindSafe for LinearLayout
Blanket Implementations
sourceimpl<T> AnyView for Twhere
T: View,
impl<T> AnyView for Twhere
T: View,
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Downcast self to a mutable Any
.
sourcefn as_boxed_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<I, A>impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn as_boxed_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<I, A>impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Returns a boxed any from a boxed self. Read more
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Finder for Twhere
T: View,
impl<T> Finder for Twhere
T: View,
sourcefn 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 more
sourcefn 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 more
sourceimpl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere
T: View,
sourcefn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘNotable traits for Box<I, A>impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘNotable traits for Box<I, A>impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Returns a Box<View>
.
sourceimpl<T> Resizable for Twhere
T: View,
impl<T> Resizable for Twhere
T: View,
sourcefn 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.
sourcefn 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
.
sourcefn fixed_width(self, width: usize) -> ResizedView<Self>
fn fixed_width(self, width: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
Wraps self
into a full-screen ResizedView
.
sourcefn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
Wraps self
into a full-width ResizedView
.
sourcefn full_height(self) -> ResizedView<Self>
fn full_height(self) -> ResizedView<Self>
Wraps self
into a full-height ResizedView
.
sourcefn 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
.
sourcefn max_width(self, max_width: usize) -> ResizedView<Self>
fn max_width(self, max_width: usize) -> ResizedView<Self>
Wraps self
into a limited-width ResizedView
.
sourcefn max_height(self, max_height: usize) -> ResizedView<Self>
fn max_height(self, max_height: usize) -> ResizedView<Self>
Wraps self
into a limited-height ResizedView
.
sourcefn 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
.
sourcefn 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.
sourcefn 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.
sourceimpl<T> Scrollable for Twhere
T: View,
impl<T> Scrollable for Twhere
T: View,
sourcefn scrollable(self) -> ScrollView<Self>
fn scrollable(self) -> ScrollView<Self>
Wraps self
in a ScrollView
.