object_editor — description des capacités de l'éditeur graphique
La module graphique de Scilab permet de nombreuses intéractions entre l'utilisateur et le graphique aussi bien avant qu'après sa création. Chaque fenêtre graphique et les dessins qu'elle contient sont représentés sous forme d'entités hiérarchiques. Le plus haut niveau de la hiérarchie est toujours l'entité Figure. Chaque Figure définit au moins un enfant de type Axes. Chaque entité Axes contient un ensemble d'entités feuilles (entités terminales de la hiérarchie - elles n'ont pas de fils) qui sont les objets de type Polylines, Rectangles, Arcs, Segs,... L'entités Axes peut également contenir une entité intermédiaire nommé Compound qui regroupe un ensemble d'entités filles.
Le principal intérêt du mode graphique réside dans sa capacité à changer à volonté les propriétés des objets graphiques a priori et surtout a posteriori. Ce mode graphique est fourni avec une suite de commandes graphiques de haut niveau (voir set, get) utliisées pour positionner les proriéts des objets telles que les données, les coordonnées, échelles, couleur etc... sans avoir à rejouer les commandes initiales (comportement de l'ancien mode graphique).
Les entités graphiques ont un type handle
dans Scilab.Un
handle est un identificateur unique qui est associé chaque instance d'un
objet graphique créé. En utilisant ce handle, il sera possible d'atteindre
les propriétés de l'entité considérée à travers l'utilisation des
commandes "set" et "get". Les handles sont aussi utiles pour manipuler des
objets graphiques, les bouger, les copier ou encore les supprimer.
Pour compléter ce mode, un éditeur graphique a été développé
pour ces objets. Il s'agit d'un ensemble d'interfaces en Tcl/Tk
disponibles pour chaque objet graphique (voir
graphics_entities pour plus de détail). Pour lancer
l'interface, il faut sélectionner le menu Edit
dans la
fenêtre graphique. On a alors sept opérations d'édition disponibles:
Positionne la figure comme étant la nouvelle figure courante.
Redessinne le contenu de la figure.
Efface le contenu de la figure. Son action correspond à un
appel à clf
.
En utilisant la souris, cela permet de sélectionner un objet
graphique 2D (comme une courbe, un rectangle...) et de le glisser dans
le presse-papier. Ainsi, par un prochain appel à Paste
object
, l'objet est recopié dans les axe courant.
Permet à l'utilisateur de coller un objet précédemment placé dans le presse-papier sur l'axe courant.
En utilisant la souris, cette fonction permet de bouger un objet 2D (comme une courbe, un rectangle...) à l'intérieur d'un axe courant.
En utilisant la souris, cette fonction permet de détruire un objet 2D (like a curve, a rectangle...) que l'on sélectionne a posteriori.
Lance l'interface Tcl/Tk pour l'objet Figure, handle de la figure de la fenêtre courante.
Lance l'interface Tcl/Tk pour l'objet Axes courant, handle de l'axe courant de la fenêtre courante.
Démarre un sélecteur d'entité pour pointer des objets 2D à la souris et ainsi ouvrir leur interface Tcl/Tk pour pouvoir modifier leurs propriétés. Le clic souris gauche permet d'éditer l'objet cliqué; le clic droit réalise un déplacement de l'objet sélectionné. Remarque: pour l'instant, cette option fonctionne uniquement avec des objets 2D.
Arrête l'action du sélecteur d'entité.
Une fois l'interface graphique (fenêtre Tcl/Tk) activée en utilisant
les commandes Figure Properties
ou Current Axes
Properties
, on distingue 2 zones pricnipales sur ces interfaces
:
placé sur la gauche de la fenêtre de l'éditeur graphique, l'arbre sélecteur permet de parcourir la hiérarchie des objets présents au sein de la figure. On peut passer d'un objet à l'autre en déroulant la hiérarchie.
La seconde zone d'intérêt est à droite: les propriétés de
l'objet sélectionné dans l'arbre sont disposées dans une structure
multi-onglets. On y trouve différents types de propriétés telles le
Style
, Data
, Clipping
... Elles
dépendent du type d'objet considéré. A travers cet éditeur, on peut
voir et changer les propriétés de ces objets de façon graphique comme
on le ferait à travers l'emploi des fonctions "set"
et "get"
dans la console. Voici un exemple d'onglets
affichant les propriétés d'un objet de type Axes:
De plus, on peut légender/annoter la figure en utilisant des primitives
simples données dans le menu Insert
de la fenêtre graphique.
En utilisant la souris et en suivant les instructions dans la sous-fenêtre
de message, on peut ajouter un(e):
Dessine une ligne définie entre 2 clics souris gauche. La ligne est définie dans le repère des axes du premier point sélectionné.
Dessine une ligne brisée en sélectionnant un chemin (clic gauche) et une fin (clic droit). La ligne brisée est définie dans le repère des axes du premier point sélectionné.
Dessine une flèche définie entre 2 clics souris gauche. La flèche est définie dans le repère des axes du premier point sélectionné.
Dessine une double-flèche définie entre 2 clics souris gauche. La flèche est définie dans le repère des axes du premier point sélectionné.
Ouvre une boîte de dialogue pour entrer un texte, puis, en cliquant qur une zone de la figure, insert le texte à l'endroit cliquer. Le texte est définie dans le repère des axes du point sélectionné.
Dessine un rectangle : 2 clics souris gauches définissent respectivement le coin supérieur gauche et inférieur droit du rectangle. Le rectangle est défini dans le repère des axes du premier point sélectionné.
Dessine un cercle : 2 clics souris gauches définissent respectivement le coin supérieur gauche et inférieur droit de la boîte englobante du cercle. Le cercle est défini dans le repère des axes du premier point sélectionné.