1,19 → 1,20 |
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.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.changementprotocole.EvenementChangementProtocole; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole; |
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; |
21,14 → 22,15 |
|
public class MotsClesImagePresenteur { |
|
List<String> motsCles; |
List<MotCle> motsCles; |
FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur; |
MotsClesService motsClesService; |
String idImage; |
|
public interface Vue extends IsWidget { |
public void afficherMotsCles(List<String> listeMotsCles); |
public HasWidgets getZoneMotsCles(); |
HasWidgets getZoneSaisieMotsCles(); |
void viderZoneMotsCles(); |
} |
|
private Vue vue; |
51,9 → 53,10 |
MotsClesService motsClesService = new MotsClesServiceConcret(); |
motsClesService.getMotsClesImage(idImage, new ListeMotsClesImageCallBack() { |
@Override |
public void surRetour(List<String> objetRetour) { |
public void surRetour(List<MotCle> objetRetour) { |
motsCles = objetRetour; |
vue.afficherMotsCles(motsCles); |
vue.viderZoneMotsCles(); |
afficherMotsCles(objetRetour); |
} |
}); |
} |
64,18 → 67,45 |
@Override |
public 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); |
motsCles = null; |
chargerMotsCles(idImage); |
formulaireSaisieMotsClesPresenteur.viderChampSaisie(); |
} |
} |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementSuppressionMotCleImage.TYPE, new GestionnaireEvenementSuppressionMotCleImage() { |
@Override |
public 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() { |
@Override |
public void surRetour(String objetRetour) { |
motsCles = null; |
chargerMotsCles(idImage); |
} |
}); |
} |
}; |
}; |
mcP.go(vue.getZoneMotsCles()); |
} |
} |
|
public void focuserChampsSaisie() { |
formulaireSaisieMotsClesPresenteur.focuserChampSaisie(); |