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
controlIWindowControlThe 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
configureAction<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
factordoubleThe 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
maxWidthintThe 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
minWidthintThe 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
widthintThe 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
modeScrollModeThe 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
enableboolWhether 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
showboolWhether to show the scrollbar
positionScrollbarPositionScrollbar 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
modeScrollModeThe vertical scroll mode (None, Scroll, or Auto)
Returns
- ColumnBuilder
This ColumnBuilder for method chaining