Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
447 gduche 1
package org.tela_botanica.del.client.composants.metadonnees;
2
 
552 benjamin 3
import org.tela_botanica.del.client.cache.CacheClient;
447 gduche 4
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
552 benjamin 5
import org.tela_botanica.del.client.modeles.InformationsRecherche;
6
import org.tela_botanica.del.client.modeles.ModeRecherche;
447 gduche 7
import org.tela_botanica.del.client.modeles.Observation;
552 benjamin 8
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
9
import org.tela_botanica.del.client.navigation.evenement.detailsimage.EvenementRechercheImage;
10
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation;
477 benjamin 11
 
552 benjamin 12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.event.dom.client.HasClickHandlers;
447 gduche 15
import com.google.gwt.user.client.ui.HasText;
16
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.IsWidget;
18
 
477 benjamin 19
public class MetadonneesPresenteur extends Presenteur {
447 gduche 20
 
21
	public abstract interface Vue extends IsWidget {
22
		public HasText getNomRetenu();
477 benjamin 23
 
552 benjamin 24
		public HasClickHandlers getLienNomRetenu();
25
 
447 gduche 26
		public HasText getNomCommun();
477 benjamin 27
 
447 gduche 28
		public HasText getFamille();
477 benjamin 29
 
447 gduche 30
		public HasText getLocalite();
477 benjamin 31
 
447 gduche 32
		public HasText getLieuDit();
477 benjamin 33
 
447 gduche 34
		public HasText getMilieu();
477 benjamin 35
 
447 gduche 36
		public HasText getCommentaire();
477 benjamin 37
 
447 gduche 38
		public HasText getAuteur();
477 benjamin 39
 
449 gduche 40
		public HasText getDateTransmission();
477 benjamin 41
 
447 gduche 42
		public HasText getMotsClefs();
477 benjamin 43
 
447 gduche 44
		public HasText getNumNomenclatural();
477 benjamin 45
 
449 gduche 46
		public HasText getDateReleve();
552 benjamin 47
 
48
		public HasClickHandlers getLienFamille();
49
 
50
		public HasClickHandlers getLienAuteur();
51
 
52
		public HasClickHandlers getLienDateTransmission();
53
 
54
		public HasClickHandlers getLienDateReleve();
55
 
56
		public HasClickHandlers getLienLocalite();
57
 
58
		public HasClickHandlers getLienMotsClefs();
59
 
60
		public HasClickHandlers getLienNumNomenclatural();
61
 
62
		public HasClickHandlers getLienNomCommun();
63
 
64
		public HasClickHandlers getLienMilieu();
65
 
66
		public HasClickHandlers getLienCommentaire();
570 gduche 67
 
68
		public void masquerChampsVides();
447 gduche 69
	}
477 benjamin 70
 
447 gduche 71
	private Vue vue;
72
	private Observation observation;
552 benjamin 73
	private ModeRecherche modeRecherche;
477 benjamin 74
 
552 benjamin 75
	public MetadonneesPresenteur(Vue vue, Observation observation, ModeRecherche modeRecherche) {
447 gduche 76
		this.vue = vue;
552 benjamin 77
		this.modeRecherche = modeRecherche;
447 gduche 78
		setObservation(observation);
79
	}
477 benjamin 80
 
447 gduche 81
	public void setObservation(Observation observation) {
82
		this.observation = observation;
83
	}
477 benjamin 84
 
447 gduche 85
	public void chargerMetaDonnees() {
86
		vue.getNomRetenu().setText(observation.getNomRetenu());
87
		vue.getNomCommun().setText(observation.getNomCommun());
88
		vue.getFamille().setText(observation.getFamille());
471 aurelien 89
		vue.getLocalite().setText(observation.getLocaliteAvecIdFormatee());
447 gduche 90
		vue.getLieuDit().setText(observation.getLieuDit());
91
		vue.getMilieu().setText(observation.getMilieu());
92
		vue.getCommentaire().setText(observation.getCommentaire());
93
		vue.getAuteur().setText(observation.getAuteur());
449 gduche 94
		vue.getDateTransmission().setText(observation.getDateTransmission());
95
		vue.getDateReleve().setText(observation.getDateReleve());
570 gduche 96
 
97
		vue.masquerChampsVides();
447 gduche 98
	}
477 benjamin 99
 
447 gduche 100
	@Override
101
	public void go(HasWidgets composite) {
477 benjamin 102
		composite.add(vue.asWidget());
447 gduche 103
		chargerMetaDonnees();
552 benjamin 104
		gererEvenements();
447 gduche 105
	}
106
 
107
	@Override
108
	protected void gererEvenements() {
477 benjamin 109
 
552 benjamin 110
		vue.getLienAuteur().addClickHandler(new ClickHandler() {
111
 
112
			@Override
113
			public void onClick(ClickEvent arg0) {
114
				InformationsRecherche informationsRecherche = new InformationsRecherche();
115
				informationsRecherche.setAuteur(vue.getAuteur().getText());
116
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
117
			}
118
		});
119
 
120
		vue.getLienDateReleve().addClickHandler(new ClickHandler() {
121
 
122
			@Override
123
			public void onClick(ClickEvent arg0) {
124
				InformationsRecherche informationsRecherche = new InformationsRecherche();
125
				informationsRecherche.setDate(vue.getDateReleve().getText());
126
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
127
			}
128
		});
129
 
130
		vue.getLienDateTransmission().addClickHandler(new ClickHandler() {
131
 
132
			@Override
133
			public void onClick(ClickEvent arg0) {
134
				InformationsRecherche informationsRecherche = new InformationsRecherche();
135
				informationsRecherche.setDate(vue.getDateReleve().getText());
136
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
137
			}
138
		});
139
 
140
		vue.getLienFamille().addClickHandler(new ClickHandler() {
141
 
142
			@Override
143
			public void onClick(ClickEvent arg0) {
144
				InformationsRecherche informationsRecherche = new InformationsRecherche();
145
				informationsRecherche.setFamille(vue.getFamille().getText());
146
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
147
			}
148
		});
149
 
150
		vue.getLienLocalite().addClickHandler(new ClickHandler() {
151
 
152
			@Override
153
			public void onClick(ClickEvent arg0) {
154
				InformationsRecherche informationsRecherche = new InformationsRecherche();
155
				informationsRecherche.setCommune(vue.getLocalite().getText());
156
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
157
			}
158
		});
159
 
160
		vue.getLienMotsClefs().addClickHandler(new ClickHandler() {
161
 
162
			@Override
163
			public void onClick(ClickEvent arg0) {
164
				InformationsRecherche informationsRecherche = new InformationsRecherche();
165
				informationsRecherche.setMotClef(vue.getMotsClefs().getText());
166
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
167
			}
168
		});
169
 
170
		vue.getLienNomCommun().addClickHandler(new ClickHandler() {
171
 
172
			@Override
173
			public void onClick(ClickEvent arg0) {
174
				InformationsRecherche informationsRecherche = new InformationsRecherche();
175
				informationsRecherche.setRechercheLibre(vue.getNomCommun().getText());
176
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
177
			}
178
		});
179
 
180
		vue.getLienNomRetenu().addClickHandler(new ClickHandler() {
181
 
182
			@Override
183
			public void onClick(ClickEvent arg0) {
184
				InformationsRecherche informationsRecherche = new InformationsRecherche();
185
				informationsRecherche.setRechercheLibre(vue.getNomRetenu().getText());
186
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
187
			}
188
		});
189
 
190
		vue.getLienMilieu().addClickHandler(new ClickHandler() {
191
 
192
			@Override
193
			public void onClick(ClickEvent arg0) {
194
				InformationsRecherche informationsRecherche = new InformationsRecherche();
195
				informationsRecherche.setRechercheLibre(vue.getMilieu().getText());
196
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
197
			}
198
		});
199
 
200
		vue.getLienCommentaire().addClickHandler(new ClickHandler() {
201
 
202
			@Override
203
			public void onClick(ClickEvent arg0) {
204
				InformationsRecherche informationsRecherche = new InformationsRecherche();
205
				informationsRecherche.setRechercheLibre(vue.getCommentaire().getText());
206
				setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
207
			}
208
		});
209
 
447 gduche 210
	}
552 benjamin 211
 
212
	public void setInfosRechercheEnCacheEtLancerEvenement(InformationsRecherche informationsRecherche) {
560 benjamin 213
 
552 benjamin 214
		switch (modeRecherche) {
215
		case MODE_IMAGE:
560 benjamin 216
			CacheClient.getInstance().setPageCouranteRechercheImages(1);
552 benjamin 217
			CacheClient.getInstance().setInformationsRechercheImage(informationsRecherche);
218
			BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage());
219
			break;
220
 
221
		case MODE_OBSERVATION:
560 benjamin 222
			CacheClient.getInstance().setPageCouranteRechercheObservations(1);
552 benjamin 223
			CacheClient.getInstance().setInformationsRechercheObservation(informationsRecherche);
224
			BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation());
225
 
226
		default:
227
			break;
228
		}
229
 
230
	}
447 gduche 231
}