Struct cursive::views::BoxView
[−]
[src]
pub struct BoxView<T: View> { /* fields omitted */ }
Wrapper around another view, with a controlled size.
Each axis can independently be set to:
- Keep a fixed size
- Use all available size
- Use at most a given size
- Use at least a given size
- Let the wrapped view decide.
Examples
// Creates a 20x4 BoxView with a TextView content. let view = BoxView::with_fixed_size((20,4), TextView::new("Hello!"));
Methods
impl<T: View> BoxView<T>
[src]
fn new(width: SizeConstraint, height: SizeConstraint, view: T) -> Self
[src]
Creates a new BoxView
with the given width and height requirements.
None
values will use the wrapped view's preferences.
fn squishable(self) -> Self
[src]
Sets self
to be squishable.
A squishable BoxView
will take a smaller size than it should when
the available space is too small. In that case, it will allow the
child view to contract, if it can.
More specifically, if the available space is less than the size we would normally ask for, return the child size.
fn with_fixed_size<S: Into<Vec2>>(size: S, view: T) -> Self
[src]
Wraps view
in a new BoxView
with the given size.
fn with_fixed_width(width: usize, view: T) -> Self
[src]
Wraps view
in a new BoxView
with fixed width.
fn with_fixed_height(height: usize, view: T) -> Self
[src]
Wraps view
in a new BoxView
with fixed height.
fn with_full_screen(view: T) -> Self
[src]
Wraps view
in a BoxView
which will take all available space.
fn with_full_width(view: T) -> Self
[src]
Wraps view
in a BoxView
which will take all available width.
fn with_full_height(view: T) -> Self
[src]
Wraps view
in a BoxView
which will take all available height.
fn with_max_size<S: Into<Vec2>>(size: S, view: T) -> Self
[src]
Wraps view
in a BoxView
which will never be bigger than size
.
fn with_max_width(max_width: usize, view: T) -> Self
[src]
Wraps view
in a BoxView
which will enforce a maximum width.
The resulting width will never be more than max_width
.
fn with_max_height(max_height: usize, view: T) -> Self
[src]
Wraps view
in a BoxView
which will enforce a maximum height.
The resulting height will never be more than max_height
.
fn with_min_size<S: Into<Vec2>>(size: S, view: T) -> Self
[src]
Wraps view
in a BoxView
which will never be smaller than size
.
fn with_min_width(min_width: usize, view: T) -> Self
[src]
Wraps view
in a BoxView
which will enforce a minimum width.
The resulting width will never be less than min_width
.
fn with_min_height(min_height: usize, view: T) -> Self
[src]
Wraps view
in a BoxView
which will enforce a minimum height.
The resulting height will never be less than min_height
.
Trait Implementations
impl<T: View> ViewWrapper for BoxView<T>
[src]
type V = T
Type that this view wraps.
fn with_view<F, R>(&self, f: F) -> Option<R> where
F: FnOnce(&Self::V) -> R,
[src]
F: FnOnce(&Self::V) -> R,
Runs a function on the inner view, returning the result. Read more
fn with_view_mut<F, R>(&mut self, f: F) -> Option<R> where
F: FnOnce(&mut Self::V) -> R,
[src]
F: FnOnce(&mut Self::V) -> R,
Runs a function on the inner view, returning the result. Read more
fn wrap_required_size(&mut self, req: Vec2) -> Vec2
[src]
Wraps the required_size
method.
fn wrap_draw(&self, printer: &Printer)
[src]
Wraps the draw
method.
fn wrap_on_event(&mut self, ch: Event) -> EventResult
[src]
Wraps the on_event
method.
fn wrap_layout(&mut self, size: Vec2)
[src]
Wraps the layout
method.
fn wrap_take_focus(&mut self, source: Direction) -> bool
[src]
Wraps the take_focus
method.
fn wrap_call_on_any<'a>(
&mut self,
selector: &Selector,
callback: Box<FnMut(&mut Any) + 'a>
)
[src]
&mut self,
selector: &Selector,
callback: Box<FnMut(&mut Any) + 'a>
)
Wraps the find
method.
fn wrap_focus_view(&mut self, selector: &Selector) -> Result<(), ()>
[src]
Wraps the focus_view
method.
fn wrap_needs_relayout(&self) -> bool
[src]
Wraps the needs_relayout
method.