Expand description
The gpui-component appearance for the dock.
The layout tree, the persisted schema, the drag geometry, the active-panel
state machine and the container entities all live in
gpui_base::dock. This module is the skin over them: it re-exports the
types a consumer needs, adds the presentation half of the panel traits
(see [panel]), and implements base’s three renderer traits.
ⓘ
let area = cx.new(|cx| {
DockArea::new("main", Some(1), window, cx).with_renderer(DockSkin::new(cx))
});A DockArea built without DockSkin still docks, drags and persists —
it simply draws no chrome at all.
Structs§
- AnyDrag
- Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Close
Panel - Dock
Area - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Area State - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Context - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Layout - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Sizing - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Skin - The gpui-component appearance for a
DockArea, and the handle its settings are changed through. - Dock
State - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Drag
Panel - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Drag
Panel Preview - The preview that follows the cursor while a panel is dragged.
- Drop
Indicator - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Drop
Placeholder Bounds - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Edit
Result - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - NodeId
- Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Pane
Node - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Pane
Tree - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Build Context - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Handle - The panel handle
gpui-baseholds on this crate’s behalf. - PanelId
- Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Registry - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
State - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - TabGroup
- Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - TabGroup
Constraints - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - TabGroup
Context - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tile
Context - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tile
Meta - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tile
Panel - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tiles
State - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Title
Style - Toggle
Zoom
Enums§
- Dock
Event - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Dock
Placement - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Drop
Target - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Insert
Target - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - PaneRef
- Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Control - Panel
Event - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Info - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Style - Resize
Side - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Root
Kind - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - TabGroup
Event - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tiles
Event - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here.
Constants§
- DRAG_
BAR_ HEIGHT - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - HANDLE_
SIZE - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here.
Traits§
- Base
Panel - The behavior half of the panel traits, which every panel implements
alongside
Panel. Exported under this name becausePanelin this module is the presentation half that extends it. Behavior a dockable panel provides. Presentation lives in the layer above:gpui_component::dock::Panelextends this with titles, toolbars, and menus. - Base
Panel View - The object-safe counterpart of
BasePanel, for the same reason. Object-safe counterpart ofPanel, used to hold heterogeneous panel entities behind a single handle. - Dock
Area Renderer - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
- What a panel draws, on top of the behavior
gpui_base::dock::Paneldefines. - Panel
Builder - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
Source - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Panel
View - Object-safe counterpart of
Panel, and the presentation half of the handle a skin holds. - TabGroup
Renderer - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here. - Tiles
Renderer - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here.
Functions§
- panel_
handle - Wrap
panelso base carries its presentation across the renderer seam. - register_
panel - Everything
gpui_base::dockexports, 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 byevery_base_dock_export_is_reachable_from_here.