Skip to main content

SplitPanel

Struct SplitPanel 

Source
pub struct SplitPanel { /* private fields */ }
Expand description

Split panel.

Contains two panes with an optionally movable divider between them and an optional border. (Both features are enabled by default.)

Can be oriented horizontally (the default) or vertically.

When movable_divider is true will support the following events (configurable):

  • Shift+Left/Shift+Up: move the divider towards the front
  • Shift+Right/Shift+Down: move the divider towards the back
  • Mouse dragging of the divider

Implementations§

Source§

impl SplitPanel

Source

pub fn new(orientation: Orientation) -> Self

Constructor.

Source

pub fn horizontal() -> Self

Constructor.

Source

pub fn vertical() -> Self

Constructor.

Source

pub fn orientation(&self) -> Orientation

Orienation.

Source

pub fn set_orientation(&mut self, orientation: Orientation)

Set orientation.

Source

pub fn with_orientation(self, orientation: Orientation) -> Self

Set orientation.

Chainable.

Source

pub fn border(&self) -> bool

Whether to draw a border.

Source

pub fn set_border(&mut self, border: bool)

Set whether to draw a border.

Source

pub fn with_border(self, border: bool) -> Self

Set whether to draw a border.

Chainable.

Source

pub fn visible_divider(&self) -> bool

Whether the divider is visible.

Source

pub fn set_visible_divider(&mut self, visible_divider: bool)

Set whether the divider is visible.

Source

pub fn with_visible_divider(self, visible_divider: bool) -> Self

Set whether the divider is visible.

Chainable.

Source

pub fn movable_divider(&self) -> bool

Whether to allow the divider to move.

Source

pub fn set_movable_divider(&mut self, movable_divider: bool)

Set whether to allow the divider to move.

Source

pub fn with_movable_divider(self, movable_divider: bool) -> Self

Set whether to allow the divider to move.

Chainable.

Source

pub fn front(&self) -> &dyn View

View for front panel.

Source

pub fn front_mut(&mut self) -> &mut dyn View

View for front panel.

Source

pub fn set_front<ViewT>(&mut self, view: ViewT)
where ViewT: 'static + IntoBoxedView,

Set view for front panel.

Source

pub fn with_front<ViewT>(self, view: ViewT) -> Self
where ViewT: 'static + IntoBoxedView,

Set view for front panel.

Chainable.

Examples found in repository?
examples/simple.rs (line 11)
6fn main() {
7    let mut cursive = default();
8
9    cursive.add_fullscreen_layer(
10        SplitPanel::default()
11            .with_front(text_view().scrollable().full_screen())
12            .with_back(text_view().scrollable().full_screen()),
13    );
14
15    cursive.add_global_callback('q', |cursive| cursive.quit());
16
17    cursive.run();
18}
Source

pub fn back(&self) -> &dyn View

View for back panel.

Source

pub fn back_mut(&mut self) -> &mut dyn View

View for back panel.

Source

pub fn set_back<ViewT>(&mut self, view: ViewT)
where ViewT: 'static + IntoBoxedView,

Set view for back panel.

Source

pub fn with_back<ViewT>(self, view: ViewT) -> Self
where ViewT: 'static + IntoBoxedView,

Set view for back panel.

Chainable.

Examples found in repository?
examples/simple.rs (line 12)
6fn main() {
7    let mut cursive = default();
8
9    cursive.add_fullscreen_layer(
10        SplitPanel::default()
11            .with_front(text_view().scrollable().full_screen())
12            .with_back(text_view().scrollable().full_screen()),
13    );
14
15    cursive.add_global_callback('q', |cursive| cursive.quit());
16
17    cursive.run();
18}
Source

pub fn divider(&self) -> Option<usize>

The divider position as the distance from the front border.

Returns None if not yet set.

Source

pub fn set_divider(&mut self, divider: usize)

Set divider position as the distance from the front border.

Note that if it doesn’t fit it will move during layout.

Source

pub fn with_divider(self, divider: usize) -> Self

Set divider position as the distance from the front border.

Note that if it doesn’t fit it will move during layout.

Chainable.

Source

pub fn actions(&self) -> &Actions

Action map.

Source

pub fn actions_mut(&mut self) -> &mut Actions

Action map.

Source

pub fn set_actions(&mut self, actions: Actions)

Set action map.

Source

pub fn with_actions(self, actions: Actions) -> Self

Set action map.

Chainable.

Source

pub fn set_action<EventT>(&mut self, action: Action, event: EventT)
where EventT: Into<Event>,

Set action.

Note that actions can be associated with more than one event.

Source

pub fn with_action<EventT>(self, action: Action, event: EventT) -> Self
where EventT: Into<Event>,

Set action.

Note that actions can be associated with more than one event.

Chainable.

Source

pub fn remove_action(&mut self, action: Action) -> bool

Remove action.

Will remove all associated events.

Return true if removed.

Source

pub fn without_action(self, action: Action) -> Self

Remove action.

Will remove all associated events.

Chainable.

Trait Implementations§

Source§

impl Default for SplitPanel

Source§

fn default() -> Self

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

impl View for SplitPanel

Source§

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

Returns the type of this view. 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 take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>

Attempt to give this view the focus. 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 layout(&mut self, size: Vec2)

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

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

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

fn important_area(&self, size: Vec2) -> Rect

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

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

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

fn call_on_any(&mut self, selector: &Selector<'_>, callback: AnyCb<'_>)

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

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

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

Auto Trait Implementations§

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> 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> 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.