Skip to content

nimterm/widgets/input

This page is generated from the module’s exported API and ## documentation comments.

Editable text input widget with UTF-8-safe cursor movement.

InputWidget = ref object of Widget
text*: string
cursor*: int
prefix*: string
continuationPrefix*: string
style*: Style
prefixStyle*: Style
cursorStyle*: Style
cursorBarStyle*: Style
paddingLeft*: int
paddingRight*: int
paddingTop*: int
paddingBottom*: int
scrollOffset*: int
yankText*: string

View source

proc newInput(prefix = "> "; continuationPrefix = " "; style = defaultStyle();
cursorStyle = defaultCursorStyle();
cursorBarStyle = defaultCursorStyle();
prefixStyle = defaultStyle()): InputWidget {.raises: [], tags: [],
forbids: [].}

Returns: InputWidget.

Name Type Default
prefix inferred "> "
continuationPrefix inferred " "
style inferred defaultStyle()
cursorStyle inferred defaultCursorStyle()
cursorBarStyle inferred defaultCursorStyle()
prefixStyle inferred defaultStyle()

View source

proc clear(widget: InputWidget) {.raises: [], tags: [], forbids: [].}
Name Type Default
widget InputWidget

View source

proc setText(widget: InputWidget; text: string) {.raises: [], tags: [],
forbids: [].}
Name Type Default
widget InputWidget
text string

View source

proc insert(widget: InputWidget; piece: string) {.raises: [], tags: [],
forbids: [].}
Name Type Default
widget InputWidget
piece string

View source

proc undo(widget: InputWidget) {.raises: [], tags: [], forbids: [].}
Name Type Default
widget InputWidget

View source

proc yank(widget: InputWidget) {.raises: [], tags: [], forbids: [].}
Name Type Default
widget InputWidget

View source

proc visualLineCount(widget: InputWidget; contentWidth: int): int {.raises: [],
tags: [], forbids: [].}

Returns: int.

Name Type Default
widget InputWidget
contentWidth int

View source

method focusable(widget: InputWidget): bool {.raises: [], tags: [], forbids: [].}

Returns: bool.

Name Type Default
widget InputWidget

View source

method handle(widget: InputWidget; event: UiEvent): EventResponse {.raises: [],
tags: [], forbids: [].}

Returns: EventResponse.

Name Type Default
widget InputWidget
event UiEvent

View source

method measure(widget: InputWidget; constraints: Constraints): Size {.
raises: [], tags: [], forbids: [].}

Returns: Size.

Name Type Default
widget InputWidget
constraints Constraints

View source

method paint(widget: InputWidget; canvas: var Canvas) {.raises: [], tags: [],
forbids: [].}
Name Type Default
widget InputWidget
canvas var Canvas

View source