Skip to main content

TabGroup

Struct TabGroup 

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

A tab group’s behavior, with no appearance of its own.

It owns the panel list mirrored from the layout tree, the displayed index, the focus handle, drag and drop hit state, and the zoom flag. Everything visible is produced by the TabGroupRenderer the host installs.

The group holds no handle on its container. What the container knows — the facts in TabGroupConstraints — is pushed in, and what the group needs done is emitted as a TabGroupEvent. That keeps a group constructible, and testable, on its own.

Implementations§

Source§

impl TabGroup

Source

pub fn with_renderer(self, renderer: Rc<dyn TabGroupRenderer>) -> Self

Source

pub fn node(&self) -> NodeId

The Tabs node this group mirrors.

Source

pub fn panels(&self) -> &[Arc<dyn PanelView>]

Source

pub fn active_ix(&self) -> usize

Source

pub fn active_panel(&self, cx: &App) -> Option<Arc<dyn PanelView>>

The panel currently on screen, which is the displayed tab unless it has gone invisible, in which case rendering falls back to the first visible panel.

Source

pub fn is_zoomed(&self) -> bool

Source

pub fn is_collapsed(&self) -> bool

Source

pub fn is_closable(&self, cx: &App) -> bool

Whether closing this group’s displayed panel is allowed at all.

Mirrors the old TabPanel::closable: the container must permit it, the group must have somewhere to go, and the displayed panel must itself be closable.

Source

pub fn select_tab( &mut self, ix: usize, window: &mut Window, cx: &mut Context<'_, Self>, )

Display ix, if it names a tab that is not already displayed.

Source

pub fn close_panel(&mut self, panel: PanelId, cx: &mut Context<'_, Self>)

Ask the container to close panel. Nothing happens for a panel that is not in this group, or when either the group or the panel refuses.

Source

pub fn toggle_zoom(&mut self, window: &mut Window, cx: &mut Context<'_, Self>)

Source

pub fn context(&self, cx: &App) -> TabGroupContext

A snapshot of everything a skin needs to draw this group.

Trait Implementations§

Source§

impl EventEmitter<TabGroupEvent> for TabGroup

Source§

impl Focusable for TabGroup

Source§

fn focus_handle(&self, cx: &App) -> FocusHandle

Returns the focus handle associated with this view.
Source§

impl Render for TabGroup

Source§

fn render( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> impl IntoElement

Render this view into an element tree.

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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more