pub struct Tab<TabId: Clone + PartialEq> {
pub id: TabId,
pub label: String,
pub icon: Option<Icon>,
}Expand description
One tab in a TabBar. Carries an application-defined TabId so
that the application is the source of truth for which tab is which.
§Example
use snora_core::Tab;
#[derive(Clone, PartialEq, Eq, Debug)]
enum WorkspaceTab { Library, Editor, Settings }
let editor = Tab {
id: WorkspaceTab::Editor,
label: "Editor".into(),
icon: None,
};
assert_eq!(editor.label, "Editor");
assert_eq!(editor.id, WorkspaceTab::Editor);Fields§
§id: TabIdApplication-defined identifier. Compared against TabBar::active
to decide which tab to highlight.
label: StringVisible label.
icon: Option<Icon>Optional leading icon.
Trait Implementations§
Auto Trait Implementations§
impl<TabId> Freeze for Tab<TabId>where
TabId: Freeze,
impl<TabId> RefUnwindSafe for Tab<TabId>where
TabId: RefUnwindSafe,
impl<TabId> Send for Tab<TabId>where
TabId: Send,
impl<TabId> Sync for Tab<TabId>where
TabId: Sync,
impl<TabId> Unpin for Tab<TabId>where
TabId: Unpin,
impl<TabId> UnsafeUnpin for Tab<TabId>where
TabId: UnsafeUnpin,
impl<TabId> UnwindSafe for Tab<TabId>where
TabId: UnwindSafe,
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