1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 23:14:59 +00:00
serenity/Base/usr/share/man/man5/GML/Widget.md
kleines Filmröllchen ad6cbc4192 Base: Move GML documentation into subsection
That was the whole point of this endeavour :^)
2023-01-02 06:15:13 -07:00

54 lines
7.3 KiB
Markdown

# Widget
Defines a GUI widget.
```gml
@GUI::Widget {
min_width: 200
preferred_width: "opportunistic_grow"
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 | ui_size | {Regular, Shrink}² | Minimum size this widget wants to occupy (Shrink is equivalent to 0) |
| max_size | ui_size | {Regular, Grow}² | Maximum size this widget wants to occupy |
| preferred_size | ui_size | {Regular, Shrink, Fit, OpportunisticGrow, Grow}² | Preferred size this widget wants to occupy, if not otherwise constrained (Shrink means min_size) |
| 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 | ui_dimension | Regular, Shrink | Minimum width this widget wants to occupy (Shrink is equivalent to 0) |
| min_height | ui_dimension | Regular, Shrink | Minimum height this widget wants to occupy (Shrink is equivalent to 0 |
| max_width | ui_dimension | Regular, Grow | Maximum width this widget wants to occupy |
| max_height | ui_dimension | Regular, Grow | Maximum height this widget wants to occupy |
| preferred_width | ui_dimension | Regular, Shrink, Fit, OpportunisticGrow, Grow | Preferred width this widget wants to occupy, if not otherwise constrained (Shrink means min_size) |
| preferred_height | ui_dimension | Regular, Shrink, Fit, OpportunisticGrow, Grow | Preferred height this widget wants to occupy, if not otherwise constrained (Shrink means min_size) |
| fixed_width | ui_dimension | Regular (currently only integer values ≥0 allowed) | Both maximum and minimum width; widget is fixed-width |
| fixed_height | ui_dimension | Regular (currently only integer values ≥0 allowed) | Both maximum and minimum height; widget is fixed-height |
| fixed_size | ui_size | {Regular}² | 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 children's 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 |