pub struct AlignedView<T> { /* private fields */ }Expand description
This struct aligns a child view with a given alignment.
The child view will have its minimum allowed size. Additionally, the child may get cropped if it is larger than the available size.
The padded space around the child view is filled with the View color from
cursive’s color palette.
§Usage
The AlignedView may be used in 2 different ways:
- Via the
Alignablecomposition trait - Via normal constructors
§Using Alignable
use cursive::{Cursive, CursiveExt};
use cursive::view::Resizable;
use cursive::views::{Panel, DummyView};
use cursive_aligned_view::Alignable;
fn main() {
let mut siv = Cursive::default();
let panel = Panel::new(DummyView)
.title("Hello, world!")
.fixed_width(20)
.align_top_center(); // `align_...` methods from `Alignable`
siv.add_fullscreen_layer(panel);
// siv.run()
}§Constructors
use cursive::{Cursive, CursiveExt};
use cursive::view::Resizable;
use cursive::views::{Panel, DummyView};
use cursive_aligned_view::AlignedView;
fn main() {
let mut siv = Cursive::default();
let panel = Panel::new(DummyView)
.title("Hello, world!")
.fixed_width(20);
let aligned = AlignedView::with_bottom_center(panel); // constructor
siv.add_fullscreen_layer(aligned);
// siv.run()
}Implementations§
Source§impl<T: View> AlignedView<T>
impl<T: View> AlignedView<T>
pub fn new(view: T, alignment: Align) -> Self
Sourcepub fn with_top_left(view: T) -> Self
pub fn with_top_left(view: T) -> Self
Wrap a child view and align it at the top-left of the parent.
Sourcepub fn with_top_center(view: T) -> Self
pub fn with_top_center(view: T) -> Self
Wrap a child view and align it at the top-center of the parent.
Sourcepub fn with_top_right(view: T) -> Self
pub fn with_top_right(view: T) -> Self
Wrap a child view and align it at the top-right of the parent.
Sourcepub fn with_center_left(view: T) -> Self
pub fn with_center_left(view: T) -> Self
Wrap a child view and align it at the center-left of the parent.
Sourcepub fn with_center(view: T) -> Self
pub fn with_center(view: T) -> Self
Wrap a child view and align it at the center of the parent.
Sourcepub fn with_center_right(view: T) -> Self
pub fn with_center_right(view: T) -> Self
Wrap a child view and align it at the center-right of the parent.
Sourcepub fn with_bottom_left(view: T) -> Self
pub fn with_bottom_left(view: T) -> Self
Wrap a child view and align it at the bottom-left of the parent.
Sourcepub fn with_bottom_center(view: T) -> Self
pub fn with_bottom_center(view: T) -> Self
Wrap a child view and align it at the bottom-center of the parent.
Sourcepub fn with_bottom_right(view: T) -> Self
pub fn with_bottom_right(view: T) -> Self
Wrap a child view and align it at the bottom-right of the parent.
Sourcepub fn set_top_left(&mut self)
pub fn set_top_left(&mut self)
Set the alignment of this view to top-left.
Sourcepub fn set_top_center(&mut self)
pub fn set_top_center(&mut self)
Set the alignment of this view to top-center.
Sourcepub fn set_top_right(&mut self)
pub fn set_top_right(&mut self)
Set the alignment of this view to top-right.
Sourcepub fn set_center_left(&mut self)
pub fn set_center_left(&mut self)
Set the alignment of this view to center-left.
Sourcepub fn set_center(&mut self)
pub fn set_center(&mut self)
Set the alignment of this view to center.
Sourcepub fn set_center_right(&mut self)
pub fn set_center_right(&mut self)
Set the alignment of this view to center-right.
Sourcepub fn set_bottom_left(&mut self)
pub fn set_bottom_left(&mut self)
Set the alignment of this view to bottom-left.
Sourcepub fn set_bottom_center(&mut self)
pub fn set_bottom_center(&mut self)
Set the alignment of this view to bottom-center.
Sourcepub fn set_bottom_right(&mut self)
pub fn set_bottom_right(&mut self)
Set the alignment of this view to bottom-right.
Trait Implementations§
Source§impl<T: View> ViewWrapper for AlignedView<T>
impl<T: View> ViewWrapper for AlignedView<T>
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<Self::V, Self>
fn into_inner(self) -> Result<Self::V, Self>
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_required_size(&mut self, constraint: Vec2) -> Vec2
fn wrap_required_size(&mut self, constraint: Vec2) -> Vec2
required_size method.Source§fn wrap_on_event(&mut self, ev: Event) -> EventResult
fn wrap_on_event(&mut self, ev: Event) -> EventResult
on_event method.Source§fn wrap_important_area(&self, _: Vec2) -> Rect
fn wrap_important_area(&self, _: Vec2) -> Rect
important_area 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 AlignedView<T>where
T: Freeze,
impl<T> RefUnwindSafe for AlignedView<T>where
T: RefUnwindSafe,
impl<T> Send for AlignedView<T>where
T: Send,
impl<T> Sync for AlignedView<T>where
T: Sync,
impl<T> Unpin for AlignedView<T>where
T: Unpin,
impl<T> UnwindSafe for AlignedView<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> Alignable for Twhere
T: View,
impl<T> Alignable for Twhere
T: View,
Source§fn align_top_left(self) -> AlignedView<Self>
fn align_top_left(self) -> AlignedView<Self>
Source§fn align_top_center(self) -> AlignedView<Self>
fn align_top_center(self) -> AlignedView<Self>
Source§fn align_top_right(self) -> AlignedView<Self>
fn align_top_right(self) -> AlignedView<Self>
Source§fn align_center_left(self) -> AlignedView<Self>
fn align_center_left(self) -> AlignedView<Self>
Source§fn align_center(self) -> AlignedView<Self>
fn align_center(self) -> AlignedView<Self>
Source§fn align_center_right(self) -> AlignedView<Self>
fn align_center_right(self) -> AlignedView<Self>
Source§fn align_bottom_left(self) -> AlignedView<Self>
fn align_bottom_left(self) -> AlignedView<Self>
Source§fn align_bottom_center(self) -> AlignedView<Self>
fn align_bottom_center(self) -> AlignedView<Self>
Source§fn align_bottom_right(self) -> AlignedView<Self>
fn align_bottom_right(self) -> AlignedView<Self>
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.