pub struct TabContainer { /* private fields */ }
Expand description
The internal view used by the tabbed views
This is a lightweight clone of the TabView
view in cursive-tabs
that uses numeric
IDs instead of string IDs
Implementations§
Source§impl TabContainer
impl TabContainer
Sourcepub fn new() -> TabContainer
pub fn new() -> TabContainer
Create a new TabContainer
Sourcepub fn cur_view_mut(&mut self) -> Option<&mut BoxedView>
pub fn cur_view_mut(&mut self) -> Option<&mut BoxedView>
Mutable version of cur_view()
Sourcepub fn get_view_mut(&mut self, id: usize) -> Option<&mut BoxedView>
pub fn get_view_mut(&mut self, id: usize) -> Option<&mut BoxedView>
Mutable version of get_view()
Sourcepub fn views(&self) -> TabIter<'_>
pub fn views(&self) -> TabIter<'_>
Iterate over all the views and their IDs in this TabContainer
Sourcepub fn views_mut(&mut self) -> TabIterMut<'_>
pub fn views_mut(&mut self) -> TabIterMut<'_>
Mutable version of views()
Do NOT change the view IDs!
Sourcepub fn ids(&self) -> Vec<usize>
pub fn ids(&self) -> Vec<usize>
Return all the tab IDs from least to greatest
Since usize
is Copy
, this returns the ids as a vector
Sourcepub fn set_cur_tab(&mut self, id: usize)
pub fn set_cur_tab(&mut self, id: usize)
Set the current tab by ID
Sourcepub fn add_tab<V: View>(&mut self, view: V) -> usize
pub fn add_tab<V: View>(&mut self, view: V) -> usize
Add a new view tab and returns the ID of the new tab
Sourcepub fn tab<V: View>(self, view: V) -> TabContainer
pub fn tab<V: View>(self, view: V) -> TabContainer
Add a new view tab
Chainable version
Sourcepub fn remove_tab(&mut self, id: usize)
pub fn remove_tab(&mut self, id: usize)
Delete tab by ID
Does nothing if the tab ID does not exist
Sourcepub fn swap_tabs(&mut self, id_1: usize, id_2: usize)
pub fn swap_tabs(&mut self, id_1: usize, id_2: usize)
Swap 2 tabs
Does nothing if the IDs don’t exist
Sourcepub fn set_as_first(&mut self, id: usize)
pub fn set_as_first(&mut self, id: usize)
Set the specified ID as the first tab
Sourcepub fn set_as_last(&mut self, id: usize)
pub fn set_as_last(&mut self, id: usize)
Set the specified ID as the last tab
Trait Implementations§
Source§impl Default for TabContainer
impl Default for TabContainer
Source§impl View for TabContainer
impl View for TabContainer
Source§fn draw(&self, printer: &Printer<'_, '_>)
fn draw(&self, printer: &Printer<'_, '_>)
Draws the view with the given printer (includes bounds) and focus. Read more
Source§fn layout(&mut self, size: Vec2)
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
fn required_size(&mut self, constraint: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
Source§fn on_event(&mut self, event: Event) -> EventResult
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, …). Read more
Source§fn take_focus(&mut self, dir: Direction) -> Result<EventResult, CannotFocus>
fn take_focus(&mut self, dir: Direction) -> Result<EventResult, CannotFocus>
Attempt to give this view the focus. Read more
Source§fn call_on_any(&mut self, sel: &Selector<'_>, cb: AnyCb<'_>)
fn call_on_any(&mut self, sel: &Selector<'_>, cb: AnyCb<'_>)
Runs a closure on the view identified by the given selector. Read more
Source§fn focus_view(
&mut self,
sel: &Selector<'_>,
) -> Result<EventResult, ViewNotFound>
fn focus_view( &mut self, sel: &Selector<'_>, ) -> Result<EventResult, ViewNotFound>
Moves the focus to the view identified by the given selector. Read more
Source§fn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
Auto Trait Implementations§
impl Freeze for TabContainer
impl !RefUnwindSafe for TabContainer
impl Send for TabContainer
impl Sync for TabContainer
impl Unpin for TabContainer
impl !UnwindSafe for TabContainer
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
Mutably borrows from an owned value. Read more
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)
Runs a callback on all views identified by
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>
Runs a callback on the view identified by
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>
Convenient method to use
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>
Returns a
Box<View>
.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.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>
Wraps
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>
Wraps
self
into a fixed-size ResizedView
.Source§fn fixed_width(self, width: usize) -> ResizedView<Self>
fn fixed_width(self, width: usize) -> ResizedView<Self>
Wraps
self
into a fixed-width ResizedView
.Source§fn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
Wraps
self
into a fixed-width ResizedView
.Source§fn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
Wraps
self
into a full-screen ResizedView
.Source§fn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
Wraps
self
into a full-width ResizedView
.Source§fn full_height(self) -> ResizedView<Self>
fn full_height(self) -> ResizedView<Self>
Wraps
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>
Wraps
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>
Wraps
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>
Wraps
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>
Wraps
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>
Wraps
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>
Wraps
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>
Wraps
self
in a ScrollView
.