Bouton, prompt, affichage¶
Objectif : lire et analyser les éléments de base d’une interface interactive.
1 – récupérer le .jsx de travail¶
Télécharger exemple-bouton-et-prompt.jsx (à placer dans le dossier Scripts
ou Scripts/ScriptUI
)
2 – récupérer la référence de la fenêtre ou la créer¶
// on récupère la référence à la palette (ou on en créé une)
var fenetre = (this instanceof Panel) ? this : new Window( 'palette', 'script', undefined, { resizeable: true });
Note
var fenetre =
: on créé une variable à laquelle on associe l’identificateurfenetre
.(this instanceof Panel)
: cette expression teste si l’objet associé au mot-cléthis
est une instance de la classePanel
. Si ça n’est pas le cas, c’est probablement parce qu’il faut créer une fenêtre (un objetPanel
).x ? y : z
: cet expression est un opérateur ternaire : six
est vrai, alors on renvoiey
, sinon on renvoiez
.this
: sithis
est une instance dePanel
, alors on a déjà notre panneau, que l’on associe à l’identificateurfenetre
.new Window(…)
: sithis
n’est pas une instance dePanel
, alors on doit créer notre fenêtre vianew Window(…)
et l’associer à l’identificateurfenetre
.
3 – définir la position de notre bouton dans la fenêtre¶
// limites = [ ← gauche, ↑ haut, → droite, ↓ bas ]
var limites_bouton = [ 5, 5, 105, 25 ];
Note
On donne les coordonnées des différents coins du rectangle qui va accueillir notre bouton, à partir du coin en haut à gauche. Ici notre rectangle fait 100px de large et 20 de haut. Il démarre en haut à gauche à 5px du haut et du côté gauche.
4 – définir les différents éléments de texte¶
// texte à afficher sur le bouton
var texte_bouton = 'cliquez-moi !';
// texte à afficher à l'utilisateur
var question_prompt = 'Dis-moi quelque chose ou clique sur annuler !';
// texte par défaut du prompt
var texte_par_defaut_prompt = 'quelque chose';
Note
Ces différentes variables nous permettent simplement de regrouper les différents textes à un seul endroit. C’est parfaitement optionnel.
5 – créer notre bouton¶
// création du bouton et ajout à notre fenêtre
var bouton_valider = fenetre.add( 'button', limites_bouton, texte_bouton );
Note
On créé notre bouton avec fenetre.add()
. Pour rappel, on a associé plus haut l’identificateur fenetre
à notre fenêtre. On utilise la méthode add( type, limites, texte)
pour lui ajouter un bouton. Et on garde une référence de notre bouton associée à l’identificateur bouton_valider
.
6 – ajouter de l’interactivité¶
bouton_valider.onClick = function () {
/* ce que l'on souhaite faire au clic */
};
Note
Lorsqu’un bouton est cliqué, la fonction associée à la propriété onClick
est appelée.
On va donc définir une fonction que l’on va associer à la propriété onClick
de notre bouton.
7 – récupérer de l’information utilisateur¶
var entree_utilisateur = prompt ( question_prompt, texte_par_defaut_prompt );
Note
Ici, nous utilisons la fonction prompt
pour afficher une interface comportant un titre, un champs de réponse, un bouton annuler et un bouton ok.
La fonction renvoie null
si l’utilisateur appuie sur annuler, la valeur du champs texte s’il appuie sur OK.
on va créé une variable qu’on appelera ici entree_utilisateur
pour stocker ce résultat.
8 – afficher le résultat¶
alert( entree_utilisateur );
Note
La fonction alert()
permet d’afficher un popup affichant les données données en paramètre. Ici, le résultat du prompt.