Subversion Repositories eFlore/Applications.del

Rev

Rev 284 | Rev 360 | 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 = "";
148 benjamin 41
		for (String motClef : image.getObservation().getMotsClefs()) {
62 benjamin 42
			motsClefsConcatenes += motClef + ",";
43
		}
44
		motsClefsConcatenes = motsClefsConcatenes.subSequence(0, motsClefsConcatenes.lastIndexOf(",")).toString();
45
 
46
		// validateurs
47
		String validateursConcatenes = "";
148 benjamin 48
		for (VoteProtocole observationValidation : image.getVoteProtocoles()) {
87 aurelien 49
			validateursConcatenes += observationValidation.getContributeur() + ", ";
62 benjamin 50
		}
284 benjamin 51
		try {
52
			validateursConcatenes = validateursConcatenes.subSequence(0, validateursConcatenes.lastIndexOf(",")).toString();
53
		} catch (Exception e) {
62 benjamin 54
 
284 benjamin 55
		}
56
 
62 benjamin 57
		// date derniere validation
58
		Date dateDerniereValidation = null;
148 benjamin 59
		for (VoteProtocole observationValidation : image.getVoteProtocoles()) {
62 benjamin 60
			if (dateDerniereValidation == null) {
61
				dateDerniereValidation = observationValidation.getDate();
62
			} else if (dateDerniereValidation.before(observationValidation.getDate())) {
63
				dateDerniereValidation = observationValidation.getDate();
64
			}
65
		}
66
 
67
		motsClefs.setText(motsClefsConcatenes);
148 benjamin 68
		nomAuteur.setText(image.getObservation().getAuteur());
69
		imagePrincipale.setUrl(image.getUrl());
70
		dateObservation.setText(image.getObservation().getDate());
71
		famille.setText(image.getObservation().getFamille());
62 benjamin 72
		validateurs.setText(validateursConcatenes);
50 benjamin 73
 
284 benjamin 74
		if (dateDerniereValidation != null) {
75
			dateValidation.setText(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(dateDerniereValidation));
76
		}
77
 
50 benjamin 78
	}
79
 
284 benjamin 80
	public void chargerImagesEflore(List<org.tela_botanica.del.client.modeles.Image> observationsEflore, int indexImage) {
50 benjamin 81
 
62 benjamin 82
		if (indexImage >= 0 && indexImage < observationsEflore.size()) {
50 benjamin 83
			currentIndexImages = indexImage;
84
		}
85
 
148 benjamin 86
		org.tela_botanica.del.client.modeles.Image observationEflore = observationsEflore.get(currentIndexImages);
50 benjamin 87
 
352 aurelien 88
		nomEspeceEflore.setText(observationEflore.getObservation().getNomRetenu());
148 benjamin 89
		nomAuteurEflore.setText(observationEflore.getObservation().getAuteur());
50 benjamin 90
		imageEflore.setUrl(observationEflore.getUrl());
148 benjamin 91
		dateObservationEflore.setText(observationEflore.getObservation().getDate());
92
		localiteEflore.setText(observationEflore.getObservation().getLocalite());
50 benjamin 93
 
94
	}
95
 
96
	public void setScrollLeftImage(Image scrollLeftImage) {
97
		this.scrollLeftImage = scrollLeftImage;
98
	}
99
 
100
	public int getCurrentIndexImages() {
101
		return currentIndexImages;
102
	}
103
 
284 benjamin 104
	@Override
105
	public HasClickHandlers getScrollLeftImage() {
106
		return scrollLeftImage;
107
	}
108
 
109
	@Override
110
	public HasClickHandlers getScrollRightImage() {
111
		return scrollRightImage;
112
	}
113
 
50 benjamin 114
}