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

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]

pub 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.

pub fn set_constraints(&mut self, width: SizeConstraint, height: SizeConstraint)[src]

Sets the size constraints for this view.

pub fn set_width(&mut self, width: SizeConstraint)[src]

Sets the width constraint for this view.

Leaves the height unchanged.

pub fn set_height(&mut self, height: SizeConstraint)[src]

Sets the height constraint for this view.

Leaves the width unchanged.

pub 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.

pub fn set_squishable(&mut self, squishable: bool)[src]

Controls the "squishability" of self.

pub fn with_fixed_size<S: Into<Vec2>>(size: S, view: T) -> Self[src]

Wraps view in a new BoxView with the given size.

pub fn with_fixed_width(width: usize, view: T) -> Self[src]

Wraps view in a new BoxView with fixed width.

pub fn with_fixed_height(height: usize, view: T) -> Self[src]

Wraps view in a new BoxView with fixed height.

pub fn with_full_screen(view: T) -> Self[src]

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

pub fn with_full_width(view: T) -> Self[src]

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

pub fn with_full_height(view: T) -> Self[src]

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

pub 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.

pub 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.

pub 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.

pub 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.

pub 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.

pub 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.

pub fn get_inner(&self) -> &T[src]

Gets access to the inner view.

pub fn get_inner_mut(&mut self) -> &mut T[src]

Gets mutable access to the inner view.

Trait Implementations

impl<T: View> ViewWrapper for BoxView<T>[src]

type V = T

Type that this view wraps.

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_take_focus(&mut self, source: Direction) -> bool[src]

Wraps the take_focus method.

fn wrap_call_on_any<'a>(&mut self, selector: &Selector, callback: AnyCb<'a>)[src]

Wraps the find method.

fn wrap_focus_view(&mut self, selector: &Selector) -> Result<(), ()>[src]

Wraps the focus_view method.

fn wrap_important_area(&self, size: Vec2) -> Rect[src]

Wraps the important_area method.

Auto Trait Implementations

impl<T> Sync for BoxView<T> where
    T: Sync

impl<T> Send for BoxView<T> where
    T: Send

impl<T> Unpin for BoxView<T> where
    T: Unpin

impl<T> RefUnwindSafe for BoxView<T> where
    T: RefUnwindSafe

impl<T> UnwindSafe for BoxView<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T[src]