MVC dissocie la gestion des entrées et des sorties dans ses agents, promettant une certaine indépendance entre l'aspect et le comportement des objets graphiques (le modèle PAC - Présentation, Abstraction, Contrôleur - [Coutaz1987] généralise MVC, et regroupe entrées et sorties dans le module de présentation). Toutefois, sa mise en œuvre s'est révélée complexe et une grande majorité des boîtes à outils actuelles fusionnent la vue et le contrôleur dans leurs implémentations. Elles assurent ainsi la flexibilité au niveau modèle, mais gardent une approche monolithique du point de vue de l'interaction (en entrée et en sortie).
Dans la perspective de ce modèle, les configurations d'entrée d'ICON représentent le contrôleur, laissant la gestion de la vue et du modèle aux applications. Le modèle des graphes combinés place la Vue au niveau des objets graphiques du graphe de scène. Le modèle est alors décrit dans l'application. Ce sont les Points d'accès à l'Interaction qui vont permettre d'établir la connexion entre les différents composants de MVC. Cette séparation franche des différents composants de MVC et leur connectivité dynamique est un apport important de notre modèle. Elle offre plus de flexibilité pour le développement d'interfaces et la description d'interactions mais aussi pour l'extensibilité de la boîte à outils que les autres approches basées sur MVC.
Le modèle de l'interaction instrumentale définit, entre autres principes, les propriétés des instruments de l'interface qui vont permettre d'agir et d'interagir sur les objets du domaine, les entités du programme informatique. En particulier, il introduit la notion de réification, processus qui consiste à transformer un concept en objet (une barre de défilement, par exemple, réifie le concept de défilement d'un document).
|
Les points d'accès aux interactions, et la philosophie de MAGGLITE en général, correspondent bien à ce modèle. Les IAPs s'intègrent dans la description d'instruments d'interaction par leur association avec des périphériques d'entrée. Ils définissent, avec certaines parties du graphe de scène (retour graphique ou vue de l'instrument), la composante logique des instruments. La figure 9.1 illustre ce propos en mettant en correspondance le modèle des graphes combinés et l'interaction instrumentale.
Les IAPs suivent le principe de réification: ils réifient les commandes qui contrôlent soit
l'objet qu'ils représentent (pour les manipulateurs), soit la classe d'objets avec lesquels ils sont
compatibles (pour les dispositifs d'interaction et les outils internes). La technique des
Responsive Handles que nous avons présentée dans la section 8.3.2, est un exemple
d'instrument logique permettant d'interagir avec des objets graphiques. Une fois connecté à un
dispositif d'entrée (souris, joystick, magellan, etc.), le dispositif d'interaction et les nœuds
du graphes de scène(poignées) composent un instrument qui réifie les concepts de déplacement,
redimensionnement et rotation d'objets graphiques. De plus il est polymorphe [Beaudouin-Lafon2000],
car il peut être utilisé avec tous les objets pour lesquels il a du sens (les objets déplaçables),
mais aussi parce qu'il peut être adapté à d'autres contextes en utilisant diverses méthodes d'entrée
(périphériques, reconnaissance vocale, etc.).
Les manipulateurs permettent en plus la manipulation directe des objets avec un instrument
physique (périphériques d'entrée), poussant alors l'interaction instrumentale jusqu'à sa limite:
l'interaction est on ne peut plus directe, physique, et le contrôle est alors plus explicite.
Notre modèle d'implémentation permet donc de séparer explicitement les instruments physiques (périphériques d'entrée) des instruments logiques (dispositifs d'interaction, outils internes et manipulateurs) et permet leur association dynamique pour créer des instruments. Les objets du domaine sont décrits au niveau de l'application et représentés dans le graphe de scène. Ce niveau de granularité très fine est un atout pour respecter les principes de conception qui découlent de l'interaction instrumentale (réification, polymorphisme et réutilisabilité), facilitant ainsi le prototypage d'instruments basés sur un grand nombre de techniques d'interaction ainsi que leur intégration dans une même application.
|
Chaque couche contient des outils qui lui sont propre et qui vont gérer l'interaction. Les événements d'interaction traversent les couches de la plus proche de l'utilisateur à la plus éloignée (de haut en bas) et sont interceptés et bloqués par les outils capables de les traiter (voir figure 9.2). Cette organisation sépare les outils et objets graphiques de nature différente dans des couches séparées. Cela permet une description claire de l'interaction, mais aussi de facilement adapter la visualisation aux actions (masquage ou transformation d'une couche, par exemple).
MAGGLITE ne repose pas exclusivement sur ce modèle multi-couches, mais permet de le réaliser efficacement et d'en tirer partie pour deux objectifs: réaliser des applications pour lesquelles ce modèle est adapté (des éditeurs comme TicTacToon [Fekete et al.1995] où notre application SVALABARD) ou étendre les capacités graphiques et interactives de composants.
stuf