• Aucun résultat trouvé

Les interfaces cartographiques

14.2 Construction de l'image des cartes

Ces quatre fonctions sont l'interface minimalea de nir entre l'interface cartographique et la base de connaissances (ou de maniere plus generale, les donnees sous quelque forme que ce soit).

Elles permettent, a partir d'une des classes graphiques de nies precedemment, de construire des instances de ces classes qui seront directementachables a l'ecran. En e et, la cha^ne qui lieune classe graphiquegic-type a une instance completede cette classe (c'est-a-dire dont les attributs ont recu une valeur adequate) est la suivante. D'abord, la valeur de l'attribut bdc de la classe donne la representation dans la base de connaissances bdc-type; on peut alors retrouver une instance de cette classe (ou concept) gr^ace a l'accesseur

accesseur-inst; ensuite, les composants de cette instance sont directement recuperes a l'aide deaccesseur-const, de m^eme que les positions par accesseur-positions. Il sut pour nir de determiner la classe de la base de connaissances a laquelle appartient chaque composant en utilisantaccesseur-type et celle qui, parmi l'ensembledes classes graphiques, lui est associee gr^ace au pointeur inverse. On peut en n creer les instances qui composent l'instance initiale dans l'interface.

14.2 Construction de l'image des cartes

Les classes d'objets graphiques, en plus des attributs qui precisent les constituants et leur position, disposent d'attributs purement graphiques concernant la couleur et la forme a prendre lors de leur achage. Le premier attribut couleur est rajoute au niveau de la classe gic-type, car par defaut, toute instance d'un m^eme type biologique a la m^eme couleur; neanmoins, il est possible de rede nir cette couleur tant au niveau des sous-classes de points de vue qu'au niveau des instances elles-m^emes. L'attribut forme depend quant a lui du point de vue, et sera donc value dans les classes adequates. Les objets-intervalles auront typiquement une forme rectangulaire, d'hauteur variable, les objets-points un tiret ou une eche.

Deux fonctions permettent de mettre a jour ces attributs; ce sont maj couleur, qui prend comme arguments un type et une couleur etmaj forme, qui ajoute aux arguments precedents un point de vue.

Pour les objets composites, il est important de faire la distinction entre leur repre-sentation graphique propre, c'est-a-dire en tant que carte sur laquelle apparaissent les composants, et celle en tant qu'entite d'une autre carte, et qui est donnee par ces attri-buts couleur et forme.

L'achage d'une carte (ou plus generalement d'un objet composite) necessite encore de nombreux elements de speci cation de cet achage. Ceux-ci sont enumeres ci-dessous:

 axe de la carte: la carte est-elle achee horizontalement ou verticalement?

 taille de l'image;

 graduation de l'axe: de tant a tant;

 types visibles: par defaut, tous;

 noms: les noms des entites constitutives sont-il aches sur la carte, sont-ils aches s'il ne depassent pas le cadre qui les represente?

 achage des distances deux a deux: si la carte n'a pas la propriete d'additivite, ache-t-on aussi les distances entre deux entites non consecutives?

A partir de tous ces attributs, une instance de carte dispose de la totalite des infor-mations necessaires a son achage. L'envoi du messagecr eer car te a une telle instance va assembler divers composants pour creer une image de la carte. Le developpeur de l'in-terface cartographique a alors la charge d'encapsuler cette image dans une application plus grande, de la positionner dans un scroller, de la juxtaposer a d'autres cartes, etc. Neanmoins, et ce sera le dernier point a aborder, cette carte doit pouvoir repondre a un certain nombre de messages qui en determinent le comportement graphique. Ces messages et les comportements correspondants sont resumes dans le tableau 14.1.

Message Comportement

zoom-in Multiplication par un facteur constant zoom-out Multiplication par l'inverse zoom souris La zone decrite occupe tout l'espace clic sur une entite Selection de cette entite

(pour action ulterieure)

double-clic sur une entite Editeur d'instances ou appel de la creation d'une carte s'il s'agit d'une entite composite

(de nissable par l'usager) supprimer type Suppression du type achage vertical Reconstruction de la carte

pour achage vertical achage horizontal Reconstruction de la carte

pour achage horizontal

Tableau 14.1 - : Actions des messages envoyes a une image de carte. Ces messages pour la plupart sont des methodes de la classe, et modi ent parfois les attributs qui caracterisent l'achage. C'est le developpeur de l'interface cartographique qui determine certaines des actions a e ectuer quand plusieurs sont possibles, comme par exemple celle d'un double-clic sur une entite.

14.3 Implementation

L'implementation du logiciel de cartographie a ete con ee a un stagiaire CNAM, Alain Garreau. Celle-ci est malheureusement detachee des parties concernant la representation et l'algorithmique des cartes genomiques. En e et, ces deux parties ont ete traitees dans l'environnement Lisp, dont Tropes est dependant. Par contre, tout le developpement informatique sur l'interface cartographique a ete realise en IlogViews, produit de la societe Ilog dont le langage h^ote est C++.

Il n'existe pas pour le moment de connexion entre Talk3.0 et IlogViews, m^eme si elle est e ectivement prevue a terme. Quand elle sera possible, il faudra bien evidemment lier la connaissance sur les cartes a leur representation graphique.

L'integration de deux sera sans doute m^eme encore plus forte, puisque la societe Ilog, dans le cadre du projet GREG dont nous avons deja parle, elabore un produit base

14.3 Implementation 163 sur le modele de representation de connaissances Tropes, et qui servira a representer l'ensembles des bases de connaissances biologiques utiles au projet.

Le developpement du logiciel baptise APIC (pourAide a la Presentation d'Interfaces Cartographiques) est encore en cours. Dans l'etat actuel des choses, il permet, a partir d'informations de distances entre entites de di erentes cartes, d'acher des cartes super-posees. De nombreuses fonctions graphiques existent qui pro tent de la presence d'entites communes sur plusieurs cartes; par exemple, le de lement d'une carteaccrocheea une autre conditionne le de lement de cette derniere, a l'aide d'un facteur d'echelle constant (donc approximatif), jusqu'a ce que une entite commune soit atteinte, auquel cas la se-conde carte se recale par rapport a la premiere.

La gure 14.1 montre l'allure generale de l'interface cartographique.

Figure14.1 - :Interface cartographique provisoire du projet GREG. Plusieurs cartes superposees sont visibles sur cette copie d'ecran; chacune dispose d'un ltre permettant de ne garder que certains types d'entite. De plus, les cartes peuvent ^etre liees gr^ace a des hooksqui conditionnent les de lements.

Avant d'aborder les perspectives de ce travail, il est bon de rappeler brievement les di erents problemes qu'il souleve et les solutions qu'il propose.