2.0 KiB
2.0 KiB
TextBox : VisualElement
A multi-line text editor component with cursor support and text manipulation features
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| lines | table | {} | Array of text lines |
| cursorX | number | 1 | Cursor X position |
| cursorY | number | 1 | Cursor Y position (line number) |
| scrollX | number | 0 | Horizontal scroll offset |
| scrollY | number | 0 | Vertical scroll offset |
| editable | boolean | true | Whether text can be edited |
| syntaxPatterns | table | {} | Syntax highlighting patterns |
| cursorColor | number | nil | Color of the cursor |
Functions
| Method | Returns | Description |
|---|---|---|
| TextBox:addSyntaxPattern | TextBox | Adds a new syntax highlighting pattern |
| TextBox:getText | string | Gets the text of the TextBox |
| TextBox:setText | TextBox | Sets the text of the TextBox |
| TextBox:updateViewport | TextBox | Updates the viewport to keep the cursor in view |
Protected Functions
| Method | Returns | Description |
|---|---|---|
| TextBox:char | boolean | Handles character input |
| TextBox:init | TextBox | Initializes the TextBox instance |
| TextBox:key | boolean | Handles key events |
| TextBox:mouse_click | boolean | Handles mouse click events |
| TextBox:mouse_scroll | boolean | Handles mouse scroll events |
| TextBox:render | - | Renders the TextBox with syntax highlighting |
TextBox:addSyntaxPattern(pattern, color)
Adds a new syntax highlighting pattern
Parameters
patternstringThe regex pattern to matchcolorcolorsThe color to apply
Returns
TextBoxselfThe TextBox instance
TextBox:getText()
Gets the text of the TextBox
Returns
stringtextThe text of the TextBox
TextBox:setText(text)
Sets the text of the TextBox
Parameters
textstringThe text to set
Returns
TextBoxselfThe TextBox instance
TextBox:updateViewport()
Updates the viewport to keep the cursor in view
Returns
TextBoxselfThe TextBox instance