Ingénierie des Interfaces Homme-Machine - TD 3



A. Boîte de message et de progression

1. Ecrire à l'aide des widgets toplevel, label et button un script Tcl qui permette d'afficher une boîte de dialogue avec un message et un bouton OK. Lorsque l'on clique le bouton OK, la boîte disparaît.

2. Modifier le script de la question 1 pour qu'il fournisse une procédure que l'on puisse appeler de la façon suivante :

3. Ajouter au script de la question 3 deux procédures permettant de gérer une boîte de progression : NewProgress crée une boîte de progression et retourne son nom, Progress permet d'indiquer l'état d'avancement et DoneProgress détruit la boîte de progresssion. Le script devra permettre la gestion simultanée de plusieurs boîtes de progression. Exemple d'utilisation :



B. Sélecteur de fichiers

1. Récuperer le script /308/Public_Enseignement/DESS_ISI/fs.tcl. Ce script crée une boite de dialogue permettant de selectionner un nom de fichier dans une liste par double click ou par le bouton Open. Le but de cet exercice est de modifier ce script pour obtenir un sélecteur de fichier `à la Macintosh`.

2. Ajouter un message au-dessus de la liste et ajouter une scrollbar à la liste des fichiers.

3. Afficher les répertoires avec un / à la fin. Faire en sorte que lorsque l'on ouvre un répertoire, la liste affiche les fichiers de ce répertoire.

4. Ajouter un menu qui contienne le chemin d'accès au répertoire courant. Faire en sorte que la sélection d'un item dans ce menu remonte au répertoire correspondant.

5. Transformer le script en une procédure qui prenne en paramètre le nom du widget toplevel à créer, le titre de la fenêtre et le répertoire de départ, et qui retourne le fichier selectionné ou la chaîne vide (pour Cancel). Noter que cela implique que l'interaction avec la boîte de dialogue soit modale.

6. Faire en sorte que le bouton Open ne soit actif que si l'on a sélectionné un item, et que l'on puisse ouvrir un item en double-cliquant dessus. Ajouter des liaisons d'événements afin que l'on puisse sélectionner un item en tapant le début de son nom.