Skip to content

nimterm/widgets/question

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

Multiple-choice question with an optional free-text answer.

QuestionOption = object
label*: string
description*: string

View source

QuestionAnswer = object
selected*: int
text*: string
cancelled*: bool

View source

QuestionWidget = ref object of Widget
prompt*: string
options*: seq[QuestionOption]
selected*: int
allowFreeText*: bool
freeTextLabel*: string
freeText*: InputWidget
style*: Style
selectedStyle*: Style
descriptionStyle*: Style
hintStyle*: Style

View source

proc newQuestion(prompt: string; options: seq[QuestionOption];
style = defaultStyle(); selectedStyle = defaultStyle();
descriptionStyle = defaultStyle(); hintStyle = defaultStyle();
allowFreeText = true; freeTextLabel = "Other"): QuestionWidget {.
raises: [], tags: [], forbids: [].}

Returns: QuestionWidget.

Name Type Default
prompt string
options seq[QuestionOption]
style inferred defaultStyle()
selectedStyle inferred defaultStyle()
descriptionStyle inferred defaultStyle()
hintStyle inferred defaultStyle()
allowFreeText inferred true
freeTextLabel inferred "Other"

View source

proc answer(widget: QuestionWidget): EventResponse {.raises: [], tags: [],
forbids: [].}

Returns: EventResponse.

Name Type Default
widget QuestionWidget

View source

proc cancel(widget: QuestionWidget): EventResponse {.raises: [], tags: [],
forbids: [].}

Returns: EventResponse.

Name Type Default
widget QuestionWidget

View source

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

Returns: bool.

Name Type Default
widget QuestionWidget

View source

method modal(widget: QuestionWidget): bool {.raises: [], tags: [], forbids: [].}

Returns: bool.

Name Type Default
widget QuestionWidget

View source

method allowsBackgroundEvent(widget: QuestionWidget; event: UiEvent): bool {.
raises: [], tags: [], forbids: [].}

Returns: bool.

Name Type Default
widget QuestionWidget
event UiEvent

View source

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

Returns: EventResponse.

Name Type Default
widget QuestionWidget
event UiEvent

View source

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

Returns: Size.

Name Type Default
widget QuestionWidget
constraints Constraints

View source

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

View source