Ingénierie des Interfaces Homme-Machine - TD 2



A. Gestion des entrées

1. Ecrire l'algorithme de définition d'un segment élastique avec les 3 modes de gestion des entrées : requête, échantillonage et événement. On dispose des fonctions suivantes :

2. Modifier les algorithmes dans les mode évchantillonage et événement pour permetre la saisie d'un polygone : chaque point est saisi par un clic, le dernier point est saisi par un double clic ou la touche FIN. On peut annuler la saisie par la touche ANNULE_TOUT, et le dernier point saisi par la touche ANNULE.

3. Donner la machine à états correspondant à la saisie de polygone de la question 2. Donne le code C (ou Pascal) implémentant cette machine à états. On utilisera la fonction WaitEvent de la question 1.



B. Gestion d'icones

1. Définir la machine à états permettant de sélectioner des icones en cliquant dessus et de les déplacer par drag'n'drop.

2. Modifier cette machine à états pour permettre la sélection de plusieurs icones par un rectangle englobant.

3. Modifier cette machine à états de façon à fournir un retour d'information lorsque l'on déplace un icone au-dessus d'autres icones (drag'n'drop). La fonction Compatible (o1, o2) retourne vrai si l'icone o1 peut être lachée sur l'icone o2. Les fonctions Hilite (o) et Normal (o) permettent de mettre l'icone o en évidence (inversion vidéo par exemple) et de le réafficher en mode normal.



C. Gestion de menus

1. Donner la machine à états qui décrit la sélection d'un item dans un menu. On suppose que des événements Enter et Leave sont produits chaque fois que le curseur de la souris entre ou sort de la fenêtre et que chaque item du menu est implémenté par une fenêtre.

2. Compléter cette machine à états pour dérire la sélection dans une barre de menus.

3. Ajouter à cette machine à états la sélection dans les menus hiérarchiques.