Table of Contents

Class ColumnBuilder

Namespace
SharpConsoleUI.Builders
Assembly
SharpConsoleUI.dll

Fluent builder for configuring a single column within a HorizontalGridControl.

public class ColumnBuilder
Inheritance
ColumnBuilder
Inherited Members

Methods

Add(IWindowControl)

Adds a control to the column (or to the scrollable panel if AsScrollable was called).

public ColumnBuilder Add(IWindowControl control)

Parameters

control IWindowControl

The control to add.

Returns

ColumnBuilder

This builder for method chaining.

AsScrollable(Action<ScrollablePanelControl>?)

Makes this column scrollable by wrapping contents in a ScrollablePanelControl. All subsequent Add() calls will add to the scrollable panel instead of the column directly.

public ColumnBuilder AsScrollable(Action<ScrollablePanelControl>? configure = null)

Parameters

configure Action<ScrollablePanelControl>

Optional action to configure the scrollable panel (ShowScrollbar, VerticalScrollMode, etc.)

Returns

ColumnBuilder

This ColumnBuilder for method chaining

Flex(double)

Sets the flex factor for this column when distributing available space.

public ColumnBuilder Flex(double factor = 1)

Parameters

factor double

The flex factor (default is 1.0).

Returns

ColumnBuilder

This builder for method chaining.

MaxWidth(int)

Sets the maximum width of the column.

public ColumnBuilder MaxWidth(int maxWidth)

Parameters

maxWidth int

The maximum width in characters.

Returns

ColumnBuilder

This builder for method chaining.

MinWidth(int)

Sets the minimum width of the column.

public ColumnBuilder MinWidth(int minWidth)

Parameters

minWidth int

The minimum width in characters.

Returns

ColumnBuilder

This builder for method chaining.

Width(int)

Sets the fixed width of the column.

public ColumnBuilder Width(int width)

Parameters

width int

The width in characters.

Returns

ColumnBuilder

This builder for method chaining.

WithHorizontalScroll(ScrollMode)

Configures horizontal scroll mode. Automatically enables scrollable mode if not already enabled.

public ColumnBuilder WithHorizontalScroll(ScrollMode mode)

Parameters

mode ScrollMode

The horizontal scroll mode (None, Scroll, or Auto)

Returns

ColumnBuilder

This ColumnBuilder for method chaining

WithMouseWheel(bool)

Enables or disables mouse wheel scrolling. Automatically enables scrollable mode if not already enabled.

public ColumnBuilder WithMouseWheel(bool enable)

Parameters

enable bool

Whether to enable mouse wheel scrolling

Returns

ColumnBuilder

This ColumnBuilder for method chaining

WithScrollbar(bool, ScrollbarPosition)

Configures scrollbar visibility and position. Automatically enables scrollable mode if not already enabled.

public ColumnBuilder WithScrollbar(bool show, ScrollbarPosition position = ScrollbarPosition.Right)

Parameters

show bool

Whether to show the scrollbar

position ScrollbarPosition

Scrollbar position (Left or Right)

Returns

ColumnBuilder

This ColumnBuilder for method chaining

WithVerticalScroll(ScrollMode)

Configures vertical scroll mode. Automatically enables scrollable mode if not already enabled.

public ColumnBuilder WithVerticalScroll(ScrollMode mode)

Parameters

mode ScrollMode

The vertical scroll mode (None, Scroll, or Auto)

Returns

ColumnBuilder

This ColumnBuilder for method chaining