Struct rat_widget::splitter::Split

source ·
pub struct Split<'a> { /* private fields */ }
Expand description

Splits the area in multiple parts and allows changing the sizes.

This widget doesn’t hold a reference to the rendered widgets or such, use [SplitState::areas] to render each part, after rendering the split widget.

Additionally, Split itself can’t be rendered but acts as a builder for the actual widgets. Call into_widgets to get the actual SplitWidget and the SplitOverlay. SplitWidget must be rendered first, after that you can access the SplitState::areas to render the parts, and last render SplitOverlay to render the markers that will appear overlaid on the widgets.

Implementations§

source§

impl<'a> Split<'a>

source

pub fn new() -> Self

source

pub fn constraints( self, constraints: impl IntoIterator<Item = Constraint>, ) -> Self

Set constraints for the initial area sizes. If the window is resized the current widths are used as constraints for recalculating.

The number of constraints determines the number of areas.

source

pub fn direction(self, direction: Direction) -> Self

Layout direction of the widgets. Direction::Horizontal means the widgets are laid out left to right, with a vertical split area in between.

source

pub fn split_type(self, split_type: SplitType) -> Self

Controls rendering of the splitter.

source

pub fn join(self, border: BorderType) -> Self

Draw a join character between the split and the border on the left/top side. This sets the border type used for the left/top border.

source

pub fn join_0(self, border: BorderType) -> Self

Draw a join character between the split and the border on the left/top side. This sets the border type used for the left/top border.

source

pub fn join_1(self, border: BorderType) -> Self

Draw a join character between the split and the border on the right/bottom side. This sets the border type used for the right/bottom border.

source

pub fn block(self, block: Block<'a>) -> Self

Outer block.

source

pub fn styles(self, styles: SplitStyle) -> Self

Set all styles.

source

pub fn style(self, style: Style) -> Self

Style for the split area.

source

pub fn arrow_style(self, style: Style) -> Self

Style for the arrows.

source

pub fn drag_style(self, style: Style) -> Self

Style while dragging the splitter.

source

pub fn mark_offset(self, offset: u16) -> Self

Offset for the split marker from the top/left.

source

pub fn mark_0(self, mark: &'a str) -> Self

First marker char for the splitter.

source

pub fn mark_1(self, mark: &'a str) -> Self

Second marker char for the splitter.

source

pub fn into_widgets(self) -> (SplitWidget<'a>, SplitOverlay<'a>)

Constructs the widgets for rendering.

Trait Implementations§

source§

impl<'a> Clone for Split<'a>

source§

fn clone(&self) -> Split<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Split<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Default for Split<'a>

source§

fn default() -> Split<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Split<'a>

§

impl<'a> RefUnwindSafe for Split<'a>

§

impl<'a> Send for Split<'a>

§

impl<'a> Sync for Split<'a>

§

impl<'a> Unpin for Split<'a>

§

impl<'a> UnwindSafe for Split<'a>

Blanket Implementations§

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> 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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
source§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.