Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122Widget======
Base widget type, all the other widgets inherit its properties and events.
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. * - padding - util.vector4 (0, 0, 0, 0) - | Adds inset spacing between the outer edge of the widget and its content. | Components specify the left, top, right, and bottom insets in pixels, respectively. * - visible - boolean (true) - Defines if the widget is visible * - ignorePointerEvents - boolean (false) - Defines whether the widget participates in pointer events or pointer hit detection. * - 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.
.. TODO: document the mouse pointer property, when API for reading / adding pointer types is available
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 * - mouseWheel - `MouseWheelEvent <../openmw_ui.html##(MouseWheelEvent)>`_ - The mouse wheel was scrolled 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 * - slot - bool (false) - | Only applies for template content (ignored in layout content). | If true, all the widgets defined in layout content will be rendered as children of this widget. | Only one widget per template can have slot = true (others will be ignored).