feat(lua): Add tab:is_selected function to check if the tab is the currently selected one in the GUI. (#1763)

This commit is contained in:
Quentin 2023-07-19 09:28:22 +02:00 committed by GitHub
parent 1fa7f3448b
commit 497781b048
3 changed files with 28 additions and 6 deletions

View File

@ -2,7 +2,17 @@
Class for representing a tab within the GUI.
## Functions (11)
## Functions (12)
### `is_selected()`
- **Returns:**
- `boolean`: Returns true if this tab is the currently selected one in the GUI.
**Example Usage:**
```lua
boolean = tab:is_selected()
```
### `clear()`

View File

@ -115,6 +115,11 @@ namespace lua::gui
module->m_owned_tabs.push_back(id());
}
bool tab::is_selected(sol::this_state state)
{
return big::g_gui_service->get_selected()->hash == m_tab_hash;
}
void tab::clear(sol::this_state state)
{
auto module = sol::state_view(state)["!this"].get<big::lua_module*>();
@ -346,6 +351,7 @@ namespace lua::gui
input_string_ut["set_value"] = &lua::gui::input_string::set_value;
auto tab_ut = ns.new_usertype<tab>("tab");
tab_ut["is_selected"] = &tab::is_selected;
tab_ut["clear"] = &tab::clear;
tab_ut["add_tab"] = &tab::add_tab;
tab_ut["add_button"] = &tab::add_button;

View File

@ -35,6 +35,12 @@ namespace lua::gui
tab(const std::string& name, const rage::joaat_t parent_tab_hash, const sol::this_state& state);
// Lua API: Function
// Class: tab
// Name: is_selected
// Returns: boolean: Returns true if this tab is the one currently selected in the GUI.
bool is_selected(sol::this_state state);
// Lua API: Function
// Class: tab
// Name: clear