Struct cursive_core::views::ResizedView
source · pub struct ResizedView<T> { /* private fields */ }
Expand description
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
use cursive_core::views::{ResizedView, TextView};
// Creates a 20x4 ResizedView with a TextView content.
let view = ResizedView::with_fixed_size((20, 4), TextView::new("Hello!"));
See also Resizable
for an easy way to wrap any view.
Implementations§
source§impl<T> ResizedView<T>
impl<T> ResizedView<T>
sourcepub fn new(width: SizeConstraint, height: SizeConstraint, view: T) -> Self
pub fn new(width: SizeConstraint, height: SizeConstraint, view: T) -> Self
Creates a new ResizedView
with the given width and height requirements.
None
values will use the wrapped view’s preferences.
sourcepub fn set_constraints(&mut self, width: SizeConstraint, height: SizeConstraint)
pub fn set_constraints(&mut self, width: SizeConstraint, height: SizeConstraint)
Sets the size constraints for this view.
sourcepub fn set_width(&mut self, width: SizeConstraint)
pub fn set_width(&mut self, width: SizeConstraint)
Sets the width constraint for this view.
Leaves the height unchanged.
sourcepub fn set_height(&mut self, height: SizeConstraint)
pub fn set_height(&mut self, height: SizeConstraint)
Sets the height constraint for this view.
Leaves the width unchanged.
sourcepub fn with_fixed_size<S: Into<Vec2>>(size: S, view: T) -> Self
pub fn with_fixed_size<S: Into<Vec2>>(size: S, view: T) -> Self
Wraps view
in a new ResizedView
with the given size.
sourcepub fn with_fixed_width(width: usize, view: T) -> Self
pub fn with_fixed_width(width: usize, view: T) -> Self
Wraps view
in a new ResizedView
with fixed width.
sourcepub fn with_fixed_height(height: usize, view: T) -> Self
pub fn with_fixed_height(height: usize, view: T) -> Self
Wraps view
in a new ResizedView
with fixed height.
sourcepub fn with_full_screen(view: T) -> Self
pub fn with_full_screen(view: T) -> Self
Wraps view
in a ResizedView
which will take all available space.
sourcepub fn with_full_width(view: T) -> Self
pub fn with_full_width(view: T) -> Self
Wraps view
in a ResizedView
which will take all available width.
sourcepub fn with_full_height(view: T) -> Self
pub fn with_full_height(view: T) -> Self
Wraps view
in a ResizedView
which will take all available height.
sourcepub fn with_max_size<S: Into<Vec2>>(size: S, view: T) -> Self
pub fn with_max_size<S: Into<Vec2>>(size: S, view: T) -> Self
Wraps view
in a ResizedView
which will never be bigger than size
.
sourcepub fn with_max_width(max_width: usize, view: T) -> Self
pub fn with_max_width(max_width: usize, view: T) -> Self
Wraps view
in a ResizedView
which will enforce a maximum width.
The resulting width will never be more than max_width
.
sourcepub fn with_max_height(max_height: usize, view: T) -> Self
pub fn with_max_height(max_height: usize, view: T) -> Self
Wraps view
in a ResizedView
which will enforce a maximum height.
The resulting height will never be more than max_height
.
sourcepub fn with_min_size<S: Into<Vec2>>(size: S, view: T) -> Self
pub fn with_min_size<S: Into<Vec2>>(size: S, view: T) -> Self
Wraps view
in a ResizedView
which will never be smaller than size
.
As long as the parent view is large enough.
If the space is constrained (for example the window is too small), this view might still be given a smaller size than requested.
sourcepub fn with_min_width(min_width: usize, view: T) -> Self
pub fn with_min_width(min_width: usize, view: T) -> Self
Wraps view
in a ResizedView
which will enforce a minimum width.
The resulting width will never be less than min_width
.
sourcepub fn with_min_height(min_height: usize, view: T) -> Self
pub fn with_min_height(min_height: usize, view: T) -> Self
Wraps view
in a ResizedView
which will enforce a minimum height.
The resulting height will never be less than min_height
.
sourcepub fn get_inner_mut(&mut self) -> &mut T
pub fn get_inner_mut(&mut self) -> &mut T
Gets mutable access to the inner view.
Trait Implementations§
source§impl<T: View> ViewWrapper for ResizedView<T>
impl<T: View> ViewWrapper for ResizedView<T>
source§fn with_view<F, R>(&self, f: F) -> Option<R>where
F: FnOnce(&Self::V) -> R,
fn with_view<F, R>(&self, f: F) -> Option<R>where
F: FnOnce(&Self::V) -> R,
source§fn with_view_mut<F, R>(&mut self, f: F) -> Option<R>where
F: FnOnce(&mut Self::V) -> R,
fn with_view_mut<F, R>(&mut self, f: F) -> Option<R>where
F: FnOnce(&mut Self::V) -> R,
source§fn into_inner(self) -> Result<Self::V, Self>where
Self::V: Sized,
fn into_inner(self) -> Result<Self::V, Self>where
Self::V: Sized,
source§fn wrap_required_size(&mut self, req: Vec2) -> Vec2
fn wrap_required_size(&mut self, req: Vec2) -> Vec2
required_size
method.source§fn wrap_layout(&mut self, size: Vec2)
fn wrap_layout(&mut self, size: Vec2)
layout
method.source§fn wrap_needs_relayout(&self) -> bool
fn wrap_needs_relayout(&self) -> bool
needs_relayout
method.source§fn wrap_on_event(&mut self, ch: Event) -> EventResult
fn wrap_on_event(&mut self, ch: Event) -> EventResult
on_event
method.source§fn wrap_take_focus(
&mut self,
source: Direction
) -> Result<EventResult, CannotFocus>
fn wrap_take_focus(
&mut self,
source: Direction
) -> Result<EventResult, CannotFocus>
take_focus
method.source§fn wrap_call_on_any<'a>(&mut self, selector: &Selector<'_>, callback: AnyCb<'a>)
fn wrap_call_on_any<'a>(&mut self, selector: &Selector<'_>, callback: AnyCb<'a>)
find
method.source§fn wrap_focus_view(
&mut self,
selector: &Selector<'_>
) -> Result<EventResult, ViewNotFound>
fn wrap_focus_view(
&mut self,
selector: &Selector<'_>
) -> Result<EventResult, ViewNotFound>
focus_view
method.source§fn wrap_important_area(&self, size: Vec2) -> Rect
fn wrap_important_area(&self, size: Vec2) -> Rect
important_area
method.