Struct cursive::views::BoxView [] [src]

pub struct BoxView<T: View> {
    // some 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

Creates a new BoxView with the given width and height requirements.

None values will use the wrapped view's preferences.

fn squishable(self) -> Self

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

Wraps view in a new BoxView with the given size.

fn with_fixed_width(width: usize, view: T) -> Self

Wraps view in a new BoxView with fixed width.

fn with_fixed_height(height: usize, view: T) -> Self

Wraps view in a new BoxView with fixed height.

fn with_full_screen(view: T) -> Self

Wraps view in a BoxView which will take all available space.

fn with_full_width(view: T) -> Self

Wraps view in a BoxView which will take all available width.

fn with_full_height(view: T) -> Self

Wraps view in a BoxView which will take all available height.

fn with_max_size<S: Into<Vec2>>(size: S, view: T) -> Self

Wraps view in a BoxView which will never be bigger than size.

fn with_max_width(max_width: usize, view: T) -> Self

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

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

Wraps view in a BoxView which will never be smaller than size.

fn with_min_width(min_width: usize, view: T) -> Self

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

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]

fn get_view(&self) -> &View

Get an immutable reference to the wrapped view.

fn get_view_mut(&mut self) -> &mut View

Get a mutable reference to the wrapped view.

fn wrap_get_min_size(&mut self, req: Vec2) -> Vec2

Wraps the get_min_size method.

fn wrap_draw(&self, printer: &Printer)

Wraps the draw method.

fn wrap_on_event(&mut self, ch: Event) -> EventResult

Wraps the on_event method.

fn wrap_layout(&mut self, size: Vec2)

Wraps the layout method.

fn wrap_take_focus(&mut self, source: Direction) -> bool

Wraps the take_focus method.

fn wrap_find(&mut self, selector: &Selector) -> Option<&mut Any>

Wraps the find method.

fn wrap_needs_relayout(&self) -> bool

Wraps the needs_relayout method.