diff options
author | electrikmilk <brandonjordan124@gmail.com> | 2022-02-09 18:11:07 -0500 |
---|---|---|
committer | Brian Gianforcaro <b.gianfo@gmail.com> | 2022-03-03 14:59:00 -0800 |
commit | 58a865f34967c750dab86929bcdaf603ce0cde3e (patch) | |
tree | b82d696f291be37b53759837b22ef2281003c441 /Base | |
parent | d01d754b83a03beb372046e5db24644289341516 (diff) | |
download | serenity-58a865f34967c750dab86929bcdaf603ce0cde3e.zip |
Base+Manpages: Add basic GML documentation
First draft of GML documentation, just to get things started.
Diffstat (limited to 'Base')
51 files changed, 1242 insertions, 0 deletions
diff --git a/Base/usr/share/man/man5/GML-CoreObject.md b/Base/usr/share/man/man5/GML-CoreObject.md new file mode 100644 index 0000000000..520c2b7166 --- /dev/null +++ b/Base/usr/share/man/man5/GML-CoreObject.md @@ -0,0 +1,14 @@ +## Name + +A brief description of Core::Object and how it relates to GML + +## Description + +All GML widgets inherit properties from `Core::Object`. + +## Registered Properties + +| Property | Type | Possible values | Description | +|-------------|-----------------|-----------------|------------------------------------------------| +| name | string | Any string | Name of widget, to be referenced later in C++. | +| class_name | readonly_string | Class name | Object class | diff --git a/Base/usr/share/man/man5/GML-Define-property.md b/Base/usr/share/man/man5/GML-Define-property.md new file mode 100644 index 0000000000..5dcc3d17bc --- /dev/null +++ b/Base/usr/share/man/man5/GML-Define-property.md @@ -0,0 +1,20 @@ +## Name + +GML Property Definition + +## Description + +How to register property to a widget. + +**LIbGUI** widget definitions contain macros that define the properties that can be used for a given widget. + +However, widgets also understand properties defined by their parents. Such as `x`, `y`, `name`, etc. + +## Examples + +```cpp +REGISTER_ENUM_PROPERTY( + "button_style", button_style, set_button_style, Gfx::ButtonStyle, + { Gfx::ButtonStyle::Normal, "Normal" }, + { Gfx::ButtonStyle::Coolbar, "Coolbar" }); +``` diff --git a/Base/usr/share/man/man5/GML-Define-widget.md b/Base/usr/share/man/man5/GML-Define-widget.md new file mode 100644 index 0000000000..4628104c1e --- /dev/null +++ b/Base/usr/share/man/man5/GML-Define-widget.md @@ -0,0 +1,36 @@ +## Name + +Library or Application Defined Widgets + +## Description + +Some applications and libraries find it useful to define their own **LibGUI** widgets. + +## Examples + +```gml +@Web::OutOfProcessWebView { + name: "web_view" + min_width: 340 + min_height: 160 + visible: false +} +``` + +They are defined using `REGISTER_WIDGET()`, just as they are in **LIbGUI**. + +```cpp +REGISTER_WIDGET(Web, OutOfProcessWebView) + +... + +OutOfProcessWebView::OutOfProcessWebView() +{ + set_should_hide_unnecessary_scrollbars(true); + set_focus_policy(GUI::FocusPolicy::StrongFocus); + + create_client(); +} + +... +``` diff --git a/Base/usr/share/man/man5/GML-Introduction.md b/Base/usr/share/man/man5/GML-Introduction.md new file mode 100644 index 0000000000..3b866e308b --- /dev/null +++ b/Base/usr/share/man/man5/GML-Introduction.md @@ -0,0 +1,17 @@ +## Name + +GUI Markup Language (GML) + +## Description + +GML is Serenity's graphic user interface markup language. GML files are human-readable and have no easily detectable filemagic. The format is strongly influenced by QML, the Qt Modeling Language. + +It allows you to easily define GUI interfaces for your applications. It is easy to learn and link to your C++ code. + +You can easily add GML files to your project in Hack Studio either using + +`Project > New > GML File` + +Or right clicking on a folder in the TreeView and using + +`New > GML File` diff --git a/Base/usr/share/man/man5/GML-Link-widget.md b/Base/usr/share/man/man5/GML-Link-widget.md new file mode 100644 index 0000000000..6fcf198825 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Link-widget.md @@ -0,0 +1,48 @@ +## Name + +Linking to GML widgets + +## Description + +How to link to your GML widgets in C++ + +## CMake + +Include `compile_gml()` your applications CMake file. + +```cmake +compile_gml(YourGMLFile.gml MyGML.h my_gml) +``` + +Include the name of the header file that will be compiled from your GML file in your `SOURCES`. + +```cmake +set(SOURCES + MyGML.h +) +``` + +## C++ + +You can then reference the variable you set (e.g. `calculator_gml`) in your main C++ file using `load_from_gml()`. + +```cpp +load_from_gml(my_gml); +``` + +From there, you can use `find_descendant_of_type_named` to select widgets from your GML from their `name` property. + +```gml +@GUI::Button { + name: "mem_add_button" + text: "M+" + fixed_width: 35 + fixed_height: 28 + foreground_color: "red" +} +``` +Is referenced using... +```cpp +load_from_gml(calculator_gml); +m_mem_add_button = *find_descendant_of_type_named<GUI::Button>("mem_add_button"); +``` diff --git a/Base/usr/share/man/man5/GML-Syntax.md b/Base/usr/share/man/man5/GML-Syntax.md new file mode 100644 index 0000000000..5c5e16e6b0 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Syntax.md @@ -0,0 +1,39 @@ +## Name + +GML Basic Syntax + +# Description + +How to write GML using proper syntax. + +## Basic Syntax + +Each widget begins with `@GUI::`, with the name of the widget following. To define the properties of this widget, we follow with curly brackets and a list of properties. + +## Properties + +A property's `value` is required to be in the property's set `type`: + +- `int` +- `bool` +- `string` +- `readonly_string` +- `enum` +- `font_weight` +- `text_alignment` +- `text_wrapping` +- `rect` +- `size` +- `margins` + +Properties are never ended with `;` or `,`, and the property name is never enclosed in quotes or double quotes. + +Properties are always surrounded by curly brackets (e.g. `{}`). If no properties are set however, no brackets are required. + +## Examples + +```gml +@GUI::Widget { + name: "my_first_widget" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Breadcrumbbar.md b/Base/usr/share/man/man5/GML-Widget-Breadcrumbbar.md new file mode 100644 index 0000000000..8ef8b8d204 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Breadcrumbbar.md @@ -0,0 +1,19 @@ +## Name + +GML Breadcrumb Bar Widget + +## Description + +Defines a GUI bread crumb toolbar widget. + +## Synopsis + +`@GUI::Breadcrumbbar` + +## Examples + +```gml +@GUI::Breadcrumbbar { + name: "breadcrumbbar" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Button.md b/Base/usr/share/man/man5/GML-Widget-Button.md new file mode 100644 index 0000000000..1a8b07630d --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Button.md @@ -0,0 +1,33 @@ +## Name + +## Description + +Defines a GUI Button widget. + +## Synopsis + +`@GUI::Button` + +## Examples + +```gml +@GUI::Button { + name: "normal_button" + text: "Button" +} + +@GUI::Button { + name: "disabled_normal_button" + text: "Disabled" + enabled: "false" +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|--------------|--------|-----------------|------------------------------| +| button_style | enum | Normal, Coolbar | Sets the style of the button | +| text | string | Any string | Sets the label text | +| checked | bool | true or false | | +| checkable | bool | true or false | | diff --git a/Base/usr/share/man/man5/GML-Widget-Calendar.md b/Base/usr/share/man/man5/GML-Widget-Calendar.md new file mode 100644 index 0000000000..301af8bff0 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Calendar.md @@ -0,0 +1,19 @@ +## Name + +GML Calendar Widget + +## Description + +Defines a GUI calendar widget. + +## Synopsis + +`@GUI::Calendar` + +## Examples + +```gml +@GUI::Calendar { + name: "calendar" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-CheckBox.md b/Base/usr/share/man/man5/GML-Widget-CheckBox.md new file mode 100644 index 0000000000..a150cec85f --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-CheckBox.md @@ -0,0 +1,32 @@ +## Name + +GML Checkbox Widget + +## Description + +Defines a GUI checkbox widget. + +## Synopsis + +`@GUI::CheckBox` + +## Examples + +```gml +@GUI::CheckBox { + name: "top_checkbox" + text: "Checkbox" +} + +@GUI::CheckBox { + name: "bottom_checkbox" + text: "Disabled" + enabled: false +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------|------|-----------------|--------------------------| +| autosize | bool | true or false | Determines if auto-sized | diff --git a/Base/usr/share/man/man5/GML-Widget-ColorInput.md b/Base/usr/share/man/man5/GML-Widget-ColorInput.md new file mode 100644 index 0000000000..4bed8ca95d --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ColorInput.md @@ -0,0 +1,32 @@ +## Name + +GML Color Input Widget + +## Description + +Defines a GUI color input widget. + +## Synopsis + +`@GUI::ColorInput` + +## Examples + +```gml +@GUI::ColorInput { + name: "font_colorinput" + placeholder: "Color dialog" +} + +@GUI::ColorInput { + placeholder: "Disabled" + enabled: false +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|--------------------|--------|-----------------|---------------------------------------------------------| +| color_picker_title | string | Any string | Sets the title of the input | +| has_alpha_channel | bool | true or false | Whether to include the alpha channel in color selection | diff --git a/Base/usr/share/man/man5/GML-Widget-ComboBox.md b/Base/usr/share/man/man5/GML-Widget-ComboBox.md new file mode 100644 index 0000000000..513cdd8dd8 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ComboBox.md @@ -0,0 +1,32 @@ +## Name + +GML Combo Box Widget + +## Description + +Defines a GUI combo box widget. Another name for this would be a dropdown or select. + +## Synopsis + +`@GUI::ComboBox` + +## Examples + +```gml +@GUI::ComboBox { + name: "msgbox_icon_combobox" + model_only: true +} + +@GUI::ComboBox { + name: "msgbox_buttons_combobox" + model_only: true +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-------------|--------|-----------------|------------------------------| +| placeholder | string | Any string | Editor placeholder | +| model_only | bool | true or false | Only allow values from model | diff --git a/Base/usr/share/man/man5/GML-Widget-Frame.md b/Base/usr/share/man/man5/GML-Widget-Frame.md new file mode 100644 index 0000000000..da66e93a27 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Frame.md @@ -0,0 +1,32 @@ +## Name + +GML Frame Widget + +## Description + +Defines a GUI frame widget. Frames can contain other GUI widgets. + +## Synopsis + +`@GUI::Frame` + +## Examples + +```gml +@GUI::Frame { + name: "tip_frame" + min_width: 340 + min_height: 160 + layout: @GUI::HorizontalBoxLayout { + margins: [0, 16, 0, 0] + } +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-----------|---------|--------------------------------------------------------------|--------------------| +| thickness | integer | 64-bit integer | Sets the thickness | +| shadow | enum | Plain, Raised, Sunken | Sets the shadow | +| shape | enum | NoFrame, Box, Container, Panel, VerticalLine, HorizontalLine | Sets the shape | diff --git a/Base/usr/share/man/man5/GML-Widget-GroupBox.md b/Base/usr/share/man/man5/GML-Widget-GroupBox.md new file mode 100644 index 0000000000..b1db09260c --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-GroupBox.md @@ -0,0 +1,25 @@ +## Name + +GML Group Box Widget + +## Description + +Defines a GUI group box widget. Used to contain widgets in a border with a title. + +## Synopsis + +`@GUI::GroupBox` + +## Examples + +```gml +@GUI::GroupBox { + title: "Appearance" +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------|--------|-----------------|----------------| +| title | string | Any string | Sets the title | diff --git a/Base/usr/share/man/man5/GML-Widget-HorizontalBoxLayout.md b/Base/usr/share/man/man5/GML-Widget-HorizontalBoxLayout.md new file mode 100644 index 0000000000..26dedaa80e --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-HorizontalBoxLayout.md @@ -0,0 +1,19 @@ +## Name + +GML Horizontal Box Layout Widget + +## Description + +Defines a horizontal GUI box layout widget. + +## Synopsis + +`@GUI::HorizontalBoxLayout` + +## Examples + +```gml +@GUI::HorizontalBoxLayout { + spacing: 2 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-HorizontalProgressbar.md b/Base/usr/share/man/man5/GML-Widget-HorizontalProgressbar.md new file mode 100644 index 0000000000..41132aac19 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-HorizontalProgressbar.md @@ -0,0 +1,20 @@ +## Name + +GML Horizontal Progress Bar Widget + +## Description + +Defines a GUI horizontal progress bar widget. + +## Synopsis + +`@GUI::HorizontalProgressbar` + +## Examples + +```gml +@GUI::HorizontalProgressbar { + name: "horizontal_progressbar" + fixed_height: 20 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-HorizontalSeperator.md b/Base/usr/share/man/man5/GML-Widget-HorizontalSeperator.md new file mode 100644 index 0000000000..f1b520b2c5 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-HorizontalSeperator.md @@ -0,0 +1,19 @@ +## Name + +GML Horizontal Seperator Widget + +## Description + +Defines a horizontal seperator widget. Creates a horizontal line separating elements. + +## Synopsis + +`@GUI::HorizontalSeparator` + +## Examples + +```gml +@GUI::HorizontalSeparator { + fixed_height: 2 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-HorizontalSlider.md b/Base/usr/share/man/man5/GML-Widget-HorizontalSlider.md new file mode 100644 index 0000000000..d2a3f98a8c --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-HorizontalSlider.md @@ -0,0 +1,19 @@ +## Name + +GML Horizontal Slider Widget + +## Description + +Defines a GUI horizontal slider widget. + +## Synopsis + +`@GUI::HorizontalSlider` + +## Examples + +```gml +@GUI::HorizontalSlider { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-HorizontalSplitter.md b/Base/usr/share/man/man5/GML-Widget-HorizontalSplitter.md new file mode 100644 index 0000000000..9cef0fab7e --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-HorizontalSplitter.md @@ -0,0 +1,19 @@ +## Name + +GUI Horizontal Spitter Widget + +## Description + +Defines a GUI horizontal splitter widget. + +## Synopsis + +`@GUI::HorizontalSpitter` + +## Examples + +```gml +@GUI::HorizontalSpitter { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-IconView.md b/Base/usr/share/man/man5/GML-Widget-IconView.md new file mode 100644 index 0000000000..5977f42941 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-IconView.md @@ -0,0 +1,19 @@ +## Name + +GML Icon View Widget + +## Description + +Defines a GUI icon view widget. + +## Synopsis + +`@GUI::IconView` + +## Examples + +```gml +@GUI::IconView { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-ImageWidget.md b/Base/usr/share/man/man5/GML-Widget-ImageWidget.md new file mode 100644 index 0000000000..6dd7973161 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ImageWidget.md @@ -0,0 +1,26 @@ +## Name + +GML Image Widget + +## Description + +Defines a GUI image widget. + +## Synopsis + +`@GUI::ImageWidget` + +## Examples + +```gml +@GUI::ImageWidget { + +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------------|------|-----------------|-------------------------------------| +| auto_resize | bool | true or false | Set if the image should auto-resize | +| should_stretch | bool | true or false | Set if the image should stretch | diff --git a/Base/usr/share/man/man5/GML-Widget-Label.md b/Base/usr/share/man/man5/GML-Widget-Label.md new file mode 100644 index 0000000000..f53b5273c3 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Label.md @@ -0,0 +1,30 @@ +## Name + +GML Label Widget + +## Description + +Defines a GUI label widget. + +## Synopsis + +`@GUI::Label` + +## Examples + +``` +@GUI::Label { + text: "Copying files..." + text_alignment: "CenterLeft" + font_weight: "Bold" + fixed_height: 32 + name: "files_copied_label" +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-----------------|----------------|-----------------------------------------------------------------------------|----------------------------| +| text_alignment | text_alignment | Center, CenterLeft, CenterRight, TopLeft, TopRight, BottomLeft, BottomRight | Sets alignment of the text | +| text_wrapping | text_wrapping | | | | | diff --git a/Base/usr/share/man/man5/GML-Widget-LinkLabel.md b/Base/usr/share/man/man5/GML-Widget-LinkLabel.md new file mode 100644 index 0000000000..05d32feee2 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-LinkLabel.md @@ -0,0 +1,19 @@ +## Name + +GML Link Label Widget + +## Description + +Defines a GUI link label widget. + +## Synopsis + +`@GUI::LinkLabel` + +## Examples + +```gml +@GUI::LinkLabel { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-ListView.md b/Base/usr/share/man/man5/GML-Widget-ListView.md new file mode 100644 index 0000000000..7bb7b76858 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ListView.md @@ -0,0 +1,19 @@ +## Name + +GML List-view Widget + +## Synopsis + +`@GUI::ListView` + +## Description + +Defines a GUI list view widget. + +## Examples + +```gml +@GUI::ListView { + name: "list_view" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-MultiView.md b/Base/usr/share/man/man5/GML-Widget-MultiView.md new file mode 100644 index 0000000000..ffa72f2f05 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-MultiView.md @@ -0,0 +1,19 @@ +## Name + +GML Multi-view Widget + +## Description + +Defines a GUI multi view widget. + +## Synopsis + +`@GUI::MultiView` + +## Examples + +```gml +@GUI::MultiView { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-OpacitySlider.md b/Base/usr/share/man/man5/GML-Widget-OpacitySlider.md new file mode 100644 index 0000000000..f3303f0cdf --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-OpacitySlider.md @@ -0,0 +1,20 @@ +## Name + +GML Opacity Slider Widget + +## Description + +Defines a GUI opacity slider widget. + +## Synopsis + +`@GUI::OpacitySlider` + +## Examples + +```gml +@GUI::OpacitySlider { + name: "opacity_slider" + tooltip: "Opacity Slider" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-PasswordBox.md b/Base/usr/share/man/man5/GML-Widget-PasswordBox.md new file mode 100644 index 0000000000..7d91887a62 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-PasswordBox.md @@ -0,0 +1,21 @@ +## Name + +GML Password Box Widget + +## Description + +Defines a GUI password box widget. + +## Synopsis + +```gml +@GUI::PasswordBox +``` + +## Examples + +```gml +@GUI::PasswordBox { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Progressbar.md b/Base/usr/share/man/man5/GML-Widget-Progressbar.md new file mode 100644 index 0000000000..5f10831ee3 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Progressbar.md @@ -0,0 +1,32 @@ +## Name + +GML Progress Bar Widget + +## Description + +Defines a GUI progress bar widget. + +## Synopsis + +```gml +@GUI::Progressbar +``` + +## Examples + +```gml +@GUI::Progressbar { + fixed_height: 22 + name: "progressbar" + min: 0 +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------|--------|-----------------------------------|--------------------------------------------| +| text | string | Any string | Sets progress text | +| format | enum | NoText, Percentage, ValueSlashMax | Sets the format of the progress indication | +| min | int | Any 64 bit integer | Sets the minimum progress value | +| max | int | Any 64 bit integer | Set the maximum progress value | diff --git a/Base/usr/share/man/man5/GML-Widget-RadioButton.md b/Base/usr/share/man/man5/GML-Widget-RadioButton.md new file mode 100644 index 0000000000..c761e9a221 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-RadioButton.md @@ -0,0 +1,26 @@ +## Name + +GML Radio Button Widget + +## Description + +Defines a GUI radio button widget. + +## Synopsis + +`@GUI::RadioButton` + +## Examples + +```gml +@GUI::RadioButton { + name: "top_radiobutton" + text: "Radio 1" + checked: true +} + +@GUI::RadioButton { + name: "bottom_radiobutton" + text: "Radio 2" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-ScrollableContainerWidget.md b/Base/usr/share/man/man5/GML-Widget-ScrollableContainerWidget.md new file mode 100644 index 0000000000..50047c6b51 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ScrollableContainerWidget.md @@ -0,0 +1,26 @@ +## Name + +GML Scrollable Container Widget + +## Description + +Defines a GUI scrollable container widget. + +## Synopsis + +`@GUI::ScrollableContainerWidget` + +## Examples + +```gml +@GUI::ScrollableContainerWidget { + +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|------------------------------------|------|-----------------|---------------------------------------------| +| scrollbars_enabled | bool | true or false | Status of scrollbar | +| should_hide_unnecessary_scrollbars | bool | true or false | Whether to hide scrollbars when unnecessary | diff --git a/Base/usr/share/man/man5/GML-Widget-Scrollbar.md b/Base/usr/share/man/man5/GML-Widget-Scrollbar.md new file mode 100644 index 0000000000..aea511b962 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Scrollbar.md @@ -0,0 +1,24 @@ +## Name + +GML Scrollbar Widget + +## Description + +Defines a GUI scrollbar widget. + +## Synopsis + +`@GUI::Scrollbar` + +## Examples + +```gml +@GUI::Scrollbar { + name: "enabled_scrollbar" + fixed_height: 16 + fixed_width: -1 + min: 0 + max: 100 + value: 50 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Slider.md b/Base/usr/share/man/man5/GML-Widget-Slider.md new file mode 100644 index 0000000000..d69183bc21 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Slider.md @@ -0,0 +1,25 @@ +## Name + +GML Slider Widget + +## Description + +Defines a GUI slider widget. + +## Synopsis + +`@GUI::Slider` + +## Examples + +```gml +@GUI::Slider { + +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------------|------|---------------------|---------------------------| +| knob_size_mode | enum | Fixed, Proportional | Sets the slider knob size | diff --git a/Base/usr/share/man/man5/GML-Widget-SpinBox.md b/Base/usr/share/man/man5/GML-Widget-SpinBox.md new file mode 100644 index 0000000000..7612510c6d --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-SpinBox.md @@ -0,0 +1,28 @@ +## Name + +GML Spin Box Widget + +## Description + +Defines a GUI spin box widget. This is a number input with buttons to increment and decrement the value. + +## Synopsis + +`@GUI::SpinBox` + +## Examples + +```gml +@GUI::SpinBox { + name: "thickness_spinbox" + min: 0 + max: 2 +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|----------|-------|--------------------|----------------------------------------------| +| min | int | Any 64 bit integer | Minimum number the spin box can increment to | +| max | int | Any 64 bit integer | Maximum number the spin box can increment to | diff --git a/Base/usr/share/man/man5/GML-Widget-StackWidget.md b/Base/usr/share/man/man5/GML-Widget-StackWidget.md new file mode 100644 index 0000000000..f282738fd5 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-StackWidget.md @@ -0,0 +1,19 @@ +## Name + +GML Stack Widget + +## Description + +Defines a GUI stack widget. + +## Synopsis + +`@GUI::StackWidget` + +## Examples + +```gml +@GUI::StackWidget { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Statusbar.md b/Base/usr/share/man/man5/GML-Widget-Statusbar.md new file mode 100644 index 0000000000..0dd3989b41 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Statusbar.md @@ -0,0 +1,26 @@ +## Name + +GML Status Bar Widget + +## Description + +Defines a GUI status bar widget. + +## Synopsis + +`@GUI::Statusbar` + +## Examples + +```gml +@GUI::Statusbar { + +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-------------|--------|--------------------|---------------------------------| +| text | string | Any string | Sets the text of the status bar | +| label_count | int | Any 64 bit integer | Sets the label count | diff --git a/Base/usr/share/man/man5/GML-Widget-TabWidget.md b/Base/usr/share/man/man5/GML-Widget-TabWidget.md new file mode 100644 index 0000000000..ca94982e3d --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-TabWidget.md @@ -0,0 +1,27 @@ +## Name + +GML Tab Widget + +## Description + +Defines a GUI tab widget. + +## Synopsis + +`@GUI::TabWidget` + +## Examples + +```gml +@GUI::TabWidget { + uniform_tabs: true +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-------------------|----------------|-----------------------------------------------------------------------------|-------------------------------| +| container_margins | margins | | Set container margins | +| uniform_tabs | bool | true or false | Set uniform tabs | +| text_alignment | text_alignment | Center, CenterLeft, CenterRight, TopLeft, TopRight, BottomLeft, BottomRight | Set the alignment of tab text | diff --git a/Base/usr/share/man/man5/GML-Widget-TableView.md b/Base/usr/share/man/man5/GML-Widget-TableView.md new file mode 100644 index 0000000000..f36aec53c7 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-TableView.md @@ -0,0 +1,20 @@ +## Name + +GML Table View Widget + +## Description + +Defines a GUI table view widget. + +## Synopsis + +`@GUI::TableView` + +## Examples + +```gml +@GUI::TableView { + name: "cursors_tableview" + font_size: 12 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-TextBox.md b/Base/usr/share/man/man5/GML-Widget-TextBox.md new file mode 100644 index 0000000000..aa53070e39 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-TextBox.md @@ -0,0 +1,25 @@ +## Name + +GML Text Box Widget + +## Description + +Defines a GUI text box widget. + +## Synopsis + +`@GUI::TextBox` + +## Examples + +```gml +@GUI::TextBox { + placeholder: "Text box" + mode: "Editable" +} + +@GUI::TextBox { + text: "Disabled" + enabled: false +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-TextEditor.md b/Base/usr/share/man/man5/GML-Widget-TextEditor.md new file mode 100644 index 0000000000..6bc5174e3a --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-TextEditor.md @@ -0,0 +1,28 @@ +## Name + +GML Text Editor Widget + +## Description + +Defines a GUI text editor widget. + +## Synopsis + +`@GUI::TextEditor` + +## Examples + +```gml +@GUI::TextEditor { + name: "text_editor" + placeholder: "Text editor" +} +``` + +## Registered Properties + +| Property | Type | Possible values | Description | +|-------------|--------|---------------------------------|-----------------| +| text | string | Any string | Set text | +| placeholder | string | Any string | Set placeholder | +| mode | enum | Editable, ReadOnly, DisplayOnly | Set editor mode | diff --git a/Base/usr/share/man/man5/GML-Widget-Toolbar.md b/Base/usr/share/man/man5/GML-Widget-Toolbar.md new file mode 100644 index 0000000000..b385f71dab --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Toolbar.md @@ -0,0 +1,19 @@ +## Name + +GML Toolbar Widget + +## Description + +Defines a GUI toolbar widget. + +## Synopsis + +`@GUI::Toolbar` + +## Examples + +```gml +@GUI::Toolbar { + name: "toolbar" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-ToolbarContainer.md b/Base/usr/share/man/man5/GML-Widget-ToolbarContainer.md new file mode 100644 index 0000000000..27d5e77014 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ToolbarContainer.md @@ -0,0 +1,23 @@ +## Name + +GML Toolbar Container Widget + +## Description + +Defines a GUI toolbar container widget. + +## Synopsis + +`@GUI::ToolbarContainer` + +## Examples + +```gml +@GUI::ToolbarContainer { + name: "toolbar_container" + + @GUI::Toolbar { + name: "toolbar" + } +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-Tray.md b/Base/usr/share/man/man5/GML-Widget-Tray.md new file mode 100644 index 0000000000..a7a2e9b3be --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-Tray.md @@ -0,0 +1,19 @@ +## Name + +GML Tray Widget + +## Description + +Defines a GUI tray widget. + +## Synopsis + +`@GUI::Tray` + +## Examples + +```gml +@GUI::Tray { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-TreeView.md b/Base/usr/share/man/man5/GML-Widget-TreeView.md new file mode 100644 index 0000000000..578bdb56be --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-TreeView.md @@ -0,0 +1,20 @@ +## Name + +GML Tree View Widget + +## Description + +Defines a GUI tree view widget. + +## Synopsis + +`@GUI::TreeView` + +## Examples + +```gml +@GUI::TreeView { + name: "tree_view" + fixed_width: 200 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-UrlBox.md b/Base/usr/share/man/man5/GML-Widget-UrlBox.md new file mode 100644 index 0000000000..59d2280f93 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-UrlBox.md @@ -0,0 +1,19 @@ +## Name + +GML URL Box Widget + +## Description + +Defines a GUI url box widget. + +## Synopsis + +`@GUI::UrlBox` + +## Examples + +```gml +@GUI::UrlBox { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-ValueSlider.md b/Base/usr/share/man/man5/GML-Widget-ValueSlider.md new file mode 100644 index 0000000000..1dd2eded43 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-ValueSlider.md @@ -0,0 +1,23 @@ +## Name + +GML Value Slider Widget + +## Description + +Defines a GUI value slider widget. + +## Synopsis + +`@GUI::ValueSlider` + +## Examples + +```gml +@GUI::ValueSlider { + name: "value_slider" + min: 0 + max: 100 + value: 100 + tooltip: "Value Slider" +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-VerticalBoxLayout.md b/Base/usr/share/man/man5/GML-Widget-VerticalBoxLayout.md new file mode 100644 index 0000000000..aa0d003065 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-VerticalBoxLayout.md @@ -0,0 +1,19 @@ +## Name + +GML Vertical Box Layout Widget + +## Description + +Defines a vertical GUI box layout. + +## Synopsis + +`@GUI::VerticalBoxLayout` + +## Examples + +```gml +@GUI::VerticalBoxLayout { + spacing: 2 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-VerticalProgressbar.md b/Base/usr/share/man/man5/GML-Widget-VerticalProgressbar.md new file mode 100644 index 0000000000..ec9d1f64ca --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-VerticalProgressbar.md @@ -0,0 +1,20 @@ +## Name + +GML Vertical Progress Bar Widget + +## Description + +Defines a GUI vertical progress bar widget. + +## Synopsis + +`@GUI::VerticalProgressbar` + +## Examples + +```gml +@GUI::VerticalProgressbar { + name: "vertical_progressbar_left" + fixed_width: 36 +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-VerticalSeparator.md b/Base/usr/share/man/man5/GML-Widget-VerticalSeparator.md new file mode 100644 index 0000000000..21e2e4a152 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-VerticalSeparator.md @@ -0,0 +1,19 @@ +## Name + +GML Vertical Seperator Widget + +## Description + +Defines a GUI vertical separator. + +## Synopsis + +`@GUI::VerticalSeparator` + +## Examples + +```gml +@GUI::VerticalSeparator { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-VerticalSlider.md b/Base/usr/share/man/man5/GML-Widget-VerticalSlider.md new file mode 100644 index 0000000000..963fc1d163 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-VerticalSlider.md @@ -0,0 +1,19 @@ +## Name + +GML Vertical Slider Widget + +## Description + +Defines a GUI vertical slider widget. + +## Synopsis + +`@GUI::VerticalSlider` + +## Examples + +```gml +@GUI::VerticalSlider { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget-VerticalSplitter.md b/Base/usr/share/man/man5/GML-Widget-VerticalSplitter.md new file mode 100644 index 0000000000..3cda095754 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget-VerticalSplitter.md @@ -0,0 +1,19 @@ +## Name + +GML Vertical Spliiter Widget + +## Description + +Defines a GUI vertical splitter widget. + +## Synopsis + +`@GUI::VerticalSplitter` + +## Examples + +```gml +@GUI::VerticalSplitter { + +} +``` diff --git a/Base/usr/share/man/man5/GML-Widget.md b/Base/usr/share/man/man5/GML-Widget.md new file mode 100644 index 0000000000..c0fe2430b7 --- /dev/null +++ b/Base/usr/share/man/man5/GML-Widget.md @@ -0,0 +1,50 @@ +# Widget + +Defines a GUI widget. + +```gml +@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 | | | +| y | int | | | +| visible | bool | | | +| focused | bool | | | +| enabled | bool | | | +| tooltip | string | | | +| min_size | size | | | +| max_size | size | | | +| width | int | | | +| height | int | | | +| min_width | int | | | +| min_height | int | | | +| max_width | int | | | +| max_height | int | | | +| fixed_width | int | | | +| fixed_height | int | | | +| fixed_size | size | | | +| shrink_to_fit | bool | | | +| font | string | | | +| font_size | int | | | +| font_weight | font_weight | | | +| font_type | enum | FixedWidth, Normal | | +| foreground_color | color | | | +| foreground_role | string | | | +| background_color | color | | | +| background_role | string | | | +| fill_width_background_color | bool | | | +| layout | widget | @GUI::VerticalBoxLayout, @GUI::HorizontalBoxLayout | | +| relative_rect | rect | | | +| focus_policy | enum | ClickFocus, NoFocus, TabFocus, StrongFocus | | +| margins | | | | |