• Aucun résultat trouvé

Op´ erations sur les boutons menus

Avec l’instruction :

menubutton cheminBoutonMenu?options?

la commande menubutton cr´ee une nouvelle commande Tcl dont le nom est pr´ecis´e- ment cheminBoutonMenu. Cette commande peut ˆetre compl´et´ee par des sous- commandes permettant d’effectuer diverses op´erations concernant le menu. La forme g´en´erale est :

Les op´erations reconnues par les composantes de type menubutton sont les sui- vantes :

cheminBoutonMenu cget option

Renvoie la valeur courante de l’option de configuration sp´ecifi´ee par l’argu- ment option. L’argument option peut ˆetre une quelconque des valeurs ac- cept´ees par la commande menubutton.

cheminBoutonMenu configure?option??valeur option valeur ...?

Permet d’obtenir ou de modifier les options de configuration du bouton de menu. Si l’argument option n’est pas sp´ecifi´e, la commande renvoie une liste de toutes les options disponibles pour cheminBoutonMenu.

Si l’argument option est sp´ecifi´e sans une valeur correspondante, la com- mande renvoie une liste d´ecrivant l’option nomm´ee. Si un ou plusieurs couples option-valeur sont sp´ecifi´es, les options en question se voient attribuer la va- leur correspondante : la commande renvoie alors une chaˆıne vide. L’argument option peut ˆetre une quelconque des valeurs accept´ees par la commande me- nubutton.

Liaisons par d´efaut

Tk cr´ee automatiquement des liaisons de classe pour les boutons menus avec les caract´eristiques suivantes :

1. un bouton menu est activ´e d`es que le pointeur de la souris passe au-dessus de lui et d´esactiv´e d`es qu’il le quitte ;

2. lorsque le premier bouton de la souris est press´e au-dessus d’un bouton menu, le relief change et le menu associ´e est affich´e. Si le pointeur est ensuite d´eplac´e sur une des entr´ees du menu et le bouton relˆach´e, cette entr´ee est invoqu´ee; 3. lorsque le premier bouton de la souris est press´e au-dessus d’un bouton menu et relˆach´e au-dessus de ce bouton, le menu associ´e reste affich´e. On peut alors aller cliquer sur une des entr´ees pour l’invoquer. Le menu se referme alors ; 4. si le premier bouton de la souris est press´e sur un bouton menu et le pointeur

d´eplac´e sur un autre bouton menu, le premier menu est effac´e et le menu associ´e au deuxi`eme bouton menu est affich´e.

5. si le premier bouton de la souris est press´e sur un bouton menu puis relˆach´e en dehors de tout autre bouton menu, le menu associ´e se referme et aucune action n’est d´eclench´ee;

6. si l’option -underline a ´et´e sp´ecifi´ee pour un bouton menu, le menu peut ˆetre affich´e en tapant au clavier la combinaison Alt+x, o`u x d´esigne le caract`ere qui est soulign´e dans le texte du bouton menu ;

7. la touche de clavier F10 permet d’afficher le premier bouton menu de la fenˆetre ;

8. si un bouton menu est focalis´e par l’application, la barre d’espacement et le retour-chariot permettent de l’activer.

-activebackground activeBackground Foreground -activeforeground activeForeground Background

-anchor anchor Anchor

-background ou -bg background Background

-bitmap bitmap Bitmap

-borderwidth ou -bd borderWidth BorderWidth

-cursor cursor Cursor

-disabledforeground disabledForeground DisabledForeground

-font font Font

-foreground ou -fg foreground Foreground

-highlightbackground highlightBackground HighlightBackground -highlightcolor highlightColor HighlightColor -highlightthickness highlightThickness HighlightThickness

-image image Image

-justify justify Justify

-padx padX Pad

-pady padY Pad

-relief relief Relief

-takefocus takeFocus TakeFocus

-text text Text

-textvariable textVariable Variable

-underline underline Underline

-wraplength wrapLength WrapLength

Tab. 10 – Options standard reconnues par les composants de type menubutton. Si l’´etat d’un bouton menu est disabled, aucune des actions mentionn´ees ne se produit. Les comportements d´ecrits sont les comportements par d´efaut et peuvent toujours ˆetre modifi´es en d´efinissant de nouvelles liaisons pour des composants particuliers ou en red´efinissant les liaisons de classe.

Options standard

Les options standard support´ees par les composants de type menubutton sont rassembl´ees dans le tableau 10. Ces options sont d´ecrites en d´etail `a la page142.

Options sp´ecifiques

-direction direction Direction

Sp´ecifie l’endroit o`u le menu doit apparaˆıtre. La valeur d’option above essaie de faire surgir le menu au-dessus du bouton menu et la valeur below en dessous. De mˆeme, si l’option prend les valeurs left ou right, le menu essaiera d’apparaˆıtre respectivement `a gauche ou `a droite du bouton menu. Enfin la valeur flush fait apparaˆıtre le menu directement au-dessus du bouton.

-height height Height Sp´ecifie une hauteur pour le bouton menu. Si une image ou un bitmap est affich´e dans le bouton menu, la valeur est mesur´ee en unit´es d’´ecran ; pour du texte elle est mesur´ee en lignes de texte. Si cette option n’est pas sp´ecifi´ee, la hauteur pour le bouton menu est calcul´ee `a partir de la taille de l’image, du bitmap ou du texte qu’il contient.

-indicatoron indicatorOn IndicatorOn

Cette option doit prendre une valeur bool´eenne valide. Si cette valeur est true, un petit indicateur rectangulaire sera affich´e `a la droite du bouton de menu et les liaisons par d´efaut le traiteront comme un bouton de menu d’options. Si la valeur est false, aucun indicateur ne sera affich´e.

-menu menu MenuName

Sp´ecifie le nom de chemin du menu associ´e `a ce bouton menu. Le menu doit ˆetre un enfant du bouton menu.

-state state State

Sp´ecifie l’un des trois ´etats normal, active ou disabled pour le bouton menu. Dans l’´etat normal, le bouton menu est affich´e en utilisant les options foreground et background. Dans l’´etat activ´e (typiquement utilis´e lorsque le curseur de la souris se trouve au-dessus du bouton menu), le bouton menu est affich´e en utilisant les options activeForeground et activeBackground. Dans l’´etat d´esactiv´e, les options disabledForeground et background d´eterminent la fa¸con dont le bouton menu est affich´e.

-width width Width

Sp´ecifie une largeur pour le bouton menu. Si une image ou un bitmap est affich´e dans le bouton menu, la valeur est mesur´ee en unit´es d’´ecran ; pour du texte, elle est mesur´ee en nombre de caract`eres. Si cette option n’est pas sp´ecifi´ee, la largeur du bouton menu est calcul´ee `a partir de la taille de l’image, du bitmap ou du texte qu’il contient.

message

Permet de cr´eer et de manipuler des messages graphiques.

Syntaxe

message cheminMessage?options?

Description

La commande message cr´ee une nouvelle fenˆetre (indiqu´ee par l’argument che- minMessage) et en fait un composant graphique de type message. On peut sp´ecifier des options suppl´ementaires soit par une ligne de commandes, soit directement dans la base de ressources pour configurer certaines caract´eristiques du message telles que la couleur, la police, le texte, le relief initial etc. La commande message ren- voie la valeur de son argument cheminMessage. Au moment de son invocation, il ne doit exister aucune autre fenˆetre nomm´ee cheminMessage, mais en revanche l’objet parent de cheminMessage doit exister effectivement.

Un message est un composant graphique qui affiche une petite chaˆıne de texte. Il poss`ede trois caract´eristiques principales :

– il coupe les lignes de fa¸con `a proportionner le texte dans la fenˆetre. Les coupures sont faites autant que possible entre les mots. On peut forcer une coupure de ligne en utilisant le caract`ere de saut de ligne ;

– le texte peut ˆetre justifi´e `a gauche, centr´e ou justifi´e `a droite ;

– les fenˆetres de messages g`erent les caract`eres de contrˆole et les caract`eres non imprimables de fa¸con particuli`ere. Les caract`eres de tabulation et de saut de ligne ont l’effet habituel. Les autres caract`eres dont le code Ascii est inf´erieur `a 0x20 (32 en d´ecimal) sont affich´es sous la forme \xhh o`u hh est le nombre hexad´ecimal correspondant au caract`ere. Il en va de mˆeme des caract`eres absents de la fonte utilis´ee.

On notera que les tabulations sont `a ´eviter dans un texte centr´e ou justifi´e `a droite.