Rev 1152 | Rev 1165 | 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.List;import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotClePresenteur;import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotCleVue;import org.tela_botanica.del.client.i18n.I18n;import org.tela_botanica.del.client.modeles.MotCle;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.supressionmotcleimage.EvenementSuppressionMotCleImage;import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.GestionnaireEvenementSuppressionMotCleImage;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 org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback;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<MotCle> motsCles;FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur;MotsClesService motsClesService;String idImage;public interface Vue extends IsWidget {public HasWidgets getZoneMotsCles();HasWidgets getZoneSaisieMotsCles();void viderZoneMotsCles();}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<MotCle> objetRetour) {motsCles = objetRetour;vue.viderZoneMotsCles();afficherMotsCles(objetRetour);}});}}public void gererEvemenements() {BusEvenementiel.getInstance().addHandler(EvenementAjoutMotCleImage.TYPE, new GestionnaireEvenementAjoutMotCleImage() {@Overridepublic void onAjoutMotCleImage(EvenementAjoutMotCleImage event) {if(idImage != null && idImage.equals(event.getIdImage())) {motsCles = null;chargerMotsCles(idImage);formulaireSaisieMotsClesPresenteur.viderChampSaisie();}}});BusEvenementiel.getInstance().addHandler(EvenementSuppressionMotCleImage.TYPE, new GestionnaireEvenementSuppressionMotCleImage() {@Overridepublic void onSuppressionMotCleImage(EvenementSuppressionMotCleImage event) {if(idImage != null && idImage.equals(event.getIdImage())) {motsCles = null;chargerMotsCles(idImage);}}});}public void afficherMotsCles(List<MotCle> listeMotsCles) {this.motsCles = listeMotsCles;Object[] tabMotsCles = motsCles.toArray();for (int i = 0; i < motsCles.toArray().length; i++) {MotCle motCleEnCours = (MotCle)tabMotsCles[i];MotClePresenteur mcP = new MotClePresenteur(new MotCleVue(motCleEnCours.getMotCle()), motCleEnCours.getMotCle(), motCleEnCours.getIdMotCle()) {public void surSuppression(String idMotCle) {if(Window.confirm(I18n.getVocabulary().indiceSupprimerMotCle()+" ?")) {motsClesService.supprimerMotCleImage(idMotCle, new SuppressionMotCleImageCallback() {@Overridepublic void surRetour(String objetRetour) {motsCles = null;chargerMotsCles(idImage);}});}};};mcP.go(vue.getZoneMotsCles());}}public void focuserChampsSaisie() {formulaireSaisieMotsClesPresenteur.focuserChampSaisie();}}