Struct cursive_extras::TabContainer
source · 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 !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)where
V: View,
F: FnMut(&mut V),
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 moresource§fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>where
V: View,
F: FnOnce(&mut V) -> R,
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 moresource§impl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere T: View,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
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>where
S: Into<XY<usize>>,
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>
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>where
S: Into<XY<usize>>,
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>
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>where
S: Into<XY<usize>>,
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>
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
.