Dans cette première étape l'interaction avec l'utilisateur concerne principalement l'attribution sémique sur les entités textuelles et la visualisation des isotopies ainsi générées. Les choix effectués sont les suivants :
Nous avons donc choisi de mettre en place une contextualisation qui demande l'une après l'autre :
Un même type de fenêtre de texte est implanté pour les textes, les
anagnoses et l'inter-anagnose (racine de la hiérarchie ou
). Le type de l'entité que la fenêtre contient apparaît sur le
titre de la fenêtre.
Ce principe de positionnement textuel d'une entité dans une entité englobante, engendre pour une interface graphique utilisateur, le besoin fondamental de pouvoir gérer des chaînes de caractères comme des << entités positionnées >>, c.-à-d. comme des objets avec des caractéristiques propres qui puissent réagir aux actions de l'utilisateur. Par exemple :
Le mécanisme des tags, implanté dans l'interface graphique Tcl/Tk5.5, est très bien adapté pour ce type de fonctionnement. Il offre la possibilité de définir des chaînes de caractères ou de listes de chaînes de caractères et ensuite s'y référer à l'aide d'un nom.
Les tags ont quelques propriétés très utiles pour les besoins présentés plus haut :
Nous pouvons ainsi ajouter une chaîne de caractères au milieu d'un tel texte sans avoir à modifier manuellement les positions de tous les tags qui suivent : Tk modifie automatiquement la position de tous les tags
Cette possibilité allège le code des méthodes en déléguant la responsabilité de ces appels à des mécanismes déjà implantés dans le langage.
Outre cette fonctionnalité très intéressante, Tcl/Tk offre quelques autres avantages :
frame .f text .f.t button .f.b -text "Sortir" -command exit pack .f.t .f.b .f
suffit pour ouvrir une fenêtre de texte (avec les fonctionnalités copier/coller) avec un bouton en bas : si l'on y clique, le programme s'arrête (cf. fig. 5.3).
![]() |
Malgré sa bonne adéquation à de besoins d'interfaçage graphique, Tcl/Tk a un grand inconvénient par rapport au reste du système : elle ne suit pas la philosophie d'un langage orienté objet. Il existe plusieurs extensions orientées objet du langage Tcl lui-même mais peu de versions orientées objet de Tk, ce qui permettrait de pouvoir programmer en C++ et se servir des fonctionnalités de Tk dans un cadre homogène de programmation orientée objet.
Nous avons préféré Hush 2.0 de Anton Eliëns [19], [21], [20], une transcription objet qui contient les principales caractéristiques de Tk dont nous avions besoin (mécanisme de tags, listes graphiques, fenêtre de textes) et qui permet l'accès direct à Tk, au cas où une certaine fonctionnalité n'est pas transcrite (e.g. filechooser). Un autre critère derrière ce choix a été l'évolution promise par une équipe de développement qui faisait souvent des mises à jour5.6.
Après cette rapide présentation de quelques aspects techniques de la
première réalisation pilote de l'application, nous allons maintenant
effectuer quelques remarques issues de l'utilisation de ce
prototype. Elles permettront de justifier les modifications et
d'introduire l'évolution vers le deuxième cycle du développement. La
nouvelle conception sera présentée en détail à partir de la
p..