pub struct TabBar;Expand description
Tab bar component for displaying stream tabs with scrolling support
Implementations§
Source§impl TabBar
impl TabBar
Sourcepub fn draw(
y: usize,
x1: usize,
x2: usize,
fg_color: &Option<String>,
bg_color: &Option<String>,
title_fg_color: &Option<String>,
title_bg_color: &Option<String>,
tab_labels: &[String],
tab_close_buttons: &[bool],
active_tab_index: usize,
box_selected: bool,
tab_scroll_offset: usize,
hovered_target: Option<&TabHoverTarget>,
buffer: &mut ScreenBuffer,
)
pub fn draw( y: usize, x1: usize, x2: usize, fg_color: &Option<String>, bg_color: &Option<String>, title_fg_color: &Option<String>, title_bg_color: &Option<String>, tab_labels: &[String], tab_close_buttons: &[bool], active_tab_index: usize, box_selected: bool, tab_scroll_offset: usize, hovered_target: Option<&TabHoverTarget>, buffer: &mut ScreenBuffer, )
Draw tab bar with all functionality preserved from original implementation
Sourcepub fn calculate_tab_click_index(
click_x: usize,
x1: usize,
x2: usize,
tab_labels: &[String],
tab_scroll_offset: usize,
fg_color: &Option<String>,
bg_color: &Option<String>,
) -> Option<usize>
pub fn calculate_tab_click_index( click_x: usize, x1: usize, x2: usize, tab_labels: &[String], tab_scroll_offset: usize, fg_color: &Option<String>, bg_color: &Option<String>, ) -> Option<usize>
Calculate which tab was clicked based on mouse position
Calculate if click was on navigation arrows
Sourcepub fn calculate_tab_close_click(
click_x: usize,
x1: usize,
x2: usize,
tab_labels: &[String],
tab_close_buttons: &[bool],
tab_scroll_offset: usize,
fg_color: &Option<String>,
bg_color: &Option<String>,
) -> Option<usize>
pub fn calculate_tab_close_click( click_x: usize, x1: usize, x2: usize, tab_labels: &[String], tab_close_buttons: &[bool], tab_scroll_offset: usize, fg_color: &Option<String>, bg_color: &Option<String>, ) -> Option<usize>
Calculate if click was on a close button within a tab
pub fn calculate_tab_hit_target( x: usize, x1: usize, x2: usize, tab_labels: &[String], tab_close_buttons: &[bool], tab_scroll_offset: usize, fg_color: &Option<String>, bg_color: &Option<String>, ) -> Option<TabHitTarget>
pub fn calculate_tab_hover_target( hover_x: usize, x1: usize, x2: usize, tab_labels: &[String], tab_close_buttons: &[bool], tab_scroll_offset: usize, fg_color: &Option<String>, bg_color: &Option<String>, ) -> Option<TabHoverTarget>
Auto Trait Implementations§
impl Freeze for TabBar
impl RefUnwindSafe for TabBar
impl Send for TabBar
impl Sync for TabBar
impl Unpin for TabBar
impl UnsafeUnpin for TabBar
impl UnwindSafe for TabBar
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.