New file |
0,0 → 1,112 |
package org.tela_botanica.del.client.vues.rechercheobservations; |
|
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Image; |
|
public class ObservationPresenteur extends Presenteur { |
|
private Observation observation; |
|
public ObservationPresenteur(Observation observation) { |
super(new ObservationVue()); |
this.observation = observation; |
chargerObservation(); |
} |
|
public void chargerObservation() { |
ObservationVue vue = (ObservationVue) this.getVue(); |
vue.auteur.setText(observation.getAuteur()); |
vue.date.setText(observation.getDate()); |
vue.famille.setText(observation.getFamille()); |
vue.localite.setText(observation.getLocalite()); |
|
List<String> motsCles = observation.getMotsClefs(); |
Iterator<String> itMotsCles = motsCles.iterator(); |
String motsClesChaine = ""; |
while (itMotsCles.hasNext()) { |
String motCle = itMotsCles.next(); |
motsClesChaine += motCle; |
if (itMotsCles.hasNext()) { |
motsClesChaine += ", "; |
} |
} |
vue.motsClefs.setText(motsClesChaine); |
vue.nomRetenu.setText(observation.getNomRetenu()); |
vue.numNomenclatural.setText(observation.getNumNomenclatural()); |
|
List<org.tela_botanica.del.client.modeles.Image> images = observation.getImages(); |
|
org.tela_botanica.del.client.modeles.Image imagePrincipale = images.get(0); |
vue.photoPrincipale.setUrl(imagePrincipale.getUrl()); |
vue.photoPrincipale.setTitle(imagePrincipale.getUrlFormat("L")); |
vue.photoPrincipale.setAltText(observation.getAuteur() + " - " + observation.getNomRetenu()); |
images.remove(0); |
|
int nbImagesAffichees = 0; |
for (org.tela_botanica.del.client.modeles.Image imageCourante : images) { |
nbImagesAffichees++; |
if (nbImagesAffichees < 5) { |
Image photo = new Image(); |
photo.setUrl(imageCourante.getUrlFormat("CRX2S")); |
photo.setTitle(imageCourante.getUrlFormat("L")); |
photo.setAltText(observation.getAuteur() + " - " + observation.getNomRetenu()); |
photo.addClickHandler(new ClickHandler() { |
|
public void onClick(ClickEvent event) { |
Image photo = (Image) event.getSource(); |
ouvrirFenetreModale(new DetailImagePresenteur(photo.getTitle(), photo.getAltText())); |
} |
}); |
vue.photos.add(photo); |
} |
} |
|
List<PropositionDetermination> propositions = observation.getPropositionsDetermination(); |
|
vue.tableauPropositions.setText(0, 0, "Certitude"); |
vue.tableauPropositions.setText(0, 1, "Commentaires"); |
vue.tableauPropositions.setText(0, 2, "Nom"); |
vue.tableauPropositions.setText(0, 3, "Votez"); |
|
int i = 0; |
for (PropositionDetermination proposition : propositions) { |
i++; |
vue.tableauPropositions.setText(i, 0, String.valueOf(proposition.getVotesDeterminations().size())); |
/* |
* List<VoteDetermination> votes = |
* proposition.getVotesDeterminations(); for (VoteDetermination vote |
* : votes) { vote.getVote(); } |
*/ |
vue.tableauPropositions.setText(i, 1, String.valueOf(proposition.getCommentaires().size())); |
vue.tableauPropositions.setText(i, 2, proposition.getEspece()); |
} |
|
handleEvents(); |
// vue.propositions.setText(ch); |
} |
|
public void go(HasWidgets composite) { |
composite.add(this.getVue()); |
} |
|
protected void handleEvents() { |
ObservationVue vue = (ObservationVue) this.getVue(); |
vue.photoPrincipale.addClickHandler(new ClickHandler() { |
|
public void onClick(ClickEvent event) { |
Image photoPrincipale = (Image) event.getSource(); |
ouvrirFenetreModale(new DetailImagePresenteur(photoPrincipale.getTitle(), photoPrincipale.getAltText())); |
} |
}); |
|
} |
} |