ZPROJECT

Sous-menus

Par
Sören
v1.0.6

Les sous-menus permettent d’organiser une interface en plusieurs niveaux.

Créer un sous-menu

lua
local Menu = zUI.CreateMenu(
    "Menu principal",
    "Administration",
    "Choisissez une catégorie",
    nil,
    "F1",
    "Ouvrir le menu."
)

local subMenu = zUI.CreateSubMenu(
    Menu,
    "Sous-menu",
    "Options",
    "Paramètres supplémentaires"
)

Le premier paramètre de zUI.CreateSubMenu correspond au menu parent.

Ouvrir un sous-menu depuis un bouton

Transmettez le sous-menu comme dernier argument de Items:AddButton :

lua
Menu:SetItems(function(Items)
    Items:AddButton(
        "Ouvrir les options",
        "Accéder aux paramètres supplémentaires.",
        {},
        function(onSelected, onHovered)
        end,
        subMenu
    )
end)

Ajouter son contenu

lua
subMenu:SetItems(function(Items)
    Items:AddSeparator("Options", "right")
    Items:AddLine()

    Items:AddButton(
        "Action du sous-menu",
        "Exécute une action depuis le sous-menu.",
        {},
        function(onSelected, onHovered)
            if onSelected then
                print("Action exécutée")
            end
        end
    )
end)

Le sous-menu dispose également de ses propres événements :

lua
subMenu:OnOpen(function()
    print("Sous-menu ouvert")
end)

subMenu:OnClose(function()
    print("Sous-menu fermé")
end)