Page 1 of 1

Programmation d'une table en LUA pour créer et gérer un menu

Unread postPosted: 17 Mar 2025, 06:43
by wchris7961
Bonjour,
Cela fait 2 jours que j'essai de faire fonctionner un code permettant de programmer un menu via la création d'une table en LUA.
La structure me semble bonne, or je vois pas où se trouve le problème et les message d'erreurs ne sont pas assez explicite pour moi.
Je ne vois pas comment corriger ce code pour qu'il fonctionne correctement.
Je souhaite que mon menu affiche au moins 3 sous menus imbriqués soit 3 (sous sous sous) menu.
Je précise que j'utilise Lua sur ti-nspire cx II cas.
En vous remerciant d'avance pour votre aide.
Voici mon code :

Code: Select all
-- Création de la table pour le menu
menu = {
    {"Niveau 1",  -- Menu parent
        {"Niveau 2.1",  -- Sous-menu 1
            {"Niveau 3.1",  -- Sous-menu 1.1
                {"Niveau 4.1",  -- Sous-menu 1.1.1
                    {"Niveau 5.1", actionNiveau5},  -- Option finale
                    {"Niveau 5.2", actionNiveau5},  -- Option finale
                },
                {"Niveau 4.2",  -- Sous-menu 1.1.2
                    {"Niveau 5.3", actionNiveau5},
                    {"Niveau 5.4", actionNiveau5},
                },
            },
            {"Niveau 3.2",  -- Sous-menu 1.2
                {"Niveau 4.3",  -- Sous-menu 1.2.1
                    {"Niveau 5.5", actionNiveau5},
                },
            },
        },
        {"Niveau 2.2",  -- Sous-menu 2
            {"Niveau 3.3",  -- Sous-menu 2.1
                {"Niveau 4.4",  -- Sous-menu 2.1.1
                    {"Niveau 5.6", actionNiveau5},
                },
            },
        },
    },
}

-- Enregistrement du menu avec toolpalette.register
toolpalette.register(menu)

Re: Programmation d'une table en LUA pour créer et gérer un

Unread postPosted: 17 Mar 2025, 07:19
by Adriweb
Bonjour,
Il n'y peut y avoir que 2 niveaux.
Comme rappelé dans la documentation, 15 menus et 30 sous-menus.

Par contre tu peux recréer/modifier la toolpalette dynamiquement, donc selon l'état courant de ton programme tu peux afficher une toolpalette correspondant déjà à un sous menu par exemple, avec un bouton "retour/back" en haut...