#[non_exhaustive]pub enum TabGroupEvent {
Drop {
panel: PanelId,
source: NodeId,
target: InsertTarget,
},
DragDrop {
item: AnyDrag,
target: DropTarget,
},
ClosePanel {
panel: PanelId,
},
ActiveChanged {
ix: usize,
},
ZoomIn,
ZoomOut,
}Expand description
Behavior a tab group cannot carry out on its own.
Every variant here ends in an edit to the layout tree, and the tree belongs to the container that owns this group. Reporting the intent instead of reaching for the container keeps the whole detach-then-reinsert dance — and the reentrancy it used to provoke — out of the group entirely.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Drop
A panel was dropped on this group. target says where in the tree it
lands; the container applies it as a single PaneTree::move_panel.
DragDrop
A host-owned drag landed on this group.
ClosePanel
The user asked to close panel.
ActiveChanged
The displayed tab changed, so the tree’s stored active_ix is stale.
ZoomIn
This group asked to fill the whole dock. The container installs the group as its zoomed view, chrome and all — the tab bar is where the control that zooms back out lives.
ZoomOut
This group gave the dock back.
Trait Implementations§
impl EventEmitter<TabGroupEvent> for TabGroup
Auto Trait Implementations§
impl !RefUnwindSafe for TabGroupEvent
impl !Send for TabGroupEvent
impl !Sync for TabGroupEvent
impl !UnwindSafe for TabGroupEvent
impl Freeze for TabGroupEvent
impl Unpin for TabGroupEvent
impl UnsafeUnpin for TabGroupEvent
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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