[RESOLU][Java/SWT] Listener sur une List

Bonjour la zone :crying:.

Cela fait plusieurs fois que je suis confronté à un problème assez « bête ».
Voilà le topo :
j’ai une liste (swt.widget.List), et je voudrais lui ajouter un Listener qui s’active à chaque modification de celle ci (ajout/suppression d’un élément par exemple, ou inversion d’items).

Voilà ce que je voudrais faire :

list.addListener(SWT.Modify, new Listener() { @Override public void handleEvent(Event e) { // Mon code } });

Cela ne pause aucun problème avec des champ de texte (Text) ou des combos (Combo). Par contre avec List, SWT.Modify ne semble pas être adapté (List n’est d’ailleurs pas mentionné dans la javadoc pour cet évènement).
Donc je ne sais pas du tout quel type d’évènement mettre. SWT.Selection ne correspond pas à ce que je veux (une selection n’est pas obligée pour modifier la liste), et malheureusement, pas grand chose avec mon ami google (google aime Swing, mais pas SWT).

Y-a-t-il un type d’évènement existant ou est-ce infaisable ?

C’est un problème qui me paraît assez basique, mais je n’ai vraiment aucune piste. Alors avant de passer aux incantations vaudou, j’en appelle à l’élite des geeks :slight_smile: .

Juste une précision, quand tu parles de modification, tu parles de modification des données affichées dans la liste ou la modification de la selection des données de la liste ?

La modification des données affichées (== des items présents dans la liste).
En fait la liste correspond à une section d’un fichiers ayant un format proche du XML. Chaque élement de la liste correspond à une ligne de la section, et je dois modifier les données du fichiers. Donc à chaque changement de la liste, je dois modifier le fichier, je ne m’occupe pas de la selection.

Je ne connais absolument pas SWT, mais dans d’autres gestionnaires de GUI, ce genre d’événement n’est pas lié au composant list, mais au “dataset” qui lui est lié.

Je ne sais pas si tu as exploré cette piste…

Non j’ai pas pensé à ça, je ne sais pas du tout ce que ça contient, mais je vais regarder.
edit : apparemment ça renvoir null, je pense que je dois faire un set avant, mais de quoi j’en sais rien (c’est vague “Object”).

Bon finalement je fais directement un

là où je modifie ma liste. Ca fonctionne, même si c’est pas forcément très élégant. J’ajoute la balise [résolu], mais si vous avez une autre méthode je reste ouvert (j’ai regardé avec le data mais je ne trouve vraiment aucune doc, aucune idée de ce qu’on peut faire avec).