Subversion Repositories eFlore/Applications.del

Rev

Rev 352 | Rev 361 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
50 benjamin 1
package org.tela_botanica.del.client.vues.comparaisoneflore;
2
 
62 benjamin 3
import java.util.Date;
50 benjamin 4
import java.util.List;
5
 
148 benjamin 6
import org.tela_botanica.del.client.modeles.VoteProtocole;
50 benjamin 7
 
8
import com.google.gwt.core.client.GWT;
284 benjamin 9
import com.google.gwt.event.dom.client.HasClickHandlers;
62 benjamin 10
import com.google.gwt.i18n.client.DateTimeFormat;
11
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
50 benjamin 12
import com.google.gwt.uibinder.client.UiBinder;
13
import com.google.gwt.uibinder.client.UiField;
14
import com.google.gwt.user.client.ui.Composite;
15
import com.google.gwt.user.client.ui.Image;
16
import com.google.gwt.user.client.ui.Label;
17
import com.google.gwt.user.client.ui.Widget;
18
 
284 benjamin 19
public class ComparaisonEfloreVue extends Composite implements ComparaisonEflorePresenteur.Vue {
50 benjamin 20
 
21
	interface MyUiBinder extends UiBinder<Widget, ComparaisonEfloreVue> {
22
	}
23
 
24
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
237 gduche 25
	private int currentIndexImages;
50 benjamin 26
 
27
	@UiField
237 gduche 28
	Label nomAuteur, dateObservation, famille, motsClefs, validateurs, dateValidation, nomEspeceEflore, nomAuteurEflore, localiteEflore, dateObservationEflore;
50 benjamin 29
 
30
	@UiField
237 gduche 31
	Image imagePrincipale, imageEflore, scrollLeftImage, scrollRightImage;
50 benjamin 32
 
33
	public ComparaisonEfloreVue() {
34
		initWidget(uiBinder.createAndBindUi(this));
35
	}
36
 
284 benjamin 37
	public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image) {
50 benjamin 38
 
62 benjamin 39
		// mots clefs
40
		String motsClefsConcatenes = "";
360 benjamin 41
		try {
42
			for (String motClef : image.getObservation().getMotsClefs()) {
43
				motsClefsConcatenes += motClef + ",";
44
			}
45
			motsClefsConcatenes = motsClefsConcatenes.subSequence(0, motsClefsConcatenes.lastIndexOf(",")).toString();
46
		} catch (Exception e) {
47
			// TODO: handle exception
62 benjamin 48
		}
49
 
50
		// validateurs
51
		String validateursConcatenes = "";
284 benjamin 52
		try {
360 benjamin 53
			for (VoteProtocole observationValidation : image.getVoteProtocoles()) {
54
				validateursConcatenes += observationValidation.getContributeur() + ", ";
55
			}
284 benjamin 56
			validateursConcatenes = validateursConcatenes.subSequence(0, validateursConcatenes.lastIndexOf(",")).toString();
57
		} catch (Exception e) {
62 benjamin 58
 
284 benjamin 59
		}
60
 
62 benjamin 61
		// date derniere validation
62
		Date dateDerniereValidation = null;
360 benjamin 63
		try {
64
			for (VoteProtocole observationValidation : image.getVoteProtocoles()) {
65
				if (dateDerniereValidation == null) {
66
					dateDerniereValidation = observationValidation.getDate();
67
				} else if (dateDerniereValidation.before(observationValidation.getDate())) {
68
					dateDerniereValidation = observationValidation.getDate();
69
				}
62 benjamin 70
			}
360 benjamin 71
		} catch (Exception e) {
62 benjamin 72
		}
73
 
74
		motsClefs.setText(motsClefsConcatenes);
148 benjamin 75
		nomAuteur.setText(image.getObservation().getAuteur());
76
		imagePrincipale.setUrl(image.getUrl());
77
		dateObservation.setText(image.getObservation().getDate());
78
		famille.setText(image.getObservation().getFamille());
62 benjamin 79
		validateurs.setText(validateursConcatenes);
50 benjamin 80
 
284 benjamin 81
		if (dateDerniereValidation != null) {
82
			dateValidation.setText(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(dateDerniereValidation));
83
		}
84
 
50 benjamin 85
	}
86
 
284 benjamin 87
	public void chargerImagesEflore(List<org.tela_botanica.del.client.modeles.Image> observationsEflore, int indexImage) {
50 benjamin 88
 
62 benjamin 89
		if (indexImage >= 0 && indexImage < observationsEflore.size()) {
50 benjamin 90
			currentIndexImages = indexImage;
91
		}
92
 
148 benjamin 93
		org.tela_botanica.del.client.modeles.Image observationEflore = observationsEflore.get(currentIndexImages);
50 benjamin 94
 
352 aurelien 95
		nomEspeceEflore.setText(observationEflore.getObservation().getNomRetenu());
148 benjamin 96
		nomAuteurEflore.setText(observationEflore.getObservation().getAuteur());
50 benjamin 97
		imageEflore.setUrl(observationEflore.getUrl());
148 benjamin 98
		dateObservationEflore.setText(observationEflore.getObservation().getDate());
99
		localiteEflore.setText(observationEflore.getObservation().getLocalite());
50 benjamin 100
 
101
	}
102
 
103
	public void setScrollLeftImage(Image scrollLeftImage) {
104
		this.scrollLeftImage = scrollLeftImage;
105
	}
106
 
107
	public int getCurrentIndexImages() {
108
		return currentIndexImages;
109
	}
110
 
284 benjamin 111
	@Override
112
	public HasClickHandlers getScrollLeftImage() {
113
		return scrollLeftImage;
114
	}
115
 
116
	@Override
117
	public HasClickHandlers getScrollRightImage() {
118
		return scrollRightImage;
119
	}
120
 
50 benjamin 121
}