ArionUI.Presentation.Overlay Core

Namespace in the ArionUI.Presentation package, 8 types.

Classes

MenuOverlayContent
A self-drawn dropdown/context menu — the first IOverlayContent. Host-neutral: it draws via IRenderSurface and handles pointer + keyboard, so the operator menu, Σ menu and context menu render identically on every host. Data/actions come from the caller (e.g. IGridViewOps).

Records

FilterDialogBehavior
Whether the value-filter dialog closes when one of its own menu rows acts. Default: it STAYS OPEN — a menu row does its thing and you keep working in the dialog (sort ascending, look, sort descending). Only OK/Cancel, Esc, picking a text-filter and the light-dismiss close it. Apps that prefer the Excel-style close-on-sort flip the flags; the grid exposes them as properties so it can be set per grid rather than per process.
MenuItem
One row of a MenuOverlayContent: a clickable entry (optionally check-marked / disabled / danger) or a separator. MenuItem.Icon draws in the left gutter when the entry is NOT checked (e.g. the operator glyph); a checked entry shows a ✓ there instead — same as the classic menu. MenuItem.ClosesMenu (default true) decides whether picking the entry also dismisses the menu — set it false for entries you keep clicking (toggles, an option you want to compare), so the dev owns that behaviour per entry.

Structs

OverlayFrameState
What the host tells a pane about its situation each frame. OverlayFrameState.IsActive means this is the topmost pane, the one that owns the keyboard: only it may draw a focused field and a caret. OverlayFrameState.CaretVisible is the host's single caret-blink phase — the same flag the grid feeds its filter row.
OverlayPaneLayer
One placed pane in the overlay stack, bottom-to-top — the renderer draws them in list order so a submenu paints over its parent.

Interfaces

IOverlayContent
A self-drawn, interactive overlay pane (menu, filter checklist, picker, …).
IPaneHostSurface
What a host must provide so the grid's standard panes can run on it: put a content on screen, measure a string, and reach into the grid's live state. No window, control or framework type appears in it.

Enums

OverlayPlacement
Where an overlay opens relative to its anchor rect/point.