mirror of
https://github.com/OpenMW/openmw.git
synced 2025-07-27 22:44:07 +00:00
126 lines
3.8 KiB
ReStructuredText
126 lines
3.8 KiB
ReStructuredText
Flex Widget
|
|
===========
|
|
|
|
Aligns its children along either a column or a row, depending on the `horizontal` property.
|
|
|
|
Properties
|
|
----------
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
:widths: 20 20 60
|
|
|
|
* - name
|
|
- type (default value)
|
|
- description
|
|
* - position
|
|
- util.vector2 (0, 0)
|
|
- | Offsets the position of the widget from its parent's
|
|
| top-left corner in pixels.
|
|
* - size
|
|
- util.vector2 (0, 0)
|
|
- Increases the widget's size in pixels.
|
|
* - relativePosition
|
|
- util.vector2 (0, 0)
|
|
- | Offsets the position of the widget from its parent's
|
|
| top-left corner as a fraction of the parent's size.
|
|
* - relativeSize
|
|
- util.vector2 (0, 0)
|
|
- Increases the widget's size by a fraction of its parent's size.
|
|
* - anchor
|
|
- util.vector2 (0, 0)
|
|
- | Offsets the widget's position by a fraction of its size.
|
|
| Useful for centering or aligning to a corner.
|
|
* - visible
|
|
- boolean (true)
|
|
- Defines if the widget is visible
|
|
* - propagateEvents
|
|
- boolean (true)
|
|
- Allows base widget events to propagate to the widget's parent.
|
|
* - alpha
|
|
- number (1.0)
|
|
- | Set the opacity of the widget and its contents.
|
|
| If `inheritAlpha` is set to `true`, this becomes the maximum alpha value the widget can take.
|
|
* - inheritAlpha
|
|
- boolean (true)
|
|
- | Modulate `alpha` with parents `alpha`.
|
|
| If the parent has `inheritAlpha` set to `true`, the value after modulating is passed to the child.
|
|
* - horizontal
|
|
- bool (false)
|
|
- | Flex aligns its children in a row (main axis is horizontal) if true,
|
|
| otherwise in a column (main axis is vertical).
|
|
* - autoSize
|
|
- bool (true)
|
|
- | If true, Flex will automatically resize to fit its contents.
|
|
| Children can't be relatively position/sized when true.
|
|
* - align
|
|
- ui.ALIGNMENT (Start)
|
|
- Where to align the children in the main axis.
|
|
* - arrange
|
|
- ui.ALIGNMENT (Start)
|
|
- How to arrange the children in the cross axis.
|
|
|
|
Events
|
|
------
|
|
|
|
Base widget events are special, they can propagate up to the parent widget.
|
|
This can be prevented by changing the `propagateEvents` property, or by assigning an event handler.
|
|
The event is still allowed to propagate if the event handler returns `true`.
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
:widths: 20 20 60
|
|
|
|
* - name
|
|
- first argument type
|
|
- description
|
|
* - keyPress
|
|
- `KeyboardEvent <../openmw_input.html##(KeyboardEvent)>`_
|
|
- A key was pressed with this widget in focus
|
|
* - keyRelease
|
|
- `KeyboardEvent <../openmw_input.html##(KeyboardEvent)>`_
|
|
- A key was released with this widget in focus
|
|
* - mouseMove
|
|
- `MouseEvent <../openmw_ui.html##(MouseEvent)>`_
|
|
- | Mouse cursor moved on this widget
|
|
| `MouseEvent.button` is the mouse button being held
|
|
| (nil when simply moving, and not dragging)
|
|
* - mouseClick
|
|
- nil
|
|
- Widget was clicked with left mouse button
|
|
* - mouseDoubleClick
|
|
- nil
|
|
- Widget was double clicked with left mouse button
|
|
* - mousePress
|
|
- `MouseEvent <../openmw_ui.html##(MouseEvent)>`_
|
|
- A mouse button was pressed on this widget
|
|
* - mouseRelease
|
|
- `MouseEvent <../openmw_ui.html##(MouseEvent)>`_
|
|
- A mouse button was released on this widget
|
|
* - focusGain
|
|
- nil
|
|
- Widget gained focus (either through mouse or keyboard)
|
|
* - focusLoss
|
|
- nil
|
|
- Widget lost focus
|
|
* - textInput
|
|
- string
|
|
- Text input with this widget in focus
|
|
|
|
External
|
|
--------
|
|
.. list-table::
|
|
:header-rows: 1
|
|
:widths: 20 20 60
|
|
|
|
* - name
|
|
- type (default value)
|
|
- description
|
|
* - grow
|
|
- float (0)
|
|
- | Grow factor for the child. If there is unused space in the Flex,
|
|
| it will be split between widgets according to this value.
|
|
| Has no effect if `autoSize` is `true`.
|
|
* - stretch
|
|
- float (0)
|
|
- | Stretches the child to a percentage of the Flex's cross axis size.
|