Subversion Repositories eFlore/Applications.del

Rev

Rev 210 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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