bindtags

 

bindtags - Détermine quels bindings appliquer à une fenêtre, et l'ordre d'évaluation


SYNTAXE

 bindtags fenêtre ?tagList?

DESCRIPTION


Quand un binding est créé avec la commande bind, il est associé soit avec une fenêtre particulière comme .a.b.c, un nom de classe comme button, le mot-clé all, ou n'importe quelle autre chaîne. Chacune de ces formes sont appelées binding tags. Chaque fenêtre contient une liste de binding tags qui détermine comment les événements sont traités pour la fenêtre. Quand un événement se produit dans une fenêtre, il est appliqué à chacun des tags de la fenêtre dans l'ordre: pour chaque tag, le plus spécifique binding qui correspond aux tag et événement donnés est exécuté. Voir la commande bind pour une plus ample information sur le processus de correspondance.

Par défaut, chaque fenêtre a quatre binding tags consistant du nom de la fenêtre, du nom de classe de la fenêtre, du nom du plus proche ancêtre de la fenêtre, et all, dans cet ordre. Les fenêtre de premier niveau (toplevel N.D.T.) ont seulement trois tags par défaut, car le nom toplevel est le même que celui de la fenêtre. La commande bindtags permet la consultation et la modification des binding tags d'une fenêtre.

Si bindtags est appelée avec seulement un argument, alors le jeu courant de binding tags pour fenêtre est returned en tant que liste. Si l'argument tagList est spécifié à bindtags, alors ce doit être une liste correcte; les tags de fenêtre sont changés en éléments de la liste. Les éléments de tagList peuvent être des chaînes arbitraires; néanmoins, tout tag commençant avec un point est traité comme le nom d'une fenêtre; si aucune fenêtre de ce nom existe au moment ou l'événement est traité, alors le tag est ignoré pour cet événement. L'ordre des éléments de tagList détermine l'ordre dans lequel les scripts de binding sont exécutés en réponse aux événements. Par exemple, la commande

 '''bindtags .b {all . Button .b}'''

inverse l'ordre dans lequel les scripts de binding seront évalués pour un bouton nommé .b, ainsi les bindings all sont appelés en premier, suivis par les bindings pour la toplevel .b (``.), suivis par les bindings de classe, suivis par les bindings de .b. Si tagList est une liste vide alors les binding tags de fenêtre'' retournent à l'état par défaut décrit ci-dessus.

La commande bindtags peut être utilisée pour introduire des binding tags supplémentaires arbitraires pour une fenêtre, ou pour enlever les tags standards. Par exemple, la commande

 '''bindtags .b {.b TrickyButton . all}'''

remplace le tag button de .b par TrickyButton. Ceci signifie que les bindings par défaut des buttons, qui sont associés au tag button , ne s'appliqueront plus à .b, mais tous les bindings associés à TrickyButton (peut être un nouveau comportement des boutons) s'appliqueront.


VOIR ÉGALEMENT


Traduit par Michel Salvagniac 2002-2003

Copyright © 2003 - Le Wiki Tcl/Tk Francophone.


Catégorie Manuel Tcl/Tk