GML-Widget(5) - SerenityOS man pages

Widget

Defines a GUI widget.

@GUI::Widget {
  fixed_width: 250
  fixed_height: 215
  fill_with_background_color: true
  layout: @GUI::VerticalBoxLayout {

  }
}

Registered Properties

Property Type Possible values Description
x int x offset relative to parent
y int y offset relative to parent
visible bool Whether widget and children are drawn
focused bool Whether widget should be tab-focused on start
focus_policy enum ClickFocus, NoFocus, TabFocus, StrongFocus How the widget can receive focus
enabled bool Whether this widget is enabled for interactive purposes, e.g. can be clicked
tooltip string Mouse tooltip to show when hovering over this widget
min_size size Minimum size this widget wants to occupy
max_size size Maximum size this widget wants to occupy
width int Width of the widget, independent of its layout size calculation
height int Height of the widget, independent of its layout size calculation
min_width int smaller than max_width Minimum width this widget wants to occupy
min_height int smaller than max_height Minimum height this widget wants to occupy
max_width int greater than min_width Maximum width this widget wants to occupy
max_height int greater than min_height Maximum height this widget wants to occupy
fixed_width int Both maximum and minimum width; widget is fixed-width
fixed_height int Both maximum and minimum height; widget is fixed-height
fixed_size size Both maximum and minimum size; widget is fixed-size
shrink_to_fit bool Whether the widget shrinks as much as possible while still respecting its childrens minimum sizes
font string Any system-known font Font family
font_size int Font size that is available on this family Font size
font_weight font_weight Font weight that is available on this family and size Font weight
font_type enum FixedWidth, Normal Font type
foreground_color color Color of foreground elements such as text
foreground_role string Any theme palette color role name Palette color role (depends on system theme) for the foreground elements
background_color color Color of the widget background
background_role string Any theme palette color role name Palette color role (depends on system theme) for the widget background
fill_width_background_color bool Whether to fill the widget's background with the background color
layout layout object Layout object for layouting this widget's children
relative_rect rect Rectangle for relatively positioning the widget to the parent