progliste AT framalistes.org
Objet : Liste sur la programmation tous languages, orienté déficients visuels
Archives de la liste
[progliste] NGPad, les méthodes wx.MenuBar:setMenuLabel et wx.Menu:setLabel
Chronologique Discussions
- From: Abdel <abdelkrim.bensaid AT free.fr>
- To: progliste AT framalistes.org
- Subject: [progliste] NGPad, les méthodes wx.MenuBar:setMenuLabel et wx.Menu:setLabel
- Date: Fri, 12 Apr 2024 17:05:41 +0200
- Authentication-results: rod3.framasoft.org; dkim=pass header.d=free.fr header.s=smtp-20201208 header.b=XJuX1fV0; dmarc=pass (policy=none) header.from=free.fr; spf=pass (rod3.framasoft.org: domain of abdelkrim.bensaid AT free.fr designates 2a01:e0c:1:1599::15 as permitted sender) smtp.mailfrom=abdelkrim.bensaid AT free.fr
Salut les scripteurs,
Il existe certaines méthodes et propriétés, propres à wx, qui sont
très bien documentées dans la documentation officielle.
Elles ne sont cependant pas documentées dans la doc de NGPad, mais
peu-importe...
Parmi ces méthodes et propriétés, je citerait par exemple une
méthode propre à la classe wx.MenuBar, il s'agit de setMenuLabel.
Elle permet, comme son nom l'indique, de redéfinir le libellé d'un
menu présent dans la barre de menus.
Son premier paramètre est l'objet self, qui symbolise la barre de
menu courante, que l'on peut très bien rendre implicite en
utilisant le symbole ":".
Son second paramètre est la position du menu en question, qui est
représentée par un index qui commence à 0 pour le menu "Fichier",
1 pour "Édition", etc.
Le troisième paramètre est le nouveau libellé que l'on souhaite
attribuer à notre menu.
Faisons un petit test dans la console LUA de NGPad et saisissons
ce qui suit :
app.currentDocument.menus:setMenuLabel(0, "Nou&veau libellé pour le menu Fichier");
Maintenant, consultons la barre de menus et positionnons-nous sur
le premier menu, on entend :
Nouveau libellé pour le menu Fichier sous-menu Alt + V
Pour les items de menu, nous disposons de la méthode "setLabel",
disponible aussi bien dans la classe "wx.Menu" que dans la classe
"wx.MenuItem".
Dans l'exemple suivant, nous allons définir un nouveau libellé
pour un item de menu, vous verrez, il y a 2 façons de le faire,
une plutôt contraignante et l'autre, beaucoup plus simple.
On va commencer par la contraignante.
Nous allons définir un nouveau libellé pour l'item "Nouveau
sous-menu" du menu "Fichier".
Pour commencer, nous devons mettre la main sur le menu fichier :
menuFichier = app.currentDocument.menus:getMenu(1);
Le paramètre permettant d'indiquer la position de la méthode
"wx.MenuBar:getMenu" est différent de celui de
"wx.MenuBar:setMenuLabel", les indices commençaient à 0, et là,
ils commencent à 1.
Maintenant, pointons sur le premier item du menu fichier :
nouveau = menuFichier[1]; -- Là aussi, l'indice commence à 1.
Récupérons son "id" :
nouveauId = nouveau:getId();
Maintenant, nous allons pouvoir utiliser la méthode "setLabel" de
la classe "wx.Menu").
Son premier paramètre est "self", que l'on peut définir comme
implicite avec le symbole ":".
Le second paramètre est l'Id de l'item de menu dont on souhaite
redéfinir le libellé, attention, ce n'est pas l'indice, mais
l'identificateur qui est récupérable grâce à la méthode "getId" de
la classe "wx.MenuItem").
Le troisième paramètre est le nouveau libellé que l'on souhaite
attribuer.
Allons-y :
menuFichier:setLabel(nouveauId, "Nouveau libellé pour l'item de menu &Nouveau");
Consultons le menu "Fichier" est constatons les changements...
Bien sûr, il y a beaucoup plus simple :
nouveau.label = "Encore un nouveau libellé pour l'item de menu &Nouveau";
Ou encore :
nouveau:setLabel("Un troisième libellé pour l'item de menu &Nouveau");
Remarquez bien que dans le dernier exemple, on utilise le symbole
":".
C'est parce que la méthode "setLabel" de la classe "wx.MenuItem"
utilise elle aussi comme premier paramètre, l'objet "self", que
l'on peut définir comme implicite grâce aux ":".
Voilà donc pour ce tour d'horizon de ces petites méthodes qui
pourraient vous être utiles dans le scripting de NGPad.
Cordialement,
Abdel.
-
[progliste] NGPad, les méthodes wx.MenuBar:setMenuLabel et wx.Menu:setLabel,
Abdel, 12/04/2024
- Re: [progliste] NGPad, les méthodes wx.MenuBar:setMenuLabel et wx.Menu:setLabel, Pierre-Louis R@RPTools, 12/04/2024
Archives gérées par MHonArc 2.6.24.