Expand description
§grimdock
A dockable panel layout system for egui.
Provides an IDE-style workspace where panels can be split, resized, and rearranged by dragging tabs — all within egui’s immediate-mode layer.
§Quick start
let style = PanelStyle::default();
PanelContext::new(ui, tree, &style).show(|ui, tab_id| {
ui.label(*tab_id);
});Structs§
- AddTab
Entry - A caller-provided entry shown in built-in add-tab and split-here menus.
- Content
Style - Drop
Policy - Fine-grained permissions for tab merge and directional split drops.
- Handle
Style - Header
Button Style - Header
Style - Legacy
Persisted Panel Tree - Legacy unversioned persistence shape that mirrors direct serde of
PanelTree. This is only used for migration into the explicit versioned format. - Overlay
Style - Pane
- Shared read-only access to a pane.
- Pane
Action Invocation - A custom pane action invoked from the built-in pane menu during this frame.
- Pane
Builder - Builder for constructing a pane with explicit tabs, focus, and options.
- PaneId
- Stable identifier for a pane leaf.
- Pane
Menu Action - A caller-provided pane action shown in the built-in pane menu.
- PaneMut
- Mutable access to a pane.
- Pane
Options - Behaviour flags for a pane leaf.
- Pane
Style Override - Panel
Context - Entry point for rendering the panel layout each frame.
- Panel
Output - Mutations emitted by a single
PanelContext::showpass. - Panel
Style - All visual parameters for the panel layout system.
- Panel
Tree - The panel layout tree — a binary tree stored as a flat heap-indexed array.
- Persisted
Panel Tree - Versioned, runtime-independent layout payload for persistence.
- Tab
- A single tab that lives inside a pane.
- TabDrop
Policy - Per-tab drop constraints evaluated against the destination pane.
- TabState
Style - TabStyle
- TabStyle
Override - Typography
Style
Enums§
- Child
Side - Which child slot a newly created pane should land in when calling
PanelTree::split_leaf. - Header
Visibility - Controls when a pane’s header/tab bar is shown.
- Legacy
Persisted Node - Node
- A single node in the flat-array binary tree.
- Open
Behavior - Built-in behavior for resolving add/open actions when a tab with the same identifier may already exist.
- Pane
Anchor - Stable root-edge placement for panes that should keep a semantic location.
- Pane
Role - Semantic pane role for higher-level policy targeting.
- Persist
Error - Persisted
Node - Persisted node payload for
PersistedPanelTree. - Persisted
Panel Tree File - Deserialization entry point that accepts both the current versioned format and the legacy unversioned format.
- Split
Dir - Direction of a split between two child panes.
- TabIcon
- Leading tab icon content rendered before the tab title.
Constants§
- PANEL_
TREE_ FORMAT_ VERSION - Current persisted layout format version.