Giff Controls Label Button Input Image ListBox - Owen2k6/GoOS GitHub Wiki

Controls: Label, Button, Input, Image, ListBox

Label

Renders text directly onto the window/panel canvas.

Properties:

  • x, y — position.
  • text — content (string).
  • textColour — colour.
  • centre|centrex|center|centerx — boolean (centres across the window canvas only).

Example:

label caption { x 12; y 12; text "Hello"; textColour black }

Button

Creates a clickable UI control.

Properties:

  • x, y, width, height
  • text
  • useSystemStyle (bool, default true)
  • backgroundColour, textColour (overrides)

Events:

  • onClick { ... }

Example:

button ok {
  x 10; y 150; width 80; height 24; text "OK"
  onClick { message "Clicked!"; }
}

Input

A single-line text box.

Properties:

  • x, y, width, height
  • placeholder — faint prompt text
  • text — initial value

Event:

  • onChange { ... } — fires when the user edits; updates $input_<name>_text.

Example:

input name {
  x 10; y 60; width 200; height 20; placeholder "Your name"
  onChange {
    set currentName = "$input_name_text";
  }
}

Image (placeholder)

Draws a bordered grey box with cross lines (for layout; not an actual bitmap).

Properties:

  • x, y, width, height

Example:

image hero { x 240; y 12; width 128; height 128 }

ListBox (drawn list)

Paints a simple list region (non-interactive placeholder in v0.35).

Properties:

  • x, y, width, height

Items:

  • item "Text"; — add lines (rendered sequentially, clipped to height)

Example:

listbox files {
  x 10; y 90; width 220; height 80
  item "readme.txt";
  item "notes.md";
}

Variables populated:

  • listbox_<name>_item_<i> and listbox_<name>_count.
⚠️ **GitHub.com Fallback** ⚠️