A scrollable list of UI buttons.
More...
#include <ScrollList.h>
|
| | ScrollList (float width, float height, float buttonWidth, float buttonHeight) |
| | Constructs a ScrollList with specified dimensions and button sizes.
|
| |
|
| ScrollList (const ScrollList &)=delete |
| |
|
ScrollList & | operator= (const ScrollList &)=delete |
| |
| void | AddButton (const std::string &label, UICommand *onPressCommand) |
| | Adds a button to the scroll list.
|
| |
| Button * | GetButton (size_t index) const |
| | Gets the specified button.
|
| |
| size_t | GetButtonCount () const |
| | Gets the number of buttons in the scroll list.
|
| |
| void | SetPosition (float x, float y) |
| | Sets the position of the scroll list.
|
| |
| void | Scroll (float offset) |
| | Scrolls the list by a given offset (typically in response to mouse wheel input).
|
| |
| void | SetScrollSpeed (float speed) |
| | Sets the scroll speed for the list.
|
| |
|
virtual | ~UIComponent ()=default |
| | Virtual destructor.
|
| |
| int | GetLayer () const |
| | Gets the rendering layer of the component.
|
| |
| virtual void | SetLayer (int layer) |
| | Sets the rendering layer of the component.
|
| |
| UIComponentType | GetType () const |
| | Gets the type of the UI component.
|
| |
| bool | IsEnabled () const |
| | Returns whether the component is enabled or not.
|
| |
| void | SetEnabled (bool enabled) |
| | Sets the enabled state of the component.
|
| |
| void | SetOwningCanvas (Canvas *canvas) |
| | Gets the owning canvas of the component.
|
| |
|
| void | Render () override |
| | Renders the scroll list and its buttons.
|
| |
| void | OnPress () override |
| | Handles press events on the scroll list (not typically used).
|
| |
| bool | IsMouseOver (float x, float y) override |
| | Checks if the mouse is over the scroll list.
|
| |
|
void | UpdateButtonPositions () |
| | Updates the positions of the buttons based on the current scroll offset.
|
| |
|
|
SUNENGINESprite * | pSprite |
| | Background sprite for the scroll list.
|
| |
|
std::vector< Button * > | buttons |
| | List of buttons in the scroll list.
|
| |
|
float | width |
| | Width of the scroll list.
|
| |
|
float | height |
| | Height of the scroll list.
|
| |
|
float | buttonWidth |
| | Width of each button.
|
| |
|
float | buttonHeight |
| | Height of each button.
|
| |
|
float | scrollOffset |
| | Current scroll offset.
|
| |
|
float | posX |
| | X-coordinate of the scroll list's position.
|
| |
|
float | posY |
| | Y-coordinate of the scroll list's position.
|
| |
|
float | scrollSpeed |
| | Speed of scrolling (multiplier for scroll offset)
|
| |
|
|
bool | Enabled = true |
| | Indicates if the component is enabled or not.
|
| |
|
int | Layer = 0 |
| | Rendering layer in.
|
| |
|
UIComponentType | Type = UIComponentType::None |
| | Type of the UI component.
|
| |
|
Canvas * | pOwningCanvas = nullptr |
| | Pointer to the owning canvas, if any.
|
| |
A scrollable list of UI buttons.
The ScrollList class provides a vertical list of buttons that can be scrolled if the content exceeds the visible area. It is useful for displaying selectable options, menus, or lists within a UI. Each button can have its own label and command. The ScrollList handles rendering only the visible buttons and manages their positions as the user scrolls.
Example usage:
list->
AddButton(
"Option 1",
new MyCommand());
canvas->AddComponent(list);
- See also
- Button, Canvas, UICommand
◆ ScrollList()
| ScrollList::ScrollList |
( |
float | width, |
|
|
float | height, |
|
|
float | buttonWidth, |
|
|
float | buttonHeight ) |
Constructs a ScrollList with specified dimensions and button sizes.
- Parameters
-
| width | The width of the scroll list in pixels. |
| height | The height of the scroll list in pixels. |
| buttonWidth | The width of each button in pixels. |
| buttonHeight | The height of each button in pixels. |
◆ AddButton()
| void ScrollList::AddButton |
( |
const std::string & | label, |
|
|
UICommand * | onPressCommand ) |
Adds a button to the scroll list.
- Parameters
-
| label | The label for the button. |
| onPressCommand | The command to execute when the button is pressed. |
◆ GetButton()
| Button * ScrollList::GetButton |
( |
size_t | index | ) |
const |
Gets the specified button.
- Returns
- The button at the given index.
◆ GetButtonCount()
| size_t ScrollList::GetButtonCount |
( |
| ) |
const |
Gets the number of buttons in the scroll list.
- Returns
- The count of buttons in the scroll list.
◆ IsMouseOver()
| bool ScrollList::IsMouseOver |
( |
float | x, |
|
|
float | y ) |
|
overrideprivatevirtual |
Checks if the mouse is over the scroll list.
- Parameters
-
| x | The x-coordinate of the mouse position. |
| y | The y-coordinate of the mouse position. |
- Returns
- True if the mouse is over the scroll list, false otherwise.
Implements UIComponent.
◆ OnPress()
| void ScrollList::OnPress |
( |
| ) |
|
|
overrideprivatevirtual |
Handles press events on the scroll list (not typically used).
Implements UIComponent.
◆ Render()
| void ScrollList::Render |
( |
| ) |
|
|
overrideprivatevirtual |
Renders the scroll list and its buttons.
Implements UIComponent.
◆ Scroll()
| void ScrollList::Scroll |
( |
float | offset | ) |
|
Scrolls the list by a given offset (typically in response to mouse wheel input).
- Parameters
-
| offset | The scroll offset; positive or negative to scroll up or down. |
◆ SetPosition()
| void ScrollList::SetPosition |
( |
float | x, |
|
|
float | y ) |
Sets the position of the scroll list.
- Parameters
-
| x | The x-coordinate of the scroll list's position. |
| y | The y-coordinate of the scroll list's position. |
◆ SetScrollSpeed()
| void ScrollList::SetScrollSpeed |
( |
float | speed | ) |
|
Sets the scroll speed for the list.
- Parameters
-
| speed | The scroll speed multiplier. |
The documentation for this class was generated from the following files: