Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
166 gduche 1
package org.tela_botanica.del.client.vues.rechercheobservations;
2
 
3
import java.util.Iterator;
4
import java.util.List;
5
 
6
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
7
import org.tela_botanica.del.client.modeles.Observation;
183 gduche 8
import org.tela_botanica.del.client.modeles.PropositionDetermination;
166 gduche 9
 
200 gduche 10
import com.google.gwt.event.dom.client.ClickEvent;
11
import com.google.gwt.event.dom.client.ClickHandler;
166 gduche 12
import com.google.gwt.user.client.ui.HasWidgets;
200 gduche 13
import com.google.gwt.user.client.ui.Image;
166 gduche 14
 
15
public class ObservationPresenteur extends Presenteur {
16
 
17
	private Observation observation;
18
 
19
	public ObservationPresenteur(Observation observation) {
20
		super(new ObservationVue());
21
		this.observation = observation;
22
		chargerObservation();
23
	}
24
 
25
	public void chargerObservation() {
26
		ObservationVue vue = (ObservationVue) this.getVue();
27
		vue.auteur.setText(observation.getAuteur());
28
		vue.date.setText(observation.getDate());
29
		vue.famille.setText(observation.getFamille());
30
		vue.localite.setText(observation.getLocalite());
31
 
32
		List<String> motsCles = observation.getMotsClefs();
33
		Iterator<String> itMotsCles = motsCles.iterator();
34
		String motsClesChaine = "";
35
		while (itMotsCles.hasNext()) {
36
			String motCle = itMotsCles.next();
37
			motsClesChaine += motCle;
38
			if (itMotsCles.hasNext()) {
39
				motsClesChaine += ", ";
40
			}
41
		}
42
		vue.motsClefs.setText(motsClesChaine);
43
		vue.nomRetenu.setText(observation.getNomRetenu());
44
		vue.numNomenclatural.setText(observation.getNumNomenclatural());
45
 
200 gduche 46
		List<org.tela_botanica.del.client.modeles.Image> images = observation.getImages();
183 gduche 47
 
200 gduche 48
		org.tela_botanica.del.client.modeles.Image imagePrincipale = images.get(0);
49
		vue.photoPrincipale.setUrl(imagePrincipale.getUrl());
50
		vue.photoPrincipale.setTitle(imagePrincipale.getUrlFormat("L"));
51
		vue.photoPrincipale.setAltText(observation.getAuteur() + " - " + observation.getNomRetenu());
52
		images.remove(0);
53
 
54
		int nbImagesAffichees = 0;
55
		for (org.tela_botanica.del.client.modeles.Image imageCourante : images) {
56
			nbImagesAffichees++;
57
			if (nbImagesAffichees < 5) {
58
				Image photo = new Image();
59
				photo.setUrl(imageCourante.getUrlFormat("CRX2S"));
60
				photo.setTitle(imageCourante.getUrlFormat("L"));
61
				photo.setAltText(observation.getAuteur() + " - " + observation.getNomRetenu());
62
				photo.addClickHandler(new ClickHandler() {
63
 
64
					public void onClick(ClickEvent event) {
65
						Image photo = (Image) event.getSource();
66
						ouvrirFenetreModale(new DetailImagePresenteur(photo.getTitle(), photo.getAltText()));
67
					}
68
				});
69
				vue.photos.add(photo);
70
			}
71
		}
72
 
183 gduche 73
		List<PropositionDetermination> propositions = observation.getPropositionsDetermination();
74
 
75
		vue.tableauPropositions.setText(0, 0, "Certitude");
76
		vue.tableauPropositions.setText(0, 1, "Commentaires");
77
		vue.tableauPropositions.setText(0, 2, "Nom");
78
		vue.tableauPropositions.setText(0, 3, "Votez");
79
 
80
		int i = 0;
81
		for (PropositionDetermination proposition : propositions) {
82
			i++;
83
			vue.tableauPropositions.setText(i, 0, String.valueOf(proposition.getVotesDeterminations().size()));
200 gduche 84
			/*
85
			 * List<VoteDetermination> votes =
86
			 * proposition.getVotesDeterminations(); for (VoteDetermination vote
87
			 * : votes) { vote.getVote(); }
88
			 */
195 gduche 89
			vue.tableauPropositions.setText(i, 1, String.valueOf(proposition.getCommentaires().size()));
183 gduche 90
			vue.tableauPropositions.setText(i, 2, proposition.getEspece());
91
		}
92
 
220 gduche 93
		gererEvenements();
183 gduche 94
		// vue.propositions.setText(ch);
166 gduche 95
	}
96
 
97
	public void go(HasWidgets composite) {
98
		composite.add(this.getVue());
99
	}
100
 
220 gduche 101
	protected void gererEvenements() {
200 gduche 102
		ObservationVue vue = (ObservationVue) this.getVue();
103
		vue.photoPrincipale.addClickHandler(new ClickHandler() {
166 gduche 104
 
200 gduche 105
			public void onClick(ClickEvent event) {
106
				Image photoPrincipale = (Image) event.getSource();
107
				ouvrirFenetreModale(new DetailImagePresenteur(photoPrincipale.getTitle(), photoPrincipale.getAltText()));
108
			}
109
		});
110
 
166 gduche 111
	}
112
}