18 Édition de graphiques

Le modèle de document qui est à la base de l'éditeur Thot permet de manipuler des graphiques aussi bien que du texte, avec les mêmes outils. Il n'y a donc pas d'éditeur graphique à proprement parler dans Thot, bien qu'on puisse éditer et traiter des graphiques à l'intérieur des documents. Il suffit pour cela de définir des schémas de structure (voir section 1) représentant les graphiques à traiter et les schémas de présentation correspondants (voir section 8). De tels schémas sont disponibles dans la configuration standard de Thot. Ils permettent notamment de traiter des graphiques structurés et des arbres. C'est l'utilisation de ces schémas qui est présentée dans les deux sections suivantes. En développant d'autres schémas, on peut éditer d'autres types de graphiques (voir section 24).

18.1 Graphiques structurés

Les graphiques structurés sont définis par le schéma de structure Draw2. Dans ce schéma, la structure représente l'emboîtement des éléments les uns dans les autres et les attributs définissent les relations géométriques entre éléments, comme les centrages, les alignements, etc. Avec ce schéma, les commandes de changement de position ou de dimension (Control-Clic, voir section 8.3.5) présentent un grand intérêt.

18.1.1 Exemple

Le dessin de la 6 est construit selon le schéma Draw2. Dans ce dessin, on peut par exemple modifier la hauteur de la boîte « Schéma de structure » en positionnant le curseur dans la boîte et en déplaçant la souris en maintenant enfoncés la touche Control et le bouton du milieu de la souris ; cela entraîne le recentrage du texte contenu dans la boîte, le déplacement vertical de la boîte « Schéma de présentation », avec son texte, et l'ajustement des deux flèches. On peut aussi déplacer (Control + bouton gauche de la souris) la boîte « Éditeur Thot », ce qui entraîne le texte qu'elle contient et les deux flèches.

[Here is a Drawing]

Figure 6 - un graphique structuré

18.1.2 Création d'éléments graphiques

Avec le schéma Draw2, un dessin est formé d'un ensemble d'Objets créés successivement. Un Objet est créé, comme tout élément dans Thot, par la commande « Insérer » du menu « Édition », par le bouton droit de la souris ou par la touche Return (voir section 4.3). Dès qu'il est créé, il doit être positionné et dimensionné à l'aide de la souris : tant qu'aucun bouton de la souris n'est pressé, le « fantôme » de l'objet suit les mouvements de la souris. Lorsqu'il est à la position souhaitée, on presse le bouton gauche de la souris et on déplace à nouveau la souris, en maintenant ce bouton enfoncé pour déterminer les dimensions de l'objet. Dès que le bouton est relâché, l'objet est figé, mais il peut encore être déplacé et retaillé par Control-Clic (voir section 8.3.5).

On choisit le type d'un Objet à travers un menu qui apparaît lors de la création. Un Objet peut être :

18.1.3 Dimensions des éléments

Les attributs Hauteur et Largeur contrôlent les dimensions des Objets. Il y a deux façons de modifier la valeur de ces attributs :

18.1.4 Positions relatives des éléments

Lors de leur création, les Objets sont positionnés à l'aide de la souris. Ils peuvent ensuite être déplacés par Control-clic (voir section 8.3.5). Les attributs PositionV et PositionH permettent d'afficher et de modifier la position de l'élément selon l'axe vertical et l'axe horizontal. Ces attributs indiquent la distance, exprimée en points typographiques, du coin supérieur gauche de l'Objet par rapport au coin supérieur gauche de l'élément englobant (l'élément Draw2 ou le Groupe). Ils sont automatiquement mis à jour lors du déplacement de l'Objet à l'aide de la souris.

Les positions des différents Objets sont indépendantes les unes des autres (sauf pour les Liens et les Objets d'un même Groupe), mais on peut aussi exprimer des relations de position entre Objets à l'aide des attributs suivants :

Les attributs qui fixent la position verticale sont exclusifs les uns des autres. Il en est de même des attributs qui fixent la position horizontale des éléments graphiques. Pour chaque élément, le menu des attributs visualise les attributs qui s'y appliquent par une étoile.

Quand l'utilisateur demande l'alignement d'un élément graphique sur un autre élément graphique (désigné après avoir choisi l'attribut), l'alignement est immédiatement appliqué et tout déplacement de l'élément de référence (celui qui est désigné) déplace en conséquence l'élément aligné. Après avoir aligné l'élément, l'utilisateur peut décaler l'élément aligné par control clic (voir section 8.3.5). Ce décalage entre les deux éléments est alors conservé lors des déplacements de l'élément de référence. Le décalage est perdu si l'utilisateur redemande l'alignement des éléments.

18.1.5 Superpositions

L'attribut Plan peut être appliqué à n'importe quel Objet. Cet attribut permet de régler le problème de la superposition des Objets, en déterminant la profondeur à laquelle les éléments graphiques sont affichés. Le plan 0 correspond au premier plan de l'écran. Les valeurs supérieures (1, 2, 3, etc.) correspondent à des profondeurs de plus en plus grandes. L'affichage et la sélection tiennent compte des plans affectés aux éléments. Les éléments dont la valeur de plan est la plus faible peuvent masquer (si ces éléments possèdent un fond opaque) les éléments dont la valeur de plan est plus élevée.

Les Boites, grâce à l'attribut Aspect, peuvent avoir un cadre avec un fond et une ombre. Le Label, le cadre et l'ombre sont chacun à une profondeur différente, de façon que la superposition donne le résultat recherché. Selon son attribut Plan, un autre Objet peut se glisser entre le Label et le cadre ou entre le cadre et l'ombre. Pour être sûr que cet autre Objet soit derrière l'ombre, en cas de superposition, il doit avoir une valeur de l'attribut Plan au moins supérieure de 3 à celle de la Boite.

18.1.6 Saisie et modification des lignes courbes et brisées

Les liens aussi bien que les Objet_graphiques peuvent être des lignes brisées ou courbes, ouvertes ou fermées, terminées ou non par des flèches à leurs extrémités : la palette des éléments graphiques de base permet de créer de telles formes (douze dernières cellules de la palette). Ces lignes sont déterminées par des points par lesquels elles doivent passer : les points de contrôle.

On peut appliquer à ces lignes tous les changements d'aspect graphique et de couleur décrits en 8.3.2 et 8.3.3. Il y a en plus quelques opérations spécifiques :

Création d'une ligne
Lors de la création d'une ligne, le bouton gauche de la souris permet de choisir les points de contrôle : chaque pression sur ce bouton détermine un nouveau point de contrôle. Pour sortir de ce mode de saisie des points de contrôle, il faut cliquer le dernier point avec le bouton du milieu de la souris. S'il s'agit d'une ligne fermée, la fermeture a lieu à ce moment.
Ajout de points de contrôle dans une ligne
Pour ajouter un ou plusieurs points de contrôle à une ligne existante, il faut sélectionner un des points de contrôle existants en le cliquant avec le bouton gauche de la souris. Pour faciliter cette sélection, on peut allumer l'ensemble des points de contrôle de la ligne en cliquant sur n'importe quel point de la ligne avec le bouton gauche de la souris. Une fois un point de contrôle sélectionné, on passe en mode de création de points de contrôle en pressant le bouton droit de la souris (bouton d'insertion). On peut alors ajouter de nouveaux points de contrôle après le point de contrôle sélectionné, de la même façon que lors de la création de la ligne (voir ci-dessus).
Suppression d'un point de contrôle dans une ligne
Pour supprimer un point de contrôle d'une ligne, il faut sélectionner ce point, comme précédemment, en le cliquant avec le bouton gauche de la souris. Le point de contrôle est ensuite détruit par la touche Delete ou la combinaison de touches Control D.
Déplacement d'un point de contrôle dans une ligne
Pour déplacer un point de contrôle, il faut cliquer sur ce point avec le bouton gauche de la souris en pressant la touche Control du clavier. Le point suit alors les déplacements de la souris, jusqu'à ce qu'on relâche le bouton.
Déplacement d'une ligne
Pour déplacer toute une ligne d'un bloc, il faut cliquer avec le bouton gauche de la souris à l'intérieur du rectangle englobant la ligne, tout en pressant la touche Control du clavier. La ligne suit alors les déplacements de la souris, jusqu'à ce qu'on relâche le bouton. Si, au début de l'opération, la souris se trouve sur un point de contrôle, c'est seulement ce point qui est déplacé (voir ci-dessus).
Déformation d'une ligne
On peut déformer globalement une ligne en déformant son rectangle circonscrit. Il suffit pour cela de cliquer avec le bouton du milieu de la souris à l'intérieur du rectangle englobant la ligne, tout en pressant la touche Control du clavier. La courbe se déforme en fonction des mouvements de la souris jusqu'à ce qu'on relâche le bouton.

18.2 Arbres

Le dessin de la 7 est un dessin structuré, mais il n'est pas construit selon le schéma Draw2 (voir section 18.1) ; il utilise un schéma de structure plus spécialisé, celui des arbres (le schéma de structure s'appelle Arbre2).

Figure 7 - un arbre

18.2.1 Structure logique des arbres

Un élément Arbre2 est formé de deux éléments : un Noeud racine et un élément Descendants. L'élément Descendants contient un ou plusieurs éléments Sous_arbres, chacun ayant la même structure que Arbre2. La structure est donc récursive ; on peut s'en apercevoir en sélectionnant l'une des feuilles de l'arbre ci-dessus et en remontant dans la structure avec la touche Esc.

Comme un Objet_Texte d'un graphique, un Noeud contient une chaîne de caractères (TEXTE) ou une succession de chaînes de caractères et d'éléments, appelés Unités, qui peuvent être, selon le contexte où se trouve l'arbre, des références à d'autres éléments du document (sections, notes, figures, etc.). Cela permet notamment d'inclure des renvois à l'intérieur des textes qui apparaissent dans un arbre, comme dans le Troisième fils de la racine de la 7.

Cette structure est manipulée avec les mêmes commandes que le reste du document (voir section 4).

18.2.2 Aspect graphique des arbres

Un même arbre peut être présenté graphiquement de différentes façons. Pour cela, il suffit de sélectionner l'arbre entier (par exemple en cliquant à côté de l'élément racine) et de modifier un ou plusieurs des attributs Disposition, Largeur_noeuds ou Cadre_Noeuds.

L'organisation graphique de l'arbre change selon la valeur de l'attribut Disposition :

L'attribut Largeur_noeuds permet de contrôler la largeur des noeuds de l'arbre :

Lorsqu'on utilise une disposition en liste indentée, on peut supprimer cet attribut : chaque noeud utilise alors toute la largeur disponible pour l'arbre.

L'attribut Cadre_Noeuds permet de contrôler la présence et l'aspect du cadre tracé autour des noeuds. Cet attribut peut s'appliquer soit à l'arbre entier soit à un Sous_arbre. Différents sous-arbres peuvent ainsi être affichés avec des noeuds d'aspect différent.

On peut aussi modifier l'aspect graphique des noeuds d'un sous-arbre en sélectionnant ce sous-arbre et en lui appliquant une commande du menu « Présentation » (voir section 8).

La palette de couleurs (voir section 8.3.3) permet de changer la couleur de fond des noeuds d'un sous-arbre ou la couleur de ses textes et traits.

Un noeud ou un sous-arbre peut être déplacé à l'aide de la souris (en maintenant la touche Control enfoncée, comme expliqué section 8.3.5). La dimension d'un noeud peut aussi être changée par le même moyen, sauf dans le cas où on a choisi une largeur de noeuds variable.


[Section 19] [Table of contents]