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,
) -> ResizedView<T>
pub fn new( width: SizeConstraint, height: SizeConstraint, view: T, ) -> ResizedView<T>
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>(size: S, view: T) -> ResizedView<T>
pub fn with_fixed_size<S>(size: S, view: T) -> ResizedView<T>
Wraps view
in a new ResizedView
with the given size.
Sourcepub fn with_fixed_width(width: usize, view: T) -> ResizedView<T>
pub fn with_fixed_width(width: usize, view: T) -> ResizedView<T>
Wraps view
in a new ResizedView
with fixed width.
Sourcepub fn with_fixed_height(height: usize, view: T) -> ResizedView<T>
pub fn with_fixed_height(height: usize, view: T) -> ResizedView<T>
Wraps view
in a new ResizedView
with fixed height.
Sourcepub fn with_full_screen(view: T) -> ResizedView<T>
pub fn with_full_screen(view: T) -> ResizedView<T>
Wraps view
in a ResizedView
which will take all available space.
Sourcepub fn with_full_width(view: T) -> ResizedView<T>
pub fn with_full_width(view: T) -> ResizedView<T>
Wraps view
in a ResizedView
which will take all available width.
Sourcepub fn with_full_height(view: T) -> ResizedView<T>
pub fn with_full_height(view: T) -> ResizedView<T>
Wraps view
in a ResizedView
which will take all available height.
Sourcepub fn with_max_size<S>(size: S, view: T) -> ResizedView<T>
pub fn with_max_size<S>(size: S, view: T) -> ResizedView<T>
Wraps view
in a ResizedView
which will never be bigger than size
.
Sourcepub fn with_max_width(max_width: usize, view: T) -> ResizedView<T>
pub fn with_max_width(max_width: usize, view: T) -> ResizedView<T>
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) -> ResizedView<T>
pub fn with_max_height(max_height: usize, view: T) -> ResizedView<T>
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>(size: S, view: T) -> ResizedView<T>
pub fn with_min_size<S>(size: S, view: T) -> ResizedView<T>
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) -> ResizedView<T>
pub fn with_min_width(min_width: usize, view: T) -> ResizedView<T>
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) -> ResizedView<T>
pub fn with_min_height(min_height: usize, view: T) -> ResizedView<T>
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> ViewWrapper for ResizedView<T>where
T: View,
impl<T> ViewWrapper for ResizedView<T>where
T: View,
Source§fn with_view<F, R>(&self, f: F) -> Option<R>
fn with_view<F, R>(&self, f: F) -> Option<R>
Source§fn with_view_mut<F, R>(&mut self, f: F) -> Option<R>
fn with_view_mut<F, R>(&mut self, f: F) -> Option<R>
Source§fn into_inner(
self,
) -> Result<<ResizedView<T> as ViewWrapper>::V, ResizedView<T>>
fn into_inner( self, ) -> Result<<ResizedView<T> as ViewWrapper>::V, ResizedView<T>>
Source§fn wrap_layout(&mut self, size: XY<usize>)
fn wrap_layout(&mut self, size: XY<usize>)
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(
&mut self,
selector: &Selector<'_>,
callback: &mut dyn FnMut(&mut (dyn View + 'static)),
)
fn wrap_call_on_any( &mut self, selector: &Selector<'_>, callback: &mut dyn FnMut(&mut (dyn View + 'static)), )
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.Auto Trait Implementations§
impl<T> Freeze for ResizedView<T>where
T: Freeze,
impl<T> RefUnwindSafe for ResizedView<T>where
T: RefUnwindSafe,
impl<T> Send for ResizedView<T>where
T: Send,
impl<T> Sync for ResizedView<T>where
T: Sync,
impl<T> Unpin for ResizedView<T>where
T: Unpin,
impl<T> UnwindSafe for ResizedView<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Finder for Twhere
T: View,
impl<T> Finder for Twhere
T: View,
Source§fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)
fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)
sel
. Read moreSource§fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>
fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>
sel
. Read moreSource§fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
call_on
with a view::Selector::Name
.Source§impl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere
T: View,
Source§fn into_boxed_view(self) -> Box<dyn View>
fn into_boxed_view(self) -> Box<dyn View>
Box<View>
.Source§impl<T> Resizable for Twhere
T: View,
impl<T> Resizable for Twhere
T: View,
Source§fn resized(
self,
width: SizeConstraint,
height: SizeConstraint,
) -> ResizedView<Self>
fn resized( self, width: SizeConstraint, height: SizeConstraint, ) -> ResizedView<Self>
self
in a ResizedView
with the given size constraints.Source§fn fixed_size<S>(self, size: S) -> ResizedView<Self>
fn fixed_size<S>(self, size: S) -> ResizedView<Self>
self
into a fixed-size ResizedView
.Source§fn fixed_width(self, width: usize) -> ResizedView<Self>
fn fixed_width(self, width: usize) -> ResizedView<Self>
self
into a fixed-width ResizedView
.Source§fn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
self
into a fixed-width ResizedView
.Source§fn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
self
into a full-screen ResizedView
.Source§fn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
self
into a full-width ResizedView
.Source§fn full_height(self) -> ResizedView<Self>
fn full_height(self) -> ResizedView<Self>
self
into a full-height ResizedView
.Source§fn max_size<S>(self, size: S) -> ResizedView<Self>
fn max_size<S>(self, size: S) -> ResizedView<Self>
self
into a limited-size ResizedView
.Source§fn max_width(self, max_width: usize) -> ResizedView<Self>
fn max_width(self, max_width: usize) -> ResizedView<Self>
self
into a limited-width ResizedView
.Source§fn max_height(self, max_height: usize) -> ResizedView<Self>
fn max_height(self, max_height: usize) -> ResizedView<Self>
self
into a limited-height ResizedView
.Source§fn min_size<S>(self, size: S) -> ResizedView<Self>
fn min_size<S>(self, size: S) -> ResizedView<Self>
self
into a ResizedView
at least sized size
.Source§fn min_width(self, min_width: usize) -> ResizedView<Self>
fn min_width(self, min_width: usize) -> ResizedView<Self>
self
in a ResizedView
at least min_width
wide.Source§fn min_height(self, min_height: usize) -> ResizedView<Self>
fn min_height(self, min_height: usize) -> ResizedView<Self>
self
in a ResizedView
at least min_height
tall.Source§impl<T> Scrollable for Twhere
T: View,
impl<T> Scrollable for Twhere
T: View,
Source§fn scrollable(self) -> ScrollView<Self>
fn scrollable(self) -> ScrollView<Self>
self
in a ScrollView
.