Rev 1151 | Rev 1162 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.motsclesimages;import java.util.Iterator;import java.util.List;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;import org.tela_botanica.del.client.modeles.InformationsRecherche;import org.tela_botanica.del.client.modeles.ModeTri;import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage;import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.GestionnaireEvenementAjoutMotCleImage;import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;import org.tela_botanica.del.client.services.rest.MotsClesService;import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret;import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.HasWidgets;import com.google.gwt.user.client.ui.IsWidget;public class MotsClesImagePresenteur {List<String> motsCles;FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur;MotsClesService motsClesService;String idImage;public interface Vue extends IsWidget {public void afficherMotsCles(List<String> listeMotsCles);HasWidgets getZoneSaisieMotsCles();}private Vue vue;public MotsClesImagePresenteur(MotsClesService motsClesService, FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur, Vue vue) {this.formulaireSaisieMotsClesPresenteur = formulaireSaisieMotsClesPresenteur;this.vue = vue;this.motsClesService = motsClesService;gererEvemenements();}public void go(HasWidgets composite) {formulaireSaisieMotsClesPresenteur.go(vue.getZoneSaisieMotsCles());composite.add(vue.asWidget());}public void chargerMotsCles(String idImage) {this.idImage = idImage;if(motsCles == null) {MotsClesService motsClesService = new MotsClesServiceConcret();motsClesService.getMotsClesImage(idImage, new ListeMotsClesImageCallBack() {@Overridepublic void surRetour(List<String> objetRetour) {motsCles = objetRetour;vue.afficherMotsCles(motsCles);}});}}public void gererEvemenements() {BusEvenementiel.getInstance().addHandler(EvenementAjoutMotCleImage.TYPE, new GestionnaireEvenementAjoutMotCleImage() {@Overridepublic void onAjoutMotCleImage(EvenementAjoutMotCleImage event) {if(idImage != null && idImage.equals(event.getIdImage())) {List<String> motsClesAjoutes = event.getMotsCles();for (Iterator iterator = motsClesAjoutes.iterator(); iterator.hasNext();) {String string = (String) iterator.next();motsCles.add(string);}vue.afficherMotsCles(motsCles);formulaireSaisieMotsClesPresenteur.viderChampSaisie();}}});}public void focuserChampsSaisie() {formulaireSaisieMotsClesPresenteur.focuserChampSaisie();}}