Skip to main content

Crate grimdock

Crate grimdock 

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

AddTabEntry
A caller-provided entry shown in built-in add-tab and split-here menus.
ContentStyle
DropPolicy
Fine-grained permissions for tab merge and directional split drops.
HandleStyle
HeaderButtonStyle
HeaderStyle
LegacyPersistedPanelTree
Legacy unversioned persistence shape that mirrors direct serde of PanelTree. This is only used for migration into the explicit versioned format.
OverlayStyle
Pane
Shared read-only access to a pane.
PaneActionInvocation
A custom pane action invoked from the built-in pane menu during this frame.
PaneBuilder
Builder for constructing a pane with explicit tabs, focus, and options.
PaneId
Stable identifier for a pane leaf.
PaneMenuAction
A caller-provided pane action shown in the built-in pane menu.
PaneMut
Mutable access to a pane.
PaneOptions
Behaviour flags for a pane leaf.
PaneStyleOverride
PanelContext
Entry point for rendering the panel layout each frame.
PanelOutput
Mutations emitted by a single PanelContext::show pass.
PanelStyle
All visual parameters for the panel layout system.
PanelTree
The panel layout tree — a binary tree stored as a flat heap-indexed array.
PersistedPanelTree
Versioned, runtime-independent layout payload for persistence.
Tab
A single tab that lives inside a pane.
TabDropPolicy
Per-tab drop constraints evaluated against the destination pane.
TabStateStyle
TabStyle
TabStyleOverride
TypographyStyle

Enums§

ChildSide
Which child slot a newly created pane should land in when calling PanelTree::split_leaf.
HeaderVisibility
Controls when a pane’s header/tab bar is shown.
LegacyPersistedNode
Node
A single node in the flat-array binary tree.
OpenBehavior
Built-in behavior for resolving add/open actions when a tab with the same identifier may already exist.
PaneAnchor
Stable root-edge placement for panes that should keep a semantic location.
PaneRole
Semantic pane role for higher-level policy targeting.
PersistError
PersistedNode
Persisted node payload for PersistedPanelTree.
PersistedPanelTreeFile
Deserialization entry point that accepts both the current versioned format and the legacy unversioned format.
SplitDir
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.