pub struct TilesState { /* private fields */ }Expand description
Everything gpui_base::dock exports, so a consumer never has to depend
on the foundation crate directly to write a skin or read a container’s
state. Kept in step with base’s own list by
every_base_dock_export_is_reachable_from_here.
Two names are handled elsewhere and one is deliberately absent:
base’s Panel and PanelView arrive as BasePanel and BasePanelView
because this module’s Panel/PanelView are the presentation halves that
extend them, and base’s Dock — a plain state struct holding one dock’s
open, collapsible, size and resizing flags — is not re-exported at all,
because the name meant a panel container in every released version of this
crate and handing it back with a different meaning is worse than dropping
it. A skin reads a dock through DockContext.
A tiles canvas’s behavior, with no appearance of its own.
It owns the tile list mirrored from the layout tree, the in-flight move and
resize state, and the undo stack. Everything visible is produced by the
TilesRenderer the host installs.
Implementations§
Source§impl TilesState
impl TilesState
pub fn with_renderer(self, renderer: Rc<dyn TilesRenderer>) -> TilesState
Sourcepub fn tiles(&self, cx: &App) -> Vec<TileContext>
pub fn tiles(&self, cx: &App) -> Vec<TileContext>
Every tile, in stacking order (lowest first).
Sourcepub fn zoomed_tile(&self) -> Option<PanelId>
pub fn zoomed_tile(&self) -> Option<PanelId>
The tile filling the whole dock, if one is.
Sourcepub fn toggle_zoom(
&mut self,
panel: PanelId,
window: &mut Window,
cx: &mut Context<'_, TilesState>,
)
pub fn toggle_zoom( &mut self, panel: PanelId, window: &mut Window, cx: &mut Context<'_, TilesState>, )
Flip one tile’s zoom.
Sourcepub fn undo(&mut self, cx: &mut Context<'_, TilesState>)
pub fn undo(&mut self, cx: &mut Context<'_, TilesState>)
Undo the most recent group of tile changes.
Sourcepub fn redo(&mut self, cx: &mut Context<'_, TilesState>)
pub fn redo(&mut self, cx: &mut Context<'_, TilesState>)
Redo the most recently undone group of tile changes.
Trait Implementations§
impl EventEmitter<TilesEvent> for TilesState
Source§impl Focusable for TilesState
impl Focusable for TilesState
Source§fn focus_handle(&self, _: &App) -> FocusHandle
fn focus_handle(&self, _: &App) -> FocusHandle
Source§impl Render for TilesState
impl Render for TilesState
Source§fn render(
&mut self,
window: &mut Window,
cx: &mut Context<'_, TilesState>,
) -> impl IntoElement
fn render( &mut self, window: &mut Window, cx: &mut Context<'_, TilesState>, ) -> impl IntoElement
Auto Trait Implementations§
impl !RefUnwindSafe for TilesState
impl !Send for TilesState
impl !Sync for TilesState
impl !UnwindSafe for TilesState
impl Freeze for TilesState
impl Unpin for TilesState
impl UnsafeUnpin for TilesState
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