WindowPanelWidget
Namespace: Hex1b.Widgets
Assembly: Hex1b.dll
A container panel that hosts floating windows. Windows are managed through the and rendered over a decorative background.
public sealed record WindowPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<WindowPanelWidget>Inheritance
Object → Hex1bWidget → WindowPanelWidget
Implements
Constructors
WindowPanelWidget(string?)
A container panel that hosts floating windows. Windows are managed through the and rendered over a decorative background.
Parameters:
Name(String): Optional name for this panel. Required when using multiple WindowPanels.
public WindowPanelWidget(string? Name = null)Properties
AllowOutOfBounds
Whether windows can be moved outside the panel bounds. When true, scrollbars appear to allow panning to out-of-bounds windows.
Returns: Boolean
public bool AllowOutOfBounds { get; init; }Background
Optional background widget that renders behind all windows. This widget participates in input routing and focus management.
Returns: Hex1bWidget
public Hex1bWidget? Background { get; init; }Name
Optional name for this panel. Required when using multiple WindowPanels.
Returns: String
public string? Name { get; init; }Fields
FocusNextAction
Returns: ActionId
public static readonly ActionId FocusNextActionFocusPreviousAction
Returns: ActionId
public static readonly ActionId FocusPreviousActionPanDownAction
Returns: ActionId
public static readonly ActionId PanDownActionPanUpAction
Returns: ActionId
public static readonly ActionId PanUpActionRemarks
WindowPanel provides the bounded area within which floating windows can be positioned and dragged. By default, windows are clamped to the panel bounds. Set to true to allow windows to be dragged outside the panel, with scrollbars appearing for navigation.
Access the window manager from event handlers via e.Windows:
ctx.Button("Open").OnClick(e => {
e.Windows.Window(w => w.Text("Hello"))
.Title("Settings")
.Open(e.Windows);
});When using multiple WindowPanels, each must have a unique name:
ctx.WindowPanel("editor");
ctx.WindowPanel("preview");
// Access via: e.Windows["editor"].Open(...)