Commandes de base de Tk
bindtags
Determine quelles liaisons s’appliquent a une fenetre et dans quel ordre d’evaluation.
Syntaxe bindtags fenetre?listeBalises?
Description
Lorsqu’une liaison est crée avec la commande bind, elle est associ´ ee soit a une fenetre particuli`ere de la forme .a.b.c, soit ` a un nom de classe tel que Button, au mot-cl´ e all, ou ` a n’importe quelle autre chaıne. Toutes ces formes sont appel´ees balises de liaison. Chaque fenˆetre comporte une liste de balises de liaison qui determine la forme d’execution des evenements pour la fenetre. Quand un evenement se produit dans une fenetre, il est applique ` a chacune des balises de la fenetre dans l’ordre: pour chaque balise, la liaison la plus specifique correspondant a la balise et a l’evenement donnes est executee (cf. p. 13 pour les regles qui regissent ce mecanisme). Par defaut, chaque fenêtre possède quatre balises de liaison consistant en le nom de la fenˆetre, le nom de classe de la fenˆetre, le nom de l’ancetre de premier niveau le plus proche de la fenˆetre et le mot-cle all, dans cet ordre. Les fenetres de premier niveau ont seulement trois balises par defaut car elles sont elles-memes le parent de premier niveau.
La commande bindtags permet de lire et de modifier les balises de liaison d’une fenetre. Si bindtags est invoqu´ ee avec un seul argument, le jeu courant de balises de liaison pour fenˆetre est renvoye sous forme de liste. Si l’argument listeBalises est specifie dans la commande bindtags, il doit constituer une liste Tcl valide; les balises de fenetre sont changees en les elements de la liste. Les elements de listeBalises peuvent etre des chaînes quelconques; cependant, toute balise commen¸cant par un point est consideree comme le nom d’une fenetre; si aucune fenetre de ce nom n’existe au moment ou l’´evenementest exécute,la balise est ignoree pour cet evenement. L’ordre des elements dans listeBalises determine l’ordre dans lequel les scripts de liaison sont executes en réponse aux evenements. Par exemple, la commande bindtags .b {all . Button .b} renverse l’ordre dans lequel les scripts seront evalues pour un bouton nomme .b de telle sorte que les liaisons all seront invoquees en premier, puis les liaisons pour le premier niveau de .b, puis les liaisons de classe pour finir enfin par les liaisons de .b. Si listeBalises est une liste vide, les balises de liaison pour fenetre sont reordonnees dans l’ordre par defaut decrit ci-dessus.