AbstractType used for storing the data for all list entries.
Creates a new empty list view.
Height of a single element in the list, in pixels.
Protected_bottomProtected_dataProtected_entriesProtected_entryProtected_isProtected_isProtected_scrollProtected_scrollProtected_selectedIndex of the selected element, if any.
Protected_topProtectedtotalSets the border radius of the style used by this element.
Sets the border radius of the style used by this element.
Sets the border radius of the style used by this element.
Sets the border radius of the style used by this element.
Sets new border width to be used by the element.
Sets the bounds of the UI element. Relative to a parent UI panel. Equivalent to calling setPosition(), setWidth() and setHeight().
If scalable is set to true, the size will be scaled linearly with the DPI scaling factor of the surface the elements gets
attached. It false, the element will have this exact size no matter the DPI scaling factor.
Sets the content padding of the style used by this element.
Sets the content padding of the style used by this element.
Sets the content padding of the style used by this element.
Sets the content padding of the style used by this element.
Assigns a new context menu that will be opened when the element is right clicked. Null is allowed in case no context menu is wanted.
Sets the debug flags for the UI element.
Sets the debug name for the UI element.
Disables or enables the element. Disabled elements cannot be interacted with and have a faded out appearance.
Hides or shows this element and recursively applies the same state to all the child elements. This will not remove the element from the layout, the room for it will still be reserved but it just won't be visible.
Gets the scaling factor for the element's parent surface. This element must be attached to a valid surface in order to retrieve the scale factor. If the element is not attached to a surface, 1.0 is returned.
The scale factor for the element's parent surface.
Set element part of element depth. Less significant than both widget and area depth.
Total number of entries in the list.
Height of a single entry in the list, in pixels.
Sets the element size to be fixed using the specified value.
Sets the element size to be fixed using the specified value in pixels.
Sets the element size to be fixed using the specified value.
Sets the element size to be fixed using the specified value in pixels.
Determines if the element can be navigated to by using keys/buttons (e.g. the 'Tab' button on the keyboard.
Determines if the element is currently being "clicked" by a pointer device or keyboard input.
Checks if the underlying native UIElement has been destroyed.
Determines will this element block elements underneath it from receiving events like pointer click, hover on/off or be able to gain focus. True by default.
Determines if the element is currently being focused, typically in a state to accept for keyboard input.
Determines if the element is currently hovered by a pointer device.
Determines if the element is receives hover events.
Determines if the element can be focused by clicking on it.
Determines if the element fill is interactive based on mouse events. This requires mouse-move events to be enabled.
Determines if the element stroke is interactive based on mouse events. This requires mouse-move events to be enabled.
Specifies that layout passes of children elements should start from this element.
Determines if the element is currently being "clicked" by a pointer device or keyboard input.
Determines if the element is receives hover events.
Determines if the element is receives hover events.
Sets if the list should scroll to the latest entry if not enough space is given to all entries in the list.
Specifies that per-frame updates are enabled. If enabled, the element's onUpdate method will be called every frame.
Activates or deactivates this element and recursively applies the same state to all the child elements. This has the same effect as SetDisplayType(UIDisplayType::Hidden), but when disabled it will also remove the element from the layout, essentially having the same effect is if you destroyed the element.
Sets the horizontal alignment of the element when used in a layout.
Sets the vertical alignment of the element when used in a layout.
Gets the main element.
Sets the minimum height in points of the element when used in a layout.
Sets the minimum width in points of the element when used in a layout.
Sets a navigation group that determines in what order are UI elements visited when using a keyboard or gamepad to switch between the elements. If you don't set a navigation group the elements will inherit the default navigation group from their parent UISurface. Also see SetNavigationGroupIndex().
Sets the padding of the style used by this element.
Sets the padding of the style used by this element.
Sets the padding of the style used by this element.
Sets the padding of the style used by this element.
Returns the layout this element belongs to, if any.
Sets element position relative to parent UI panel in pixels.
Disables or enables the element. Disabled elements cannot be interacted with and have a faded out appearance.
Primary UI scroll area that all entries are contained within.
Gets the selected index.
Sets new style to be used by the element.
Get the window in which the element is positioned.
Adds a new entry to the end of the list.
Data of the entry to add.
Creates an animation that executes an action lambda once the delay elapsed.
The action to execute.
Optionaldelay: numberThe delay until the action is executed. Defaults to no delay.
Optionalrepeating: number | booleanWhether the animation should repeat or not. Defaults to false.
Set to true, to repeat forever.
Set to false, to never repeat.
Set to a number, to indicate the repeat count.
The created animation.
Animates a property of the UIElement. The animation is automatically started.
The name of the property to be animated on the UIElement.
The starting value of the property.
The ending value of the property.
Optionalduration: numberThe animation duration in seconds. Defaults to 1 seconds.
OptionaleasingCurve: Const<EasingCurve>The easing curve to be used. Defaults to
Optionalrepeating: number | booleanWhether the animation should repeat or not. Defaults to false.
Set to true, to repeat forever.
Set to false, to never repeat.
Set to a number, to indicate the repeat count.
The created animation.
Animates a property of the UIElement using a generic lambda function. The animation is
automatically started.
The lambda that is called when the value is updated. The lambda should be used to assign the value on the u
The starting value of the property.
The ending value of the property.
Optionalduration: numberThe animation duration in seconds. Defaults to 1 seconds.
OptionaleasingCurve: Const<EasingCurve>The easing curve to be used. Defaults to
Optionalrepeating: number | booleanWhether the animation should repeat or not. Defaults to false.
Set to true, to repeat forever.
Set to false, to never repeat.
Set to a number, to indicate the repeat count.
The created animation.
Creates an animation that takes delay seconds to execute.
The delay in seconds.
The created animation.
Protected AbstractcalculateVirtualCalled when a command event is triggered. Return true if you have processed the event and don't want other elements to process it.
Converts the originLocalPosition from the originElement to this element.
Converts the originLocalPosition from the originElement to this element.
AbstractensureFinds an index of the specified entry in the list.
Data of the entry to search for.
Index of the entry if found, -1 otherwise.
Returns non-clipped bounds of the UI element. Relative to a parent UI panel.
OptionalrelativeTo: UIElementBaseParent panel of the provided element relative to which to return the bounds. If null the bounds relative to the first parent panel are returned. Behavior is undefined if provided panel is not a parent of the element.
Gets the MainElement as class of T.
The requested class
Gets the currently active element style.
Adds a new entry at the specified index. If the index is out of range the entry is added at the end of the list.
Sequential index at which to insert the entry.
Data of the entry to insert.
VirtualCalled when a mouse event is received on any UI element the mouse is interacting with. Return true if you have processed the event and don't want other elements to process it.
AbstractonAbstractonAbstractonVirtualInvoked when the UI requests the UIElement to create a custom tooltip.
A UIElement that contains the tooltip content.
AbstractrebuildAbstractselectIf isBlocking is true, events emitted by this object are blocked. If isBlocking is false, no blocking will occur and events
will be triggered normally.
Events emitted while being blocked are not buffered.
Should the element block events
whether the element is already blocking events or not.
Sets the bounds of the UI element. Relative to a parent UI panel. Equivalent to calling setPosition(), setWidth() and setHeight().
If scalable is set to true, the size will be scaled linearly with the DPI scaling factor of the surface the elements gets
attached. It false, the element will have this exact size no matter the DPI scaling factor.
Assigns a custom cursor type.
Options object for the function call.
Sets element height in pixels. Element will be resized according to its contents and parent layout but will always stay within the provided range. If maximum height is zero, the element is allowed to expand as much as it needs.
If scalable is set to true, the minimum and maximum heights will be scaled linearly with the DPI scaling factor of the surface
the elements gets attached. It false, the element will have this exact size no matter the DPI scaling factor.
OptionalminHeight: numberOptionalmaxHeight: numberOptionalscalable: booleanSets element width in pixels. Element will be resized according to its contents and parent layout but will always stay within the provided range. If maximum width is zero, the element is allowed to expand as much as it needs.
If scalable is set to true, the minimum and maximum widths will be scaled linearly with the DPI scaling factor of the surface
the elements gets attached. It false, the element will have this exact size no matter the DPI scaling factor.
OptionalminWidth: numberOptionalmaxWidth: numberOptionalscalable: booleanVirtualCalled when a shortcut action is triggered and the UI element has input focus. Return true if you have processed the event and don't want other elements to process it.
VirtualCalled when some text is input and the UI element has input focus. Return true if you have processed the event and don't want other elements to process it.
Scales a point value by using the element's DPI scale to the current pixel value.
The element to scale a value for. This element must be attached to a valid widget in order to retrieve the scale factor. If the element is not attached to a widget, no scaling is performed.
The value in pixels.
Converts a pixel value to points by using the element's DPI scale.
The element to scale a value for. This element must be attached to a valid widget in order to retrieve the scale factor. If the element is not attached to a widget, no scaling is performed.
The value in points.
StaticrenderRenders a UI element into a texture.
The UI element to be drawn to a texture.
The UI skin to be used to render the element.
The size of the UI texture to draw.
OptionalscalingFactor: numberThe DPI scaling factor of the RenderTarget. Can be used to linearly scale the entire UI, including text.
OptionalclearColor: Immutable<SRGBColor>The clear color. (Default: [0, 0, 0, 0])
An async operation that returns the rendered texture once rendering has been completed by the GPU.
ReadonlyonAction triggered when the selection changes.
ReadonlyonAction triggered when an entry is double-clicked.
ReadonlyonAction triggered when an entry is right-clicked.
ReadonlyonTriggered when the element gains focus.
ReadonlyonTriggered when the element loses focus.
ReadonlyonTriggered when the mouse enters over the UI element.
ReadonlyonTriggered when the mouse leaves the UI element.
ReadonlyonTriggered when the element was clicked.
ReadonlyonTriggered when the widget requests the creation of a context menu.
ReadonlyonTriggered when the element state changes.
ReadonlyonEvent fired whenever the UI element size changes from a layout update.
ReadonlyonEvent fired whenever the UI element is registered with or unregistered from a parent element.
This does not mean that the element is currently visible on screen or that it is part of a layout. Use onActiveSurfaceChanged to determine if the element is part of a layout that is currently rendered.
ReadonlyonEvent fired whenever the UI element is registered with or unregistered from a surface.
UI element that can efficiently display a list of entries that share the same height.
Note
The list is optimized in a way that only visible entries have a UI element representation, as opposed to just adding UI elements directly in a vertical UI layout. This allows the list view to have thousands of elements with little performance impact.