9,7 → 9,6 |
import org.tela_botanica.del.client.composants.images.DetailImageVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
16,12 → 15,12 |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.EvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.GestionnaireEvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation; |
import org.tela_botanica.del.client.navigation.evenement.validationobservationpictoflora.EvenementValidationPictoflora; |
|
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.History; |
import com.google.gwt.event.shared.HandlerRegistration; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HasWidgets; |
41,6 → 40,8 |
public void afficherLienPlateformeValidation(); |
|
public HTML getLienPlateforme(); |
|
public HandlerRegistration setImgPrincipaleClicGestionnaire(ClickHandler gestionnaireClic); |
} |
|
private Vue vue; |
50,7 → 51,7 |
private Image imagePrincipale; |
|
private List<Image> listeImages; |
|
|
public ObservationImagesPresenteur(Vue vue, Observation observation, Image imagePrincipale) { |
this.observation = observation; |
this.vue = vue; |
61,18 → 62,18 |
listeImages = observation.getImages(); |
if (imagePrincipale != null) { |
vue.chargerImagePrincipale(imagePrincipale); |
vue.getPhotoPrincipale().addClickHandler(creerGestionnaireClicGalerieImages(0, imagePrincipale)); |
vue.setImgPrincipaleClicGestionnaire(creerGestionnaireClicGalerieImages(0, imagePrincipale)); |
} |
|
String urlCourante = Window.Location.getHref(); |
Config config = new Config(); |
String urlAppliObs = config.getUrl("identiplante"); |
int nbImage = 0; |
int indexImage = 0; |
for (Image imageCourante : listeImages) { |
vue.ajouterPhoto(imageCourante, creerGestionnaireClicChangementImagePrincipale(imageCourante)); |
nbImage++; |
vue.ajouterPhoto(imageCourante, creerGestionnaireClicChangementImagePrincipale(indexImage, imageCourante)); |
indexImage++; |
|
if (urlCourante.contains(urlAppliObs) && nbImage >= 5) { |
if (urlCourante.contains(urlAppliObs) && indexImage >= 5) { |
vue.afficherLienPlateformeValidation(); |
break; |
} |
87,24 → 88,22 |
|
protected void gererEvenements() { |
vue.getLienPlateforme().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent arg0) { |
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(observation)); |
} |
|
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementImageValidation.TYPE, new GestionnaireEvenementChangementImageValidation() { |
|
@Override |
public void onChangementImage(EvenementChangementImageValidation event) { |
if (CacheClient.getInstance().getImageCourante().getObservation().getId().equals(observation.getId())) { |
GWT.log("Reception event Chgmt img index :"+event.indexImage); |
vue.chargerImagePrincipale(CacheClient.getInstance().getImageCourante()); |
vue.setImgPrincipaleClicGestionnaire(creerGestionnaireClicGalerieImages(event.indexImage, imagePrincipale)); |
} |
} |
}); |
|
} |
|
protected ClickHandler creerGestionnaireClicGalerieImages(final int indexImage, final Image imageCourante) { |
130,7 → 129,7 |
setContenuFenetreModale(index, new DetailImagePresenteur(listeImages.get(index), new DetailImageVue())); |
} |
}; |
presenteurGalerie.ouvrirFenetreModaleDefilante(indexImage, new DetailImagePresenteur(imageCourante, new DetailImageVue())); |
presenteurGalerie.ouvrirFenetreModaleDefilante(indexImage, new DetailImagePresenteur(listeImages.get(indexImage), new DetailImageVue())); |
presenteurGalerie.afficherBoutonsSuivantsPrecedents((listeImages.size() > 1)); |
} |
}; |
137,11 → 136,13 |
return gestionnaireClic; |
} |
|
protected ClickHandler creerGestionnaireClicChangementImagePrincipale(final Image imageCourante) { |
protected ClickHandler creerGestionnaireClicChangementImagePrincipale(final int indexImage, final Image imageCourante) { |
ClickHandler gestionnaireClic = new ClickHandler() { |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setImageCourante(imageCourante); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementImageValidation()); |
EvenementChangementImageValidation chgmtImgEvent = new EvenementChangementImageValidation(); |
chgmtImgEvent.indexImage = indexImage; |
BusEvenementiel.getInstance().fireEvent(chgmtImgEvent); |
} |
}; |
return gestionnaireClic; |