Struct AlignedView

Source
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:

  1. Via the Alignable composition trait
  2. 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>

Source

pub fn new(view: T, alignment: Align) -> Self

Source

pub fn with_top_left(view: T) -> Self

Wrap a child view and align it at the top-left of the parent.

Source

pub fn with_top_center(view: T) -> Self

Wrap a child view and align it at the top-center of the parent.

Source

pub fn with_top_right(view: T) -> Self

Wrap a child view and align it at the top-right of the parent.

Source

pub fn with_center_left(view: T) -> Self

Wrap a child view and align it at the center-left of the parent.

Source

pub fn with_center(view: T) -> Self

Wrap a child view and align it at the center of the parent.

Source

pub fn with_center_right(view: T) -> Self

Wrap a child view and align it at the center-right of the parent.

Source

pub fn with_bottom_left(view: T) -> Self

Wrap a child view and align it at the bottom-left of the parent.

Source

pub fn with_bottom_center(view: T) -> Self

Wrap a child view and align it at the bottom-center of the parent.

Source

pub fn with_bottom_right(view: T) -> Self

Wrap a child view and align it at the bottom-right of the parent.

Source

pub fn set_top_left(&mut self)

Set the alignment of this view to top-left.

Source

pub fn set_top_center(&mut self)

Set the alignment of this view to top-center.

Source

pub fn set_top_right(&mut self)

Set the alignment of this view to top-right.

Source

pub fn set_center_left(&mut self)

Set the alignment of this view to center-left.

Source

pub fn set_center(&mut self)

Set the alignment of this view to center.

Source

pub fn set_center_right(&mut self)

Set the alignment of this view to center-right.

Source

pub fn set_bottom_left(&mut self)

Set the alignment of this view to bottom-left.

Source

pub fn set_bottom_center(&mut self)

Set the alignment of this view to bottom-center.

Source

pub fn set_bottom_right(&mut self)

Set the alignment of this view to bottom-right.

Source

pub fn alignment(&self) -> &Align

Get the current alignment of this view.

Trait Implementations§

Source§

impl<T: View> ViewWrapper for AlignedView<T>

Source§

type V = T

Type that this view wraps.
Source§

fn with_view<F, R>(&self, f: F) -> Option<R>
where F: FnOnce(&Self::V) -> R,

Runs a function on the inner view, returning the result. Read more
Source§

fn with_view_mut<F, R>(&mut self, f: F) -> Option<R>
where F: FnOnce(&mut Self::V) -> R,

Runs a function on the inner view, returning the result. Read more
Source§

fn into_inner(self) -> Result<Self::V, Self>
where Self::V: Sized,

Attempts to retrieve the inner view.
Source§

fn wrap_draw(&self, printer: &Printer<'_, '_>)

Wraps the draw method.
Source§

fn wrap_layout(&mut self, size: Vec2)

Wraps the layout method.
Source§

fn wrap_needs_relayout(&self) -> bool

Wraps the needs_relayout method.
Source§

fn wrap_required_size(&mut self, constraint: Vec2) -> Vec2

Wraps the required_size method.
Source§

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

Wraps the on_event method.
Source§

fn wrap_important_area(&self, _: Vec2) -> Rect

Wraps the important_area method.
Source§

fn wrap_take_focus( &mut self, source: Direction, ) -> Result<EventResult, CannotFocus>

Wraps the take_focus method.
Source§

fn wrap_call_on_any( &mut self, selector: &Selector<'_>, callback: &mut dyn FnMut(&mut (dyn View + 'static)), )

Wraps the find method.
Source§

fn wrap_focus_view( &mut self, selector: &Selector<'_>, ) -> Result<EventResult, ViewNotFound>

Wraps the 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 T
where T: View,

Source§

fn align_top_left(self) -> AlignedView<Self>

Align a child view at the top-left of the parent.
Source§

fn align_top_center(self) -> AlignedView<Self>

Align a child view at the top-center of the parent.
Source§

fn align_top_right(self) -> AlignedView<Self>

Align a child view at the top-right of the parent.
Source§

fn align_center_left(self) -> AlignedView<Self>

Align a child view at the center-left of the parent.
Source§

fn align_center(self) -> AlignedView<Self>

Align a child view at the center of the parent.
Source§

fn align_center_right(self) -> AlignedView<Self>

Align a child view at the center-right of the parent.
Source§

fn align_bottom_left(self) -> AlignedView<Self>

Align a child view at the bottom-left of the parent.
Source§

fn align_bottom_center(self) -> AlignedView<Self>

Align a child view at the bottom-center of the parent.
Source§

fn align_bottom_right(self) -> AlignedView<Self>

Align a child view at the bottom-right of the parent.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyView for T
where T: View,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Downcast self to a Any.

Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Downcast self to a mutable Any.

Source§

fn as_boxed_any(self: Box<T>) -> Box<dyn Any>

Returns a boxed any from a boxed self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Finder for T
where T: View,

Source§

fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)
where V: View, F: FnMut(&mut V),

Runs a callback on all views identified by sel. Read more
Source§

fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>
where V: View, F: FnOnce(&mut V) -> R,

Runs a callback on the view identified by sel. Read more
Source§

fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
where V: View, F: FnOnce(&mut V) -> R,

Convenient method to use call_on with a view::Selector::Name.
Source§

fn find_name<V>(&mut self, name: &str) -> Option<ViewRef<V>>
where V: View,

Convenient method to find a view wrapped in an NamedView.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoBoxedView for T
where T: View,

Source§

fn into_boxed_view(self) -> Box<dyn View>

Returns a Box<View>.
Source§

impl<T> Nameable for T
where T: View,

Source§

fn with_name<S>(self, name: S) -> NamedView<Self>
where S: Into<String>,

Wraps this view into an NamedView with the given id. Read more
Source§

impl<T> Resizable for T
where T: View,

Source§

fn resized( self, width: SizeConstraint, height: SizeConstraint, ) -> ResizedView<Self>

Wraps self in a ResizedView with the given size constraints.
Source§

fn fixed_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a fixed-size ResizedView.
Source§

fn fixed_width(self, width: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
Source§

fn fixed_height(self, height: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
Source§

fn full_screen(self) -> ResizedView<Self>

Wraps self into a full-screen ResizedView.
Source§

fn full_width(self) -> ResizedView<Self>

Wraps self into a full-width ResizedView.
Source§

fn full_height(self) -> ResizedView<Self>

Wraps self into a full-height ResizedView.
Source§

fn max_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a limited-size ResizedView.
Source§

fn max_width(self, max_width: usize) -> ResizedView<Self>

Wraps self into a limited-width ResizedView.
Source§

fn max_height(self, max_height: usize) -> ResizedView<Self>

Wraps self into a limited-height ResizedView.
Source§

fn min_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a ResizedView at least sized size.
Source§

fn min_width(self, min_width: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_width wide.
Source§

fn min_height(self, min_height: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_height tall.
Source§

impl<T> Scrollable for T
where T: View,

Source§

fn scrollable(self) -> ScrollView<Self>

Wraps self in a ScrollView.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> View for T
where T: ViewWrapper,

Source§

fn draw(&self, printer: &Printer<'_, '_>)

Draws the view with the given printer (includes bounds) and focus. Read more
Source§

fn required_size(&mut self, req: XY<usize>) -> XY<usize>

Returns the minimum size the view requires with the given restrictions. Read more
Source§

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

Called when an event is received (key press, mouse event, …). Read more
Source§

fn layout(&mut self, size: XY<usize>)

Called once the size for this view has been decided. Read more
Source§

fn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>

Attempt to give this view the focus. Read more
Source§

fn call_on_any( &mut self, selector: &Selector<'_>, callback: &mut dyn FnMut(&mut (dyn View + 'static)), )

Runs a closure on the view identified by the given selector. Read more
Source§

fn needs_relayout(&self) -> bool

Should return true if the view content changed since the last call to layout(). Read more
Source§

fn focus_view( &mut self, selector: &Selector<'_>, ) -> Result<EventResult, ViewNotFound>

Moves the focus to the view identified by the given selector. Read more
Source§

fn important_area(&self, size: XY<usize>) -> Rect

What part of the view is important and should be visible? Read more
Source§

fn type_name(&self) -> &'static str

Returns the type of this view. Read more
Source§

impl<T> With for T

Source§

fn wrap_with<U, F>(self, f: F) -> U
where F: FnOnce(Self) -> U,

Calls the given closure and return the result. Read more
Source§

fn with<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure on self.
Source§

fn try_with<E, F>(self, f: F) -> Result<Self, E>
where F: FnOnce(&mut Self) -> Result<(), E>,

Calls the given closure on self.
Source§

fn with_if<F>(self, condition: bool, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure if condition == true.