Class MultilineEditControlBuilder
- Namespace
- SharpConsoleUI.Builders
- Assembly
- SharpConsoleUI.dll
Fluent builder for multiline edit controls
public sealed class MultilineEditControlBuilder : IControlBuilder<MultilineEditControl>
- Inheritance
-
MultilineEditControlBuilder
- Implements
- Inherited Members
- Extension Methods
Methods
AsReadOnly(bool)
Sets the read-only state
public MultilineEditControlBuilder AsReadOnly(bool readOnly = true)
Parameters
readOnlyboolWhether the control is read-only
Returns
- MultilineEditControlBuilder
The builder for chaining
Build()
Builds the multiline edit control
public MultilineEditControl Build()
Returns
- MultilineEditControl
The configured multiline edit control
Centered()
Centers the control horizontally
public MultilineEditControlBuilder Centered()
Returns
- MultilineEditControlBuilder
The builder for chaining
Disabled()
Disables the control
public MultilineEditControlBuilder Disabled()
Returns
- MultilineEditControlBuilder
The builder for chaining
Enabled(bool)
Sets the enabled state
public MultilineEditControlBuilder Enabled(bool enabled = true)
Parameters
enabledboolWhether the control is enabled
Returns
- MultilineEditControlBuilder
The builder for chaining
IsEditing(bool)
Sets the editing state
public MultilineEditControlBuilder IsEditing(bool isEditing = true)
Parameters
isEditingboolWhether the control is in editing mode
Returns
- MultilineEditControlBuilder
The builder for chaining
NoWrap()
Disables text wrapping
public MultilineEditControlBuilder NoWrap()
Returns
- MultilineEditControlBuilder
The builder for chaining
OnContentChanged(WindowEventHandler<string>)
Sets the content changed event handler with window access
public MultilineEditControlBuilder OnContentChanged(WindowEventHandler<string> handler)
Parameters
handlerWindowEventHandler<string>Handler that receives sender, content, and window
Returns
- MultilineEditControlBuilder
The builder for chaining
OnContentChanged(EventHandler<string>)
Sets the content changed event handler
public MultilineEditControlBuilder OnContentChanged(EventHandler<string> handler)
Parameters
handlerEventHandler<string>The event handler
Returns
- MultilineEditControlBuilder
The builder for chaining
OnCursorPositionChanged(EventHandler<(int Line, int Column)>)
Sets the cursor position changed event handler
public MultilineEditControlBuilder OnCursorPositionChanged(EventHandler<(int Line, int Column)> handler)
Parameters
handlerEventHandler<(int Line, int Column)>Handler receiving (Line, Column) as 1-based indices
Returns
- MultilineEditControlBuilder
The builder for chaining
OnEditingModeChanged(EventHandler<bool>)
Sets the editing mode changed event handler
public MultilineEditControlBuilder OnEditingModeChanged(EventHandler<bool> handler)
Parameters
handlerEventHandler<bool>Handler receiving true when entering edit mode, false when leaving
Returns
- MultilineEditControlBuilder
The builder for chaining
OnGotFocus(WindowEventHandler<EventArgs>)
Sets the got focus event handler with window access
public MultilineEditControlBuilder OnGotFocus(WindowEventHandler<EventArgs> handler)
Parameters
handlerWindowEventHandler<EventArgs>Handler that receives sender, event data, and window
Returns
- MultilineEditControlBuilder
The builder for chaining
OnGotFocus(EventHandler)
Sets the got focus event handler
public MultilineEditControlBuilder OnGotFocus(EventHandler handler)
Parameters
handlerEventHandlerThe event handler
Returns
- MultilineEditControlBuilder
The builder for chaining
OnLostFocus(WindowEventHandler<EventArgs>)
Sets the lost focus event handler with window access
public MultilineEditControlBuilder OnLostFocus(WindowEventHandler<EventArgs> handler)
Parameters
handlerWindowEventHandler<EventArgs>Handler that receives sender, event data, and window
Returns
- MultilineEditControlBuilder
The builder for chaining
OnLostFocus(EventHandler)
Sets the lost focus event handler
public MultilineEditControlBuilder OnLostFocus(EventHandler handler)
Parameters
handlerEventHandlerThe event handler
Returns
- MultilineEditControlBuilder
The builder for chaining
OnOverwriteModeChanged(EventHandler<bool>)
Sets the overwrite mode changed event handler
public MultilineEditControlBuilder OnOverwriteModeChanged(EventHandler<bool> handler)
Parameters
handlerEventHandler<bool>Handler receiving true for overwrite mode, false for insert mode
Returns
- MultilineEditControlBuilder
The builder for chaining
OnSelectionChanged(EventHandler<string>)
Sets the selection changed event handler
public MultilineEditControlBuilder OnSelectionChanged(EventHandler<string> handler)
Parameters
handlerEventHandler<string>Handler receiving the selected text or empty string
Returns
- MultilineEditControlBuilder
The builder for chaining
Visible(bool)
Sets the visibility
public MultilineEditControlBuilder Visible(bool visible = true)
Parameters
visibleboolWhether the control is visible
Returns
- MultilineEditControlBuilder
The builder for chaining
WithAlignment(HorizontalAlignment)
Sets the horizontal alignment
public MultilineEditControlBuilder WithAlignment(HorizontalAlignment alignment)
Parameters
alignmentHorizontalAlignmentThe horizontal alignment
Returns
- MultilineEditControlBuilder
The builder for chaining
WithAutoIndent(bool)
Enables or disables auto-indent (new lines inherit leading whitespace)
public MultilineEditControlBuilder WithAutoIndent(bool autoIndent = true)
Parameters
autoIndentboolWhether auto-indent is enabled
Returns
- MultilineEditControlBuilder
The builder for chaining
WithBackgroundColor(Color)
Sets the background color
public MultilineEditControlBuilder WithBackgroundColor(Color color)
Parameters
colorColorThe background color
Returns
- MultilineEditControlBuilder
The builder for chaining
WithBorderColor(Color)
Sets the border color
public MultilineEditControlBuilder WithBorderColor(Color color)
Parameters
colorColorThe border color
Returns
- MultilineEditControlBuilder
The builder for chaining
WithColors(Color, Color)
Sets the background and foreground colors
public MultilineEditControlBuilder WithColors(Color foreground, Color background)
Parameters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithContent(string)
Sets the initial content
public MultilineEditControlBuilder WithContent(string content)
Parameters
contentstringThe text content
Returns
- MultilineEditControlBuilder
The builder for chaining
WithContentLines(IEnumerable<string>)
Sets the initial content from multiple lines
public MultilineEditControlBuilder WithContentLines(IEnumerable<string> lines)
Parameters
linesIEnumerable<string>The content lines
Returns
- MultilineEditControlBuilder
The builder for chaining
WithContentLines(params string[])
Sets the initial content from multiple lines
public MultilineEditControlBuilder WithContentLines(params string[] lines)
Parameters
linesstring[]The content lines
Returns
- MultilineEditControlBuilder
The builder for chaining
WithCurrentLineHighlightColor(Color)
Sets the background color for current line highlighting
public MultilineEditControlBuilder WithCurrentLineHighlightColor(Color color)
Parameters
colorColorThe highlight background color
Returns
- MultilineEditControlBuilder
The builder for chaining
WithEditingHints(bool)
Enables editing mode hints at the bottom-right of the viewport
public MultilineEditControlBuilder WithEditingHints(bool show = true)
Parameters
showboolWhether to show editing hints
Returns
- MultilineEditControlBuilder
The builder for chaining
WithEscapeExitsEditMode(bool)
Controls whether pressing Escape exits editing mode. Set to false for IDE-style editors where Escape is used for other purposes.
public MultilineEditControlBuilder WithEscapeExitsEditMode(bool exits = true)
Parameters
exitsboolWhether Escape exits editing mode (default: true)
Returns
- MultilineEditControlBuilder
The builder for chaining
WithFocusedColors(Color, Color)
Sets the focused background and foreground colors
public MultilineEditControlBuilder WithFocusedColors(Color foreground, Color background)
Parameters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithForegroundColor(Color)
Sets the foreground color
public MultilineEditControlBuilder WithForegroundColor(Color color)
Parameters
colorColorThe foreground color
Returns
- MultilineEditControlBuilder
The builder for chaining
WithGutterRenderer(IGutterRenderer)
Adds a gutter renderer that will be appended after line numbers (if enabled). Renderers are painted left-to-right in the order they are added.
public MultilineEditControlBuilder WithGutterRenderer(IGutterRenderer renderer)
Parameters
rendererIGutterRendererThe gutter renderer to add
Returns
- MultilineEditControlBuilder
The builder for chaining
WithHighlightCurrentLine(bool)
Enables or disables current line highlighting
public MultilineEditControlBuilder WithHighlightCurrentLine(bool highlight = true)
Parameters
highlightboolWhether to highlight the current line
Returns
- MultilineEditControlBuilder
The builder for chaining
WithHorizontalScrollbar(ScrollbarVisibility)
Sets the horizontal scrollbar visibility
public MultilineEditControlBuilder WithHorizontalScrollbar(ScrollbarVisibility visibility)
Parameters
visibilityScrollbarVisibilityThe scrollbar visibility
Returns
- MultilineEditControlBuilder
The builder for chaining
WithLineNumberColor(Color)
Sets the foreground color for line numbers
public MultilineEditControlBuilder WithLineNumberColor(Color color)
Parameters
colorColorThe line number color
Returns
- MultilineEditControlBuilder
The builder for chaining
WithLineNumbers(bool)
Enables or disables line number display in the gutter
public MultilineEditControlBuilder WithLineNumbers(bool show = true)
Parameters
showboolWhether to show line numbers
Returns
- MultilineEditControlBuilder
The builder for chaining
WithMargin(int)
Sets uniform margin
public MultilineEditControlBuilder WithMargin(int margin)
Parameters
marginintThe margin value for all sides
Returns
- MultilineEditControlBuilder
The builder for chaining
WithMargin(int, int, int, int)
Sets the margin
public MultilineEditControlBuilder WithMargin(int left, int top, int right, int bottom)
Parameters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithMaxLength(int)
Sets the maximum total character length
public MultilineEditControlBuilder WithMaxLength(int maxLength)
Parameters
maxLengthintThe maximum character count
Returns
- MultilineEditControlBuilder
The builder for chaining
WithName(string)
Sets the control name for lookup
public MultilineEditControlBuilder WithName(string name)
Parameters
namestringThe control name
Returns
- MultilineEditControlBuilder
The builder for chaining
WithOverwriteMode(bool)
Enables or disables overwrite mode (typed characters replace existing text)
public MultilineEditControlBuilder WithOverwriteMode(bool overwrite = true)
Parameters
overwriteboolWhether overwrite mode is active
Returns
- MultilineEditControlBuilder
The builder for chaining
WithPlaceholder(string)
Sets the placeholder text shown when empty and not editing
public MultilineEditControlBuilder WithPlaceholder(string placeholderText)
Parameters
placeholderTextstringThe placeholder text
Returns
- MultilineEditControlBuilder
The builder for chaining
WithScrollbarColors(Color, Color)
Sets the scrollbar colors
public MultilineEditControlBuilder WithScrollbarColors(Color trackColor, Color thumbColor)
Parameters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithSelectionColors(Color, Color)
Sets the selection background and foreground colors
public MultilineEditControlBuilder WithSelectionColors(Color foreground, Color background)
Parameters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithShowWhitespace(bool)
Enables or disables visible whitespace markers
public MultilineEditControlBuilder WithShowWhitespace(bool show = true)
Parameters
showboolWhether to show whitespace characters
Returns
- MultilineEditControlBuilder
The builder for chaining
WithStickyPosition(StickyPosition)
Sets the sticky position
public MultilineEditControlBuilder WithStickyPosition(StickyPosition position)
Parameters
positionStickyPositionThe sticky position
Returns
- MultilineEditControlBuilder
The builder for chaining
WithSyntaxHighlighter(ISyntaxHighlighter)
Sets the syntax highlighter for content colorization
public MultilineEditControlBuilder WithSyntaxHighlighter(ISyntaxHighlighter highlighter)
Parameters
highlighterISyntaxHighlighterThe syntax highlighter implementation
Returns
- MultilineEditControlBuilder
The builder for chaining
WithTabSize(int)
Sets the tab size in spaces (1-8)
public MultilineEditControlBuilder WithTabSize(int tabSize)
Parameters
tabSizeintThe number of spaces per tab
Returns
- MultilineEditControlBuilder
The builder for chaining
WithTag(object)
Sets a tag object
public MultilineEditControlBuilder WithTag(object tag)
Parameters
tagobjectThe tag object
Returns
- MultilineEditControlBuilder
The builder for chaining
WithUndoLimit(int)
Sets the maximum undo history depth
public MultilineEditControlBuilder WithUndoLimit(int limit)
Parameters
limitintThe maximum number of undo actions
Returns
- MultilineEditControlBuilder
The builder for chaining
WithVerticalAlignment(VerticalAlignment)
Sets the vertical alignment
public MultilineEditControlBuilder WithVerticalAlignment(VerticalAlignment alignment)
Parameters
alignmentVerticalAlignmentThe vertical alignment
Returns
- MultilineEditControlBuilder
The builder for chaining
WithVerticalScrollbar(ScrollbarVisibility)
Sets the vertical scrollbar visibility
public MultilineEditControlBuilder WithVerticalScrollbar(ScrollbarVisibility visibility)
Parameters
visibilityScrollbarVisibilityThe scrollbar visibility
Returns
- MultilineEditControlBuilder
The builder for chaining
WithViewportHeight(int)
Sets the viewport height (number of visible lines)
public MultilineEditControlBuilder WithViewportHeight(int height)
Parameters
heightintThe viewport height
Returns
- MultilineEditControlBuilder
The builder for chaining
WithWidth(int)
Sets the width
public MultilineEditControlBuilder WithWidth(int width)
Parameters
widthintThe control width
Returns
- MultilineEditControlBuilder
The builder for chaining
WithWrapMode(WrapMode)
Sets the wrap mode
public MultilineEditControlBuilder WithWrapMode(WrapMode mode)
Parameters
modeWrapModeThe wrap mode
Returns
- MultilineEditControlBuilder
The builder for chaining
WrapCharacters()
Enables character wrapping
public MultilineEditControlBuilder WrapCharacters()
Returns
- MultilineEditControlBuilder
The builder for chaining
WrapWords()
Enables word wrapping
public MultilineEditControlBuilder WrapWords()
Returns
- MultilineEditControlBuilder
The builder for chaining
Operators
implicit operator MultilineEditControl(MultilineEditControlBuilder)
Implicit conversion to MultilineEditControl
public static implicit operator MultilineEditControl(MultilineEditControlBuilder builder)
Parameters
builderMultilineEditControlBuilderThe builder
Returns
- MultilineEditControl
The built multiline edit control