1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
3 xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
4 xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
5 xml:lang="fr" xml:id="object_editor">
7 <refname>Editeur graphique</refname>
8 <refpurpose>Edition interactive de l'arbre des propriétés des objets graphiques.
12 <title>Description</title>
13 <para>La module graphique de Scilab permet de nombreuses intéractions
14 entre l'utilisateur et le graphique aussi bien avant
15 qu'après sa création. Chaque fenêtre
16 graphique et les dessins qu'elle contient sont représentés sous forme
17 d'entités hiérarchiques. Le plus haut niveau de la hiérarchie est
18 toujours l'entité Figure. Chaque Figure définit au moins un enfant de type
19 Axes. Chaque entité Axes contient un ensemble d'entités feuilles (entités
20 terminales de la hiérarchie - elles n'ont pas de fils) qui sont les objets
21 de type Polylines, Rectangles, Arcs, Segs,... L'entités Axes peut
22 également contenir une entité intermédiaire nommé Compound qui regroupe un
23 ensemble d'entités filles.
25 <para>Le principal intérêt du mode graphique réside dans sa capacité
26 à changer à volonté les propriétés des objets graphiques a
27 priori et surtout a posteriori. Ce mode graphique est fourni avec
28 une suite de commandes graphiques de haut niveau (voir <link linkend="set">set</link>,
29 <link linkend="get">get</link>) utliisées pour positionner les proriéts des objets
30 telles que les données, les coordonnées, échelles, couleur etc... sans
31 avoir à rejouer les commandes initiales (comportement de l'ancien
35 Les entités graphiques ont un type <literal>handle</literal> dans Scilab.Un
36 handle est un identificateur unique qui est associé chaque instance d'un
37 objet graphique créé. En utilisant ce handle, il sera possible d'atteindre
38 les propriétés de l'entité considérée à travers l'utilisation des
39 commandes "set" et "get". Les handles sont aussi utiles pour manipuler des
40 objets graphiques, les bouger, les copier ou encore les supprimer.
42 <para>Pour compléter ce mode, un éditeur graphique a été développé
43 pour ces objets. Il s'agit d'un ensemble d'interfaces en Tcl/Tk
44 disponibles pour chaque objet graphique (voir
45 <link linkend="graphics_entities">graphics_entities</link> pour plus de détail). Pour lancer
46 l'interface, il faut sélectionner le menu <literal>Edit</literal> dans la
47 fenêtre graphique. On a alors sept opérations d'édition disponibles:
52 <term>Select figure as current: </term>
54 <para>Positionne la figure comme étant la nouvelle figure courante.</para>
59 <term>Redraw figure: </term>
61 <para>Redessinne le contenu de la figure.</para>
66 <term>Erase figure: </term>
68 <para>Efface le contenu de la figure. Son action correspond à un
69 appel à <literal>clf</literal>.
75 <term>Copy object/Copier: </term>
77 <para>En utilisant la souris, cela permet de sélectionner un objet
78 graphique 2D (comme une courbe, un rectangle...) et de le glisser dans
79 le presse-papier. Ainsi, par un prochain appel à <literal>Paste
82 ,l'objet est recopié dans les axe courant.
88 <term>Paste object/Coller: </term>
90 <para>Permet à l'utilisateur de coller un objet précédemment placé
91 dans le presse-papier sur l'axe courant.
97 <term>Move object/Déplacer: </term>
99 <para>En utilisant la souris, cette fonction permet de bouger un objet
100 2D (comme une courbe, un rectangle...) à l'intérieur d'un axe
107 <term>Delete object/Détruire: </term>
109 <para>En utilisant la souris, cette fonction permet de détruire un objet
110 2D (like a curve, a rectangle...) que l'on sélectionne a
117 <term>Figure Properties: </term>
119 <para>Lance l'interface Tcl/Tk pour l'objet Figure, handle de la figure
120 de la fenêtre courante.
126 <term>Current Axes Properties: </term>
128 <para>Lance l'interface Tcl/Tk pour l'objet Axes courant, handle de
129 l'axe courant de la fenêtre courante.
135 <term>Start Entity Picker/Démarrer le sélecteur d'entités: </term>
137 <para>Démarre un sélecteur d'entité pour pointer des objets 2D à
138 la souris et ainsi ouvrir leur interface Tcl/Tk pour pouvoir modifier
139 leurs propriétés. Le clic souris gauche permet d'éditer l'objet
140 cliqué; le clic droit réalise un déplacement de l'objet sélectionné.
141 Remarque: pour l'instant, cette option fonctionne uniquement avec des
148 <term>Stop Entity Picker/Arrêter le sélecteur d'entités: </term>
150 <para>Arrête l'action du sélecteur d'entité.</para>
155 <para>Une fois l'interface graphique (fenêtre Tcl/Tk) activée en utilisant
156 les commandes <literal>Figure Properties</literal> ou <literal>Current Axes
159 ,on distingue 2 zones pricnipales sur ces interfaces
166 <term>Un arbre sélecteur: </term>
168 <para>placé sur la gauche de la fenêtre de l'éditeur graphique, l'arbre
169 sélecteur permet de parcourir la hiérarchie des objets présents au
170 sein de la figure. On peut passer d'un objet à l'autre en
171 déroulant la hiérarchie.
179 <imagedata fileref="../images/tree.gif"/>
186 <term>Des onglets: </term>
188 <para>La seconde zone d'intérêt est à droite: les propriétés de
189 l'objet sélectionné dans l'arbre sont disposées dans une structure
190 multi-onglets. On y trouve différents types de propriétés telles le
191 <literal>Style</literal>, <literal>Data</literal>, <literal>Clipping</literal>... Elles
192 dépendent du type d'objet considéré. A travers cet éditeur, on peut
193 voir et changer les propriétés de ces objets de façon graphique comme
194 on le ferait à travers l'emploi des fonctions <literal>"set"</literal>
195 et <literal>"get"</literal> dans la console. Voici un exemple d'onglets
196 affichant les propriétés d'un objet de type Axes:
204 <imagedata fileref="../images/notebook.gif"/>
209 <para>De plus, on peut légender/annoter la figure en utilisant des primitives
210 simples données dans le menu <literal>Insert</literal> de la fenêtre graphique.
211 En utilisant la souris et en suivant les instructions dans la sous-fenêtre
212 de message, on peut ajouter un(e):
217 <term>Line/Ligne: </term>
219 <para>Dessine une ligne définie entre 2 clics souris gauche. La ligne
220 est définie dans le repère des axes du premier point sélectionné.
228 <term>Polyline/Ligne brisée: </term>
230 <para>Dessine une ligne brisée en sélectionnant un chemin (clic gauche)
231 et une fin (clic droit). La ligne brisée est définie dans le repère
232 des axes du premier point sélectionné.
240 <term>Arrow/Flèche: </term>
242 <para>Dessine une flèche définie entre 2 clics souris gauche. La flèche
243 est définie dans le repère des axes du premier point sélectionné.
251 <term>Double arrow/Double flèche: </term>
253 <para>Dessine une double-flèche définie entre 2 clics souris gauche. La
254 flèche est définie dans le repère des axes du premier point
263 <term>Text/Texte: </term>
265 <para>Ouvre une boîte de dialogue pour entrer un texte, puis, en
266 cliquant qur une zone de la figure, insert le texte à l'endroit
267 cliquer. Le texte est définie dans le repère des axes du point
276 <term>Rectangle: </term>
278 <para>Dessine un rectangle : 2 clics souris gauches définissent
279 respectivement le coin supérieur gauche et inférieur droit du
280 rectangle. Le rectangle est défini dans le repère des axes du premier
289 <term>Circle/Cercle: </term>
291 <para>Dessine un cercle : 2 clics souris gauches définissent
292 respectivement le coin supérieur gauche et inférieur droit de la boîte
293 englobante du cercle. Le cercle est défini dans le repère des axes du
294 premier point sélectionné.
300 <refsection role="see also">
301 <title>Voir aussi</title>
302 <simplelist type="inline">
304 <link linkend="ieditor">ieditor</link>
307 <link linkend="ged">ged</link>
310 <link linkend="graphics_entities">graphics_entities</link>
313 <link linkend="set">set</link>
316 <link linkend="get">get</link>
319 <link linkend="plot">plot</link>