Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 308 → Rev 309

/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/ObservationPresenteur.java
9,25 → 9,51
 
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.ui.FlexTable;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
 
public class ObservationPresenteur extends Presenteur {
public abstract interface Vue extends IsWidget {
public HasText getAuteur();
public HasText getDate();
public HasText getFamille();
public HasText getLocalite();
public HasText getMotsClefs();
public HasText getNomRetenu();
public HasText getNumNomenclatural();
public FlexTable getTableauPropositions();
public HasClickHandlers getPhotoPrincipale();
public HasWidgets getPhotos();
public void setUrlImagePrincipale(String url);
public void setTitreImagePrincipale(String titre);
public void setAltTextImagePrincipale(String altText);
public String getUrlImagePrincipale();
public String getTitreImagePrincipale();
public String getAltTextImagePrincipale();
public void setTexteTableau(int ligne, int colonne, String texte);
}
private Vue vue;
 
private Observation observation;
 
public ObservationPresenteur(Observation observation) {
super(new ObservationVue());
public ObservationPresenteur(Vue vue, Observation observation) {
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());
vue.getAuteur().setText(observation.getAuteur());
vue.getDate().setText(observation.getDate());
vue.getFamille().setText(observation.getFamille());
vue.getLocalite().setText(observation.getLocalite());
 
List<String> motsCles = observation.getMotsClefs();
Iterator<String> itMotsCles = motsCles.iterator();
39,17 → 65,17
motsClesChaine += ", ";
}
}
vue.motsClefs.setText(motsClesChaine);
vue.nomRetenu.setText(observation.getNomRetenu());
vue.numNomenclatural.setText(observation.getNumNomenclatural());
vue.getMotsClefs().setText(motsClesChaine);
vue.getNomRetenu().setText(observation.getNomRetenu());
vue.getNumNomenclatural().setText(observation.getNumNomenclatural());
 
List<org.tela_botanica.del.client.modeles.Image> images = observation.getImages();
 
if (images != null && images.size() > 0) {
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());
vue.setUrlImagePrincipale(imagePrincipale.getUrl());
vue.setTitreImagePrincipale(imagePrincipale.getUrlFormat("L"));
vue.setAltTextImagePrincipale(observation.getAuteur() + " - " + observation.getNomRetenu());
images.remove(0);
}
 
65,31 → 91,31
 
public void onClick(ClickEvent event) {
Image photo = (Image) event.getSource();
ouvrirFenetreModale(new DetailImagePresenteur(photo.getTitle(), photo.getAltText()));
ouvrirFenetreModale(new DetailImagePresenteur(vue.getTitreImagePrincipale(), vue.getAltTextImagePrincipale(), new DetailImageVue()));
}
});
vue.photos.add(photo);
vue.getPhotos().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");
vue.setTexteTableau(0, 0, "Certitude");
vue.setTexteTableau(0, 1, "Commentaires");
vue.setTexteTableau(0, 2, "Nom");
vue.setTexteTableau(0, 3, "Votez");
 
int i = 0;
for (PropositionDetermination proposition : propositions) {
i++;
vue.tableauPropositions.setText(i, 0, String.valueOf(proposition.getVotesDeterminations().size()));
vue.setTexteTableau(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());
vue.setTexteTableau(i, 1, String.valueOf(proposition.getListeCommentaires().size()));
vue.setTexteTableau(i, 2, proposition.getEspece());
}
 
gererEvenements();
97,16 → 123,16
}
 
public void go(HasWidgets composite) {
composite.add(this.getVue());
composite.add(vue.asWidget());
}
 
protected void gererEvenements() {
ObservationVue vue = (ObservationVue) this.getVue();
vue.photoPrincipale.addClickHandler(new ClickHandler() {
vue.getPhotoPrincipale().addClickHandler(new ClickHandler() {
 
public void onClick(ClickEvent event) {
Image photoPrincipale = (Image) event.getSource();
ouvrirFenetreModale(new DetailImagePresenteur(photoPrincipale.getTitle(), photoPrincipale.getAltText()));
//FIXME : faire une interface pour les images
//Image photoPrincipale = (Image) event.getSource();
//ouvrirFenetreModale(new DetailImagePresenteur(photoPrincipale.getTitreImagePrincipale(), vue.getAltTextImagePrincipale(), new DetailImageVue()));
}
});