Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
50 benjamin 1
package org.tela_botanica.del.client.vues.comparaisoneflore;
2
 
3
import java.util.List;
4
 
1062 benjamin 5
import org.tela_botanica.del.client.i18n.I18n;
6
import org.tela_botanica.del.client.utils.StringUtils;
50 benjamin 7
 
8
import com.google.gwt.core.client.GWT;
284 benjamin 9
import com.google.gwt.event.dom.client.HasClickHandlers;
50 benjamin 10
import com.google.gwt.uibinder.client.UiBinder;
11
import com.google.gwt.uibinder.client.UiField;
12
import com.google.gwt.user.client.ui.Composite;
1062 benjamin 13
import com.google.gwt.user.client.ui.HTMLPanel;
50 benjamin 14
import com.google.gwt.user.client.ui.Image;
15
import com.google.gwt.user.client.ui.Label;
361 benjamin 16
import com.google.gwt.user.client.ui.Panel;
50 benjamin 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);
1062 benjamin 25
	private int currentIndexImages=0;
50 benjamin 26
 
27
	@UiField
1062 benjamin 28
	Label nomAuteur, dateObservation, famille, motsClefs, nomRetenu, nomCommun, localite, milieu, commentaires, nomEspeceEflore, nomAuteurEflore, localiteEflore, dateObservationEflore, texteEflore;
50 benjamin 29
 
30
	@UiField
1062 benjamin 31
	Label nomAuteurTitre, dateObservationTitre, familleTitre, motsClefsTitre, nomRetenuTitre, nomCommunTitre, localiteTitre, milieuTitre, commentairesTitre;
32
 
33
	@UiField
237 gduche 34
	Image imagePrincipale, imageEflore, scrollLeftImage, scrollRightImage;
50 benjamin 35
 
361 benjamin 36
	@UiField
37
	Panel panneauChargement;
38
 
1062 benjamin 39
	@UiField
40
	HTMLPanel formulaireRecherche, metadonneesEflore;
41
 
50 benjamin 42
	public ComparaisonEfloreVue() {
43
		initWidget(uiBinder.createAndBindUi(this));
44
	}
45
 
284 benjamin 46
	public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image) {
50 benjamin 47
 
62 benjamin 48
		// mots clefs
49
		String motsClefsConcatenes = "";
360 benjamin 50
		try {
51
			for (String motClef : image.getObservation().getMotsClefs()) {
52
				motsClefsConcatenes += motClef + ",";
53
			}
54
			motsClefsConcatenes = motsClefsConcatenes.subSequence(0, motsClefsConcatenes.lastIndexOf(",")).toString();
55
		} catch (Exception e) {
56
			// TODO: handle exception
62 benjamin 57
		}
58
 
1062 benjamin 59
		if (StringUtils.checkStringNotNull(motsClefsConcatenes)) {
60
			motsClefs.setText(motsClefsConcatenes);
61
		} else {
62
			motsClefs.setVisible(false);
63
			motsClefsTitre.setVisible(false);
284 benjamin 64
		}
1062 benjamin 65
		if (StringUtils.checkStringNotNull(image.getObservation().getAuteur())) {
66
			nomAuteur.setText(image.getObservation().getAuteur());
67
		} else {
68
			nomAuteur.setVisible(false);
69
			nomAuteurTitre.setVisible(false);
62 benjamin 70
		}
1062 benjamin 71
		if (StringUtils.checkStringNotNull(image.getUrl())) {
72
			imagePrincipale.setUrl(image.getUrl());
284 benjamin 73
		}
1062 benjamin 74
		if (StringUtils.checkStringNotNull(image.getObservation().getDateReleve())) {
75
			dateObservation.setText(image.getObservation().getDateReleve());
76
		} else {
77
			dateObservation.setVisible(false);
78
			dateObservationTitre.setVisible(false);
79
		}
80
		if (StringUtils.checkStringNotNull(image.getObservation().getFamille())) {
81
			famille.setText(image.getObservation().getFamille());
82
		} else {
83
			famille.setVisible(false);
84
			familleTitre.setVisible(false);
85
		}
86
		if (StringUtils.checkStringNotNull(image.getObservation().getNomRetenu())) {
87
			nomRetenu.setText(image.getObservation().getNomRetenu());
88
		} else {
89
			nomRetenu.setVisible(false);
90
			nomRetenuTitre.setVisible(false);
91
		}
92
		if (StringUtils.checkStringNotNull(image.getObservation().getNomCommun())) {
93
			nomCommun.setText(image.getObservation().getNomCommun());
94
		} else {
95
			nomCommun.setVisible(false);
96
			nomCommunTitre.setVisible(false);
97
		}
98
		if (StringUtils.checkStringNotNull(image.getObservation().getLocaliteAvecIdFormatee())) {
99
			localite.setText(image.getObservation().getLocaliteAvecIdFormatee());
100
		} else {
101
			localite.setVisible(false);
102
			localiteTitre.setVisible(false);
103
		}
104
		if (StringUtils.checkStringNotNull(image.getObservation().getMilieu())) {
105
			milieu.setText(image.getObservation().getMilieu());
106
		} else {
107
			milieu.setVisible(false);
108
			milieuTitre.setVisible(false);
109
		}
110
		if (StringUtils.checkStringNotNull(image.getObservation().getCommentaire())) {
111
			commentaires.setText(image.getObservation().getCommentaire());
112
		} else {
113
			commentaires.setVisible(false);
114
			commentairesTitre.setVisible(false);
115
		}
284 benjamin 116
 
50 benjamin 117
	}
118
 
284 benjamin 119
	public void chargerImagesEflore(List<org.tela_botanica.del.client.modeles.Image> observationsEflore, int indexImage) {
50 benjamin 120
 
1062 benjamin 121
		texteEflore.setText(I18n.getVocabulary().imageEflore());
122
 
62 benjamin 123
		if (indexImage >= 0 && indexImage < observationsEflore.size()) {
50 benjamin 124
			currentIndexImages = indexImage;
125
		}
126
 
148 benjamin 127
		org.tela_botanica.del.client.modeles.Image observationEflore = observationsEflore.get(currentIndexImages);
50 benjamin 128
 
352 aurelien 129
		nomEspeceEflore.setText(observationEflore.getObservation().getNomRetenu());
148 benjamin 130
		nomAuteurEflore.setText(observationEflore.getObservation().getAuteur());
50 benjamin 131
		imageEflore.setUrl(observationEflore.getUrl());
449 gduche 132
		dateObservationEflore.setText(observationEflore.getObservation().getDateReleve());
148 benjamin 133
		localiteEflore.setText(observationEflore.getObservation().getLocalite());
1062 benjamin 134
		metadonneesEflore.setVisible(true);
135
		imageEflore.setVisible(true);
50 benjamin 136
 
1062 benjamin 137
		if (observationsEflore.size() > 1) {
138
			scrollLeftImage.setVisible(true);
139
			scrollRightImage.setVisible(true);
140
		}
50 benjamin 141
	}
142
 
143
	public void setScrollLeftImage(Image scrollLeftImage) {
144
		this.scrollLeftImage = scrollLeftImage;
145
	}
146
 
147
	public int getCurrentIndexImages() {
148
		return currentIndexImages;
149
	}
150
 
284 benjamin 151
	@Override
152
	public HasClickHandlers getScrollLeftImage() {
153
		return scrollLeftImage;
154
	}
155
 
156
	@Override
157
	public HasClickHandlers getScrollRightImage() {
158
		return scrollRightImage;
159
	}
160
 
361 benjamin 161
	public void startChargement() {
1062 benjamin 162
		texteEflore.setText(I18n.getVocabulary().chargement());
163
		metadonneesEflore.setVisible(false);
164
		imageEflore.setVisible(false);
165
		scrollLeftImage.setVisible(false);
166
		scrollRightImage.setVisible(false);
361 benjamin 167
		panneauChargement.setVisible(true);
168
	}
169
 
170
	public void stopChargement() {
171
		panneauChargement.setVisible(false);
172
	}
173
 
1062 benjamin 174
	public void afficherAucuneImageTrouvee() {
175
		texteEflore.setText(I18n.getVocabulary().aucunResultat());
176
		scrollLeftImage.setVisible(false);
177
		scrollRightImage.setVisible(false);
178
		panneauChargement.setVisible(false);
179
	}
180
 
361 benjamin 181
	public Label getNomAuteur() {
182
		return nomAuteur;
183
	}
184
 
185
	public Image getImagePrincipale() {
186
		return imagePrincipale;
187
	}
188
 
1062 benjamin 189
	public HTMLPanel getFormulaireRecherche() {
190
		return formulaireRecherche;
191
	}
192
 
193
	public void setCurrentIndexImages(int index){
194
		currentIndexImages=index;
195
	}
50 benjamin 196
}