Table of Contents

Namespace SharpConsoleUI.Builders

Classes

BarGraphBuilder

Fluent builder for creating BarGraphControl instances.

ButtonBuilder

Fluent builder for button controls

CanvasControlBuilder

Fluent builder for creating CanvasControl instances.

ChatTranscriptBuilder

Fluent builder for ChatTranscriptControl.

CheckboxBuilder

Fluent builder for checkbox controls

CollapsiblePanelBuilder

Fluent builder for creating CollapsiblePanel instances.

ColumnBuilder

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Controls

Static factory class for creating control builders

DatePickerBuilder

Fluent builder for creating and configuring DatePicker controls.

DialogTemplate

A window template for creating modal dialog windows with standard dialog behavior. Dialogs are centered, modal, and non-resizable by default.

DropdownBuilder

Fluent builder for dropdown controls

FigleControlBuilder

Fluent builder for Figlet ASCII art controls

FlowControlBuilder

Fluent builder for FlowControl.

FlowControlBuilderBase<TSelf>

Shared fluent builder base for FlowControl and its subclasses (e.g. WizardControl). It is self-typed (TSelf) so every fluent method returns the concrete builder type, keeping the chain intact through inheritance; subclasses only choose which control Apply<T>(T) is given. The control's own layout defaults (Fill / Stretch) are preserved unless explicitly overridden, since a FlowControl must fill the slot it is placed in (overriding them with the usual Top/Left would collapse the inline region to a single row).

FormBuilder

Fluent builder for FormControl instances. Holds a live FormControl and delegates all Add* / section / row / button methods to it, returning this for chaining. Build() returns the underlying form; the implicit operator allows passing a builder wherever a FormControl is expected.

GridBuilder

Fluent builder for GridControl. Column and row definitions, gaps, padding, size, alignment, colour role, and child placements are accumulated and applied in Build() in dependency order: track definitions are set first so that placement range-validation in Place(IWindowControl, int, int, int, int) sees the defined tracks, then the deferred Place(IWindowControl, int, int, int, int)/Add(IWindowControl) intents are replayed in the order they were declared.

HorizontalGridBuilder

Fluent builder for constructing HorizontalGridControl instances with a concise, chainable API. Mirrors HorizontalGridBuilder but produces a grid-backed horizontal strip.

HorizontalSplitterBuilder

Fluent builder for creating HorizontalSplitterControl instances.

HtmlBuilder

Fluent builder for HtmlControl

ImageControlBuilder

Fluent builder for creating ImageControl instances.

LineGraphBuilder

Fluent builder for creating LineGraphControl instances.

ListBuilder

Fluent builder for list controls

MarkupBuilder

Fluent builder for markup controls

MenuBuilder

Fluent builder for creating MenuControl instances with a clean, chainable API.

MenuItemBuilder

Fluent builder for creating MenuItem instances with a hierarchical structure.

MultilineEditControlBuilder

Fluent builder for multiline edit controls

NavigationHeaderBuilder

Fluent builder for configuring items under a navigation header.

NavigationViewBuilder

Fluent builder for NavigationView controls.

PanelBuilder

Fluent builder for creating PanelControl instances.

ProgressBarBuilder

Fluent builder for creating ProgressBarControl instances.

PromptBuilder

Fluent builder for prompt controls

RadioBuilder<T>

Fluent builder for RadioControl<T>.

RadioGroupBuilder<T>

Fluent builder for RadioGroup<T> — the non-visual coordination object that owns the single-selection invariant for a set of RadioControl<T> instances.

RangeSliderBuilder

Fluent builder for creating RangeSliderControl instances.

RuleBuilder

Fluent builder for rule controls (horizontal separator lines)

ScrollablePanelBuilder

Fluent builder for scrollable panel controls

SliderBuilder

Fluent builder for creating SliderControl instances.

SparklineBuilder

Fluent builder for creating SparklineControl instances.

SpectreRenderableBuilder

Fluent builder for Spectre.Console renderable controls

SpinnerBuilder

Fluent builder for SpinnerControl.

SplitterControlBuilder

Fluent builder for creating SplitterControl instances.

StatusBarBuilder

Fluent builder for StatusBarControl. Methods follow standard builder naming (AddLeft, WithBackgroundColor, etc.).

TabControlBuilder

Fluent builder for tab controls

TableControlBuilder

Fluent builder for creating TableControl instances with comprehensive configuration.

TerminalBuilder

Fluent builder for creating a TerminalControl. Supported platforms: Linux (openpty), Windows 10 1809+ (ConPTY).

TimePickerBuilder

Fluent builder for creating and configuring TimePicker controls.

ToolWindowTemplate

A window template for creating tool windows with standard tool panel behavior. Tool windows are typically smaller, positioned to the side, and can be resized and moved.

ToolbarBuilder

Fluent builder for toolbar controls

TreeControlBuilder

Fluent builder for tree controls

VideoControlBuilder

Fluent builder for VideoControl.

WindowBounds

Immutable window bounds information

WindowBuilder

Provides a fluent builder pattern for creating and configuring windows in the console window system. Use method chaining to configure window properties before calling Build() or BuildAndShow(bool).

WindowTemplate

Abstract base class for window templates that encapsulate reusable window configurations. Inherit from this class to create custom templates for common window types.

WizardControlBuilder

Fluent builder for WizardControl. Shares FlowControlBuilderBase<TSelf>'s fluent surface (placeholder, name, margin, sizing, alignment, sticky position) — the same way WizardControl shares FlowControl — and produces a WizardControl from Build(). Because the base is self-typed, the fluent chain keeps returning WizardControlBuilder, so Controls.Wizard().WithName(...).Build() yields a WizardControl. If no placeholder is set, the WizardControl's default placeholder is kept.

Delegates

WindowEventHandler<T>

Delegate for event handlers that receive both the event arguments and the parent window.