Back to Momentum Firmware

Widget GUI view {#js_gui__widget}

documentation/js/js_gui__widget.md

latest3.9 KB
Original Source

Widget GUI view {#js_gui__widget}

Displays a combination of custom elements on one screen.

js
let eventLoop = require("event_loop");
let gui = require("gui");
let widgetView = require("gui/widget");

This module depends on the gui module, which in turn depends on the event_loop module, so they must be imported in this order. It is also recommended to conceptualize these modules first before using this one.

Example

For an example, refer to the gui.js example script.

View props

This view does not have any props.

Children

This view has the elements as its children. Elements are objects with properties to define them, in the form { element: "type", ...properties } (e.g. { element: "button", button: "right", text: "Back" }).

Element TypePropertiesDescription
string_multilinex (number), y (number)
align (("t", "c", "b") + ("l", "m", "r"))
font ("primary", "secondary", "keyboard", "big_numbers")
text (string)String of text that can span multiple lines.
stringx (number), y (number)
align (("t", "c", "b") + ("l", "m", "r"))
font ("primary", "secondary", "keyboard", "big_numbers")
text (string)String of text.
text_boxx (number), y (number)
w (number), h (number)
align (("t", "c", "b") + ("l", "m", "r"))
text (string)
stripToDots (boolean)Box of with text that can be scrolled vertically.
text_scrollx (number), y (number)
w (number), h (number)
text (string)Text that can be scrolled vertically.
buttontext (string)
button ("left", "center", "right")Button at the bottom of the screen.
iconx (number), y (number)
iconData (IconData)Display an icon.
rectx (number), y (number)
w (number), h (number)
radius (number), fill (boolean)Draw a rectangle, optionally rounded and filled.
circlex (number), y (number)
radius (number), fill (boolean)Draw a circle, optionally filled.
linex1 (number), y1 (number)
x2 (number), y2 (number)Draw a line between 2 points.

Structures

ButtonEvent

Button event information structure.

Fields

  • key: The key that was pressed ("left" | "center" | "right")
  • type: The type of the event ("press" | "release" | "short" | "long" | "repeat")

View events

ItemTypeDescription
buttonButtonEventFires when the user presses on one of the three possible buttons if there's a corresponding button element. Refer to the ButtonEvent structure above for possible values.