@eryx/gui Module
Summary
Functions
API Reference
Functions
gui.App
gui.Window
gui.Dialog
gui.VBox
gui.HBox
gui.Grid
gui.Form
gui.Spacer
gui.Label
gui.Button
gui.ToggleButton
gui.ToolBar
gui.TextBox
gui.TextArea
gui.SearchBox
gui.CheckBox
gui.RadioButton
gui.DatePicker
gui.Hyperlink
gui.Choice
gui.ComboBox
gui.ListBox
gui.TreeView
gui.Slider
gui.SpinBox
gui.ProgressBar
gui.Tabs
gui.TableView
gui.ListView
gui.Panel
gui.ScrollArea
gui.GroupBox
gui.StaticLine
gui.InfoBar
gui.HSplitter
gui.VSplitter
gui.StatusBar
gui.Menu
gui.Action
gui.bitmap
gui.openFileDialog
gui.saveFileDialog
gui.openDirectoryDialog
gui.messageBox
gui.textEntryDialog
gui.numberEntryDialog
gui.choiceDialog
gui.colourDialog
gui.colourDialog() → string?
gui.fontDialog
gui.fontDialog() → { face: string, size: number, bold: boolean, italic: boolean }?
gui.aboutDialog
gui.progressDialog
gui.setClipboardText
gui.setClipboardText(text: string) → ()
gui.getClipboardText
gui.getClipboardText() → string
Types
Window
type Window = {
minimumSize: ((self: Window, width: number, height: number) → ()),
setTitle: ((self: Window, title: string) → ()),
setLayout: ((self: Window, layout: Layout) → ()),
setStatusBar: ((self: Window, statusBar: StatusBar) → ()),
setMenuBar: ((self: Window, menuBar: MenuBar) → ()),
onClose: (
self: Window,
callback: ((event: { canVeto: boolean, closed: boolean }) → ())
) → (),
show: ((self: Window) → ()),
close: ((self: Window) → ())
}
Window:minimumSize(width: number, height: number) → ()
Window:setTitle(title: string) → ()
Window:onClose(callback: ((event: { canVeto: boolean, closed: boolean }) → ())) → ()
Window:show() → ()
Window:close() → ()
Dialog
type Dialog = {
minimumSize: ((self: Dialog, width: number, height: number) → ()),
setTitle: ((self: Dialog, title: string) → ()),
setLayout: ((self: Dialog, layout: Layout) → ()),
onClose: (
self: Dialog,
callback: ((event: { canVeto: boolean, closed: boolean }) → ())
) → (),
show: ((self: Dialog) → ()),
showModal: ((self: Dialog) → number?),
close: ((self: Dialog) → ())
}
Dialog:minimumSize(width: number, height: number) → ()
Dialog:setTitle(title: string) → ()
Dialog:onClose(callback: ((event: { canVeto: boolean, closed: boolean }) → ())) → ()
Dialog:show() → ()
Dialog:showModal() → number?
Dialog:close() → ()
Layout
Layout:padding(value: number) → ()
Layout:gap(value: number) → ()
Spacer
Widget
Widget:enabled(value: boolean?) → boolean?
Widget:text(value: string?) → string?
ToggleButton
type ToggleButton = Widget & {
checked: ((self: ToggleButton, value: boolean?) → boolean?),
onClick: ((self: ToggleButton, callback: (() → ())) → ()),
onChange: ((self: ToggleButton, callback: ((checked: boolean) → ())) → ())
}
Implements: Widget
ToggleButton:checked(value: boolean?) → boolean?
ToggleButton:onClick(callback: (() → ())) → ()
ToggleButton:onChange(callback: ((checked: boolean) → ())) → ()
TextBox
type TextBox = Widget & {
placeholder: ((self: TextBox, value: string) → ()),
readOnly: ((self: TextBox, value: boolean?) → boolean?),
password: ((self: TextBox, value: boolean?) → boolean?),
append: ((self: TextBox, value: string) → ()),
onChange: ((self: TextBox, callback: ((text: string) → ())) → ()),
onSubmit: ((self: TextBox, callback: ((text: string) → ())) → ())
}
Implements: Widget
TextBox:placeholder(value: string) → ()
TextBox:readOnly(value: boolean?) → boolean?
TextBox:password(value: boolean?) → boolean?
TextBox:append(value: string) → ()
TextBox:onChange(callback: ((text: string) → ())) → ()
TextBox:onSubmit(callback: ((text: string) → ())) → ()
TextArea
Implements: Widget
TextArea:placeholder(value: string) → ()
TextArea:readOnly(value: boolean?) → boolean?
TextArea:append(value: string) → ()
TextArea:onChange(callback: ((text: string) → ())) → ()
SearchBox
Implements: Widget
SearchBox:placeholder(value: string) → ()
SearchBox:onChange(callback: ((text: string) → ())) → ()
SearchBox:onSubmit(callback: ((text: string) → ())) → ()
CheckBox
Implements: Widget
CheckBox:checked(value: boolean?) → boolean?
CheckBox:onChange(callback: ((checked: boolean) → ())) → ()
RadioButton
type RadioButton = Widget & {
checked: ((self: RadioButton, value: boolean?) → boolean?),
onChange: ((self: RadioButton, callback: ((checked: boolean) → ())) → ())
}
Implements: Widget
RadioButton:checked(value: boolean?) → boolean?
RadioButton:onChange(callback: ((checked: boolean) → ())) → ()
DatePicker
type DatePicker = Widget & {
onChange: ((self: DatePicker, callback: ((value: string) → ())) → ())
}
Implements: Widget
DatePicker:onChange(callback: ((value: string) → ())) → ()
Hyperlink
Implements: Widget
Hyperlink:url(value: string?) → string?
Hyperlink:onClick(callback: (() → ())) → ()
Choice
Implements: Widget
Choice:setItems(items: { string }) → ()
Choice:selected(index: number?) → number?
Choice:onChange(callback: ((value: string) → ())) → ()
ComboBox
Implements: Widget
ComboBox:setItems(items: { string }) → ()
ComboBox:selected(index: number?) → number?
ComboBox:onChange(callback: ((value: string) → ())) → ()
ListBox
Implements: Widget
ListBox:setItems(items: { string }) → ()
ListBox:selected(index: number?) → number?
ListBox:onChange(callback: ((value: string) → ())) → ()
TreeNode
label: string
ProgressBar
type ProgressBar = Widget & {
range: ((self: ProgressBar, value: number) → ()),
value: ((self: ProgressBar, value: number?) → number?),
pulse: ((self: ProgressBar) → ())
}
Implements: Widget
ProgressBar:range(value: number) → ()
ProgressBar:value(value: number?) → number?
ProgressBar:pulse() → ()
Slider
Implements: Widget
Slider:limits(min: number, max: number) → ()
Slider:value(value: number?) → number?
Slider:onChange(callback: ((value: number) → ())) → ()
SpinBox
Implements: Widget
SpinBox:limits(min: number, max: number) → ()
SpinBox:value(value: number?) → number?
SpinBox:onChange(callback: ((value: number) → ())) → ()
Tabs
Implements: Widget
Tabs:selected(index: number?) → number?
Tabs:onSelect(callback: ((index: number) → ())) → ()
TableColumn
key: string
title: string
width: number?
expand: boolean?
TableRow
ListView
type ListView = Widget & {
setColumns: ((self: ListView, columns: { TableColumn }) → ()),
setRows: ((self: ListView, rows: { TableRow }) → ()),
setFilter: ((self: ListView, filter: string) → ()),
selected: ((self: ListView, index: number?) → number?),
onSelect: ((self: ListView, callback: ((index: number) → ())) → ())
}
Implements: Widget
ListView:setFilter(filter: string) → ()
ListView:selected(index: number?) → number?
ListView:onSelect(callback: ((index: number) → ())) → ()
Panel
Implements: Widget
GroupBox
Implements: Widget
InfoBar
Implements: Widget
InfoBar:showMessage(message: string, kind: "info" | "warning" | "error"?) → ()
InfoBar:dismiss() → ()
StatusBar
StatusBar:setText(text: string, field: number?) → ()
StatusBar:setFields(widths: { number }) → ()
Menu
Menu:addSeparator() → ()
Action
Bitmap
FileDialogOptions
title: string?
filter: string?
MessageBoxOptions
title: string?
message: string?
kind: "info" | "warning" | "error"?
TextEntryDialogOptions
title: string?
message: string?
value: string?
NumberEntryDialogOptions
type NumberEntryDialogOptions = {
title: string?,
message: string?,
value: number?,
min: number?,
max: number?
}
title: string?
message: string?
value: number?
min: number?
max: number?
ChoiceDialogOptions
title: string?
message: string?
choices: { string }
AboutDialogOptions
name: string?
version: string?
description: string?
ProgressDialogOptions
title: string?
message: string?
value: number?
max: number?