Comment mémoriser dans une liste le nom des objets qui sont sélectionnés successivement ?

Seror shared this question 6 years ago
Answered

J’utilise déjà le script global qui permet de sélectionner

le nom de l’objet sélectionné en codant dans JavaScript Global :


function ggbOnInit() {ggbApplet.registerClickListener("ClickAny")}


function ClickAny(obj) {


objStr=''+obj ggbApplet.evalCommand('SetValue[Image_{sélectée},"'+objStr+'"]')

}


Dans l’objet texte « Image_{sélectée} » j’ai

bien le nom de l’objet sélecté.


Existe-il une astuce (via un script) pour construire une

liste (de noms d’objets) qui s’enrichie au fur et à mesure du nom de chaque

objet sélectionné successivement à chaque clic de souris ?


Exemple : en cliquant successivement sur les images

Image1, Image2 et Image3, on obtiendrai la liste suivante :


Liste1={Image1, Image2, Image3, … }


Merci de votre aide.

Comments (2)

photo
1

Bonjour, Par exemple comme ceci (Pour une stack-liste de 10 éléments):


  1. function ggbOnInit() {
  2. ggbApplet.evalCommand("lastClickedObjNam={}")
  3. ggbApplet.registerClickListener("click")
  4. }
  5. function click (obj){
  6. //Voici la possibilité de sélectionner avec le type d'objet (par exemple uniquement des points ou des objets dans une liste)
  7. OK=ggbApplet.evalCommand('SetValue[lastClickedObjNam , CopyFreeObject[First[Join[{"'+obj+'"}, lastClickedObjNam], Min[10,Length[lastClickedObjNam]+1]]]]')
  8. //Dessus (7) est 1 ligne
  9. //alert("OK=" +OK)
  10. }


Note:

Dans certaines situations (par exemple la redéfinition), vous devez réanimer Listener avec:

  1. ggbApplet.unregisterClickListener("click")
  2. ggbApplet.registerClickListener("click")

photo
1

Bonsoir,

Merci beaucoup Rami, vous êtes vraiment génial !!!!

Vous avez tout à fait répondu à ma question, et avec une remarquable rapidité !!!

Merci et très bonne soirée.

Alain.

© 2023 International GeoGebra Institute