Examples

UI tabs

local tab_selector = ui.new_combobox('Tab', 'General', 'Tab 2', 'Tab 3')
local menu_items = {
    {
        lbl = ui.new_label('General'),
        enabled = ui.new_checkbox('Enabled')
    },
    {
        lbl = ui.new_label('Tab 2'),
    },
    {
        lbl = ui.new_label('Tab 3'),
    }
}

local function update_item_visibility()
    local active_tab_index = ui.get(tab_selector)
    for k, subitems in pairs(menu_items) do
        if k == active_tab_index then
            for _, subitem in pairs(subitems) do
                ui.show_item(subitem)
            end
        else
            for _, subitem in pairs(subitems) do
                ui.hide_item(subitem)
            end
        end
    end
end

ui.set_callback(tab_selector, update_item_visibility)
update_item_visibility()