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
		}
1069 benjamin 116
 
117
 
284 benjamin 118
 
50 benjamin 119
	}
120
 
284 benjamin 121
	public void chargerImagesEflore(List<org.tela_botanica.del.client.modeles.Image> observationsEflore, int indexImage) {
50 benjamin 122
 
1062 benjamin 123
		texteEflore.setText(I18n.getVocabulary().imageEflore());
124
 
62 benjamin 125
		if (indexImage >= 0 && indexImage < observationsEflore.size()) {
50 benjamin 126
			currentIndexImages = indexImage;
127
		}
128
 
148 benjamin 129
		org.tela_botanica.del.client.modeles.Image observationEflore = observationsEflore.get(currentIndexImages);
50 benjamin 130
 
352 aurelien 131
		nomEspeceEflore.setText(observationEflore.getObservation().getNomRetenu());
148 benjamin 132
		nomAuteurEflore.setText(observationEflore.getObservation().getAuteur());
50 benjamin 133
		imageEflore.setUrl(observationEflore.getUrl());
449 gduche 134
		dateObservationEflore.setText(observationEflore.getObservation().getDateReleve());
148 benjamin 135
		localiteEflore.setText(observationEflore.getObservation().getLocalite());
1062 benjamin 136
		metadonneesEflore.setVisible(true);
137
		imageEflore.setVisible(true);
50 benjamin 138
 
1062 benjamin 139
		if (observationsEflore.size() > 1) {
140
			scrollLeftImage.setVisible(true);
141
			scrollRightImage.setVisible(true);
142
		}
50 benjamin 143
	}
144
 
145
	public void setScrollLeftImage(Image scrollLeftImage) {
146
		this.scrollLeftImage = scrollLeftImage;
147
	}
148
 
149
	public int getCurrentIndexImages() {
150
		return currentIndexImages;
151
	}
152
 
284 benjamin 153
	@Override
154
	public HasClickHandlers getScrollLeftImage() {
155
		return scrollLeftImage;
156
	}
157
 
158
	@Override
159
	public HasClickHandlers getScrollRightImage() {
160
		return scrollRightImage;
161
	}
162
 
361 benjamin 163
	public void startChargement() {
1062 benjamin 164
		texteEflore.setText(I18n.getVocabulary().chargement());
165
		metadonneesEflore.setVisible(false);
166
		imageEflore.setVisible(false);
167
		scrollLeftImage.setVisible(false);
168
		scrollRightImage.setVisible(false);
361 benjamin 169
		panneauChargement.setVisible(true);
170
	}
171
 
172
	public void stopChargement() {
173
		panneauChargement.setVisible(false);
174
	}
175
 
1062 benjamin 176
	public void afficherAucuneImageTrouvee() {
177
		texteEflore.setText(I18n.getVocabulary().aucunResultat());
178
		scrollLeftImage.setVisible(false);
179
		scrollRightImage.setVisible(false);
180
		panneauChargement.setVisible(false);
181
	}
182
 
361 benjamin 183
	public Label getNomAuteur() {
184
		return nomAuteur;
185
	}
186
 
187
	public Image getImagePrincipale() {
188
		return imagePrincipale;
189
	}
190
 
1062 benjamin 191
	public HTMLPanel getFormulaireRecherche() {
192
		return formulaireRecherche;
193
	}
194
 
195
	public void setCurrentIndexImages(int index){
196
		currentIndexImages=index;
197
	}
1069 benjamin 198
 
199
	public Image getImageEflore() {
200
		return imageEflore;
201
	}
50 benjamin 202
}