mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 10:34:58 +00:00

This is a bundle of changes to the "new" GML documentation that I just noticed two hours ago. - Fix a bunch of typos, wording and style - Rework layout object documentation (they're not widgets!) - Document most of the common properties - Finish (as for now) GML syntax documentation - Extend GML usage explanation - Add symlink "GML" so that man gml works - Add a categorized GML page list to the introduction man page - Cross-link much more Much of the editing of existing docs is clearing up incorrect or imprecise statements. Note that because of massive changes in some places, git won't recognize renames as such.
6.6 KiB
6.6 KiB
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 |