« Découvrir Scilab/Créer une interface graphique GUI » : différence entre les versions

Contenu supprimé Contenu ajouté
Modifier les propriétés d'un élément
→‎Modifier les propriétés d'un élément : modif couleur ; point sur la couleur
Ligne 97 :
</source>
 
=== Modifier les propriétés d'un élément ====
 
Les pointeurs permettent de définir les propriétés d'un élément graphique. Ainsi, une fonction de rappel ''(callback)'' peut modifier un autre objet.
 
Dans l'exemple ci-dessous, nous traçons une courbe en bleuvert ; le pointeur de cette courbe est appelé <code>courbe</code>. Puis, nous créons des boutons pour modifier la couleur de la courbe, c'est-à-dire la propriété <code>courbe.foreground</code>.
 
Notons que nous travaillons avec des unités normalisées (propriétés <code>"units", "normalized"</code>) : dans ce système d'unités, la largeur et la hauteur de la fenêtre valent 1. Pour la fonction <code>xsetech()</code>, le point (0, 0) se trouve en haut à gauche, le point (1, 1) en bas à droite (sens de lecture latin). Pour la définition des autre objets, et notamment des boutons que l'on crée, le point (0, 0) est en bas à gauche et le point (1 ,1) en haut à droite (convention mathématique).
Ligne 115 :
// tracé de la courbe
X=[0:0.1:5];
plot(X, X.^2, "bg"); // courbe bleueverte
 
composant = gce();
Ligne 134 :
"callback", "courbe.foreground=5");
</source>
 
Notons également que les couleurs sont définies de trois manières :
* par une « chaîne de caractères-raccourci », le paramètre <code>"g"</code> de la commande <code>plot()</code> ;
* par un vecteur RVB, dans la propriété <code>"BackgroundColor"</code> des boutons ;
* par le numéro de la couleur dans carte de couleurs ''(colormap)'', pour la fonction de rappel <code>"callback"</code> des boutons.
Le seul point ambigu est le dernier, puisque la carte de coleurs peut changer. Au sein d'un programme, il faut donc s'attacher à maîtriser la carte de couleurs (voir ''[[../Graphiques et sons#Cartographie couleur|Graphiques et sons &gt; Cartographie couleur]]).
 
=== Créer une zone d'édition ===