Subversion Repositories eFlore/Applications.del

Rev

Rev 1934 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1934 Rev 1963
1
package org.tela_botanica.del.client.vues.pictoflora.resultats;
1
package org.tela_botanica.del.client.vues.pictoflora.resultats;
2
 
2
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
6
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
8
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.Image;
9
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
9
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
10
import org.tela_botanica.del.client.modeles.InformationsRecherche;
10
import org.tela_botanica.del.client.modeles.InformationsRecherche;
11
import org.tela_botanica.del.client.modeles.ModeTri;
11
import org.tela_botanica.del.client.modeles.ModeTri;
12
import org.tela_botanica.del.client.modeles.Protocole;
12
import org.tela_botanica.del.client.modeles.Protocole;
13
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
13
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
14
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
14
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
15
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
15
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
16
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
16
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
17
import org.tela_botanica.del.client.services.rest.ImageService;
17
import org.tela_botanica.del.client.services.rest.ImageService;
18
import org.tela_botanica.del.client.services.rest.ProtocoleService;
18
import org.tela_botanica.del.client.services.rest.ProtocoleService;
19
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
19
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
20
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
20
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
21
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImagePresenteur;
21
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImagePresenteur;
22
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImageVue;
22
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImageVue;
23
 
23
 
24
import com.google.gwt.core.shared.GWT;
24
import com.google.gwt.core.shared.GWT;
25
import com.google.gwt.dom.client.NodeList;
25
import com.google.gwt.dom.client.NodeList;
26
import com.google.gwt.dom.client.OptionElement;
26
import com.google.gwt.dom.client.OptionElement;
27
import com.google.gwt.dom.client.SelectElement;
27
import com.google.gwt.dom.client.SelectElement;
28
import com.google.gwt.event.dom.client.ChangeEvent;
28
import com.google.gwt.event.dom.client.ChangeEvent;
29
import com.google.gwt.event.dom.client.ChangeHandler;
29
import com.google.gwt.event.dom.client.ChangeHandler;
30
import com.google.gwt.event.dom.client.ClickEvent;
30
import com.google.gwt.event.dom.client.ClickEvent;
31
import com.google.gwt.event.dom.client.ClickHandler;
31
import com.google.gwt.event.dom.client.ClickHandler;
32
import com.google.gwt.event.dom.client.HasChangeHandlers;
32
import com.google.gwt.event.dom.client.HasChangeHandlers;
33
import com.google.gwt.event.dom.client.HasClickHandlers;
33
import com.google.gwt.event.dom.client.HasClickHandlers;
34
import com.google.gwt.user.client.Window;
34
import com.google.gwt.user.client.Window;
35
import com.google.gwt.user.client.ui.HTMLPanel;
35
import com.google.gwt.user.client.ui.HTMLPanel;
36
import com.google.gwt.user.client.ui.HasWidgets;
36
import com.google.gwt.user.client.ui.HasWidgets;
37
import com.google.gwt.user.client.ui.IsWidget;
37
import com.google.gwt.user.client.ui.IsWidget;
38
import com.google.gwt.user.client.ui.ListBox;
38
import com.google.gwt.user.client.ui.ListBox;
39
 
39
 
40
public class ResultatPictofloraPresenteur {
40
public class ResultatPictofloraPresenteur {
41
	public interface Vue extends IsWidget {
41
	public interface Vue extends IsWidget {
42
		
42
		
43
		
43
		
44
		public void startChargement();
44
		public void startChargement();
45
 
45
 
46
		public void nettoyer();
46
		public void nettoyer();
47
 
47
 
48
		public void creerPanneauxObservations(int size);
48
		public void creerPanneauxObservations(int size);
49
 
49
 
50
		public void stopChargement();
50
		public void stopChargement();
51
 
51
 
52
		public List<HasWidgets> getPanneauxImages();
52
		public List<HasWidgets> getPanneauxImages();
53
 
53
 
54
		public HasWidgets getPanneauPagination();
54
		public HasWidgets getPanneauPagination();
55
 
55
 
56
		public HasWidgets getPanneauPaginationHaut();
56
		public HasWidgets getPanneauPaginationHaut();
57
 
57
 
58
		public HasClickHandlers getTriParMoyenneArithmetiqueAscendant();
58
		public HasClickHandlers getTriParMoyenneArithmetiqueAscendant();
59
 
59
 
60
		public HasClickHandlers getTriParMoyenneArithmetiqueDescendant();
60
		public HasClickHandlers getTriParMoyenneArithmetiqueDescendant();
61
 
61
 
62
		public HasClickHandlers getTriParPointsAscendant();
62
		public HasClickHandlers getTriParPointsAscendant();
63
 
63
 
64
		public HasClickHandlers getTriParPointsDescendant();
64
		public HasClickHandlers getTriParPointsDescendant();
65
 
65
 
66
		public HasClickHandlers getTriParDateAscendant();
66
		public HasClickHandlers getTriParDateAscendant();
67
 
67
 
68
		public HasClickHandlers getTriParDateDescendant();
68
		public HasClickHandlers getTriParDateDescendant();
69
		
69
		
70
		public HasClickHandlers getTriParNbTagsAscendant();
70
		public HasClickHandlers getTriParNbTagsAscendant();
71
 
71
 
72
		public HasClickHandlers getTriParNbTagsDescendant();
72
		public HasClickHandlers getTriParNbTagsDescendant();
73
 
73
 
74
		public void afficherElementsAucunResultatTrouve();
74
		public void afficherElementsAucunResultatTrouve();
75
 
75
 
76
		public void afficherElementsResultatsTrouve();
76
		public void afficherElementsResultatsTrouve();
77
 
77
 
78
		public HTMLPanel getImageTable();
78
		public HTMLPanel getImageTable();
79
 
79
 
80
		public HasClickHandlers getLabelMoyenneArithmetique();
80
		public HasClickHandlers getLabelMoyenneArithmetique();
81
 
81
 
82
		public void masquerMoyenneArithmetiqueAscendant();
82
		public void masquerMoyenneArithmetiqueAscendant();
83
 
83
 
84
		public void masquerMoyenneArithmetiqueDescendant();
84
		public void masquerMoyenneArithmetiqueDescendant();
85
 
85
 
86
		public void afficherMoyenneArithmetiqueAscendant();
86
		public void afficherMoyenneArithmetiqueAscendant();
87
 
87
 
88
		public void afficherMoyenneArithmetiqueDescendant();
88
		public void afficherMoyenneArithmetiqueDescendant();
89
 
89
 
90
		public HasClickHandlers getLabelDate();
90
		public HasClickHandlers getLabelDate();
91
 
91
 
92
		public void masquerDateAscendant();
92
		public void masquerDateAscendant();
93
 
93
 
94
		public void masquerDateDescendant();
94
		public void masquerDateDescendant();
95
 
95
 
96
		public void afficherDateAscendant();
96
		public void afficherDateAscendant();
97
 
97
 
98
		public void afficherDateDescendant();
98
		public void afficherDateDescendant();
99
	
99
	
100
		public HasClickHandlers getLabelTag();
100
		public HasClickHandlers getLabelTag();
101
 
101
 
102
		public void masquerTagAscendant();
102
		public void masquerTagAscendant();
103
 
103
 
104
		public void afficherTagDescendant();
104
		public void afficherTagDescendant();
105
 
105
 
106
		public void masquerTagDescendant();
106
		public void masquerTagDescendant();
107
 
107
 
108
		public void afficherTagAscendant();
108
		public void afficherTagAscendant();
109
 
109
 
110
		public HasClickHandlers getLabelPoints();
110
		public HasClickHandlers getLabelPoints();
111
 
111
 
112
		public void afficherPointsAscendant();
112
		public void afficherPointsAscendant();
113
 
113
 
114
		public void afficherPointsDescendant();
114
		public void afficherPointsDescendant();
115
 
115
 
116
		public void masquerPointsAscendant();
116
		public void masquerPointsAscendant();
117
 
117
 
118
		public void masquerPointsDescendant();
118
		public void masquerPointsDescendant();
119
 
119
 
120
	}
120
	}
121
 
121
 
122
	private Vue vue;
122
	private Vue vue;
123
	private ImageService imageService;
123
	private ImageService imageService;
124
	private final ProtocoleService protocoleService;
-
 
125
	private ModeTri triCourantMoyenneArithmetique = ModeTri.TRI_ASCENDANT;
124
	private ModeTri triCourantMoyenneArithmetique = ModeTri.TRI_ASCENDANT;
126
	private ModeTri triCourantPoints = ModeTri.TRI_ASCENDANT;
125
	private ModeTri triCourantPoints = ModeTri.TRI_ASCENDANT;
127
	private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
126
	private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
128
	private ModeTri triCourantTag = ModeTri.TRI_DESCENDANT;
127
	private ModeTri triCourantTag = ModeTri.TRI_DESCENDANT;
129
 
128
 
130
	public ResultatPictofloraPresenteur(ImageService imageService, ProtocoleService protocoleService, Vue vue) {
129
	public ResultatPictofloraPresenteur(ImageService imageService, ProtocoleService protocoleService, Vue vue) {
131
		this.vue = vue;
130
		this.vue = vue;
132
		this.imageService = imageService;
131
		this.imageService = imageService;
133
		this.protocoleService=protocoleService;
-
 
134
	}
132
	}
135
 
133
 
136
	public void go(HasWidgets composite) {
134
	public void go(HasWidgets composite) {
137
		composite.add(vue.asWidget());
135
		composite.add(vue.asWidget());
138
		vue.startChargement();
136
		vue.startChargement();
139
		rechercherImagesEtCreerWidgetPagination();
137
		rechercherImagesEtCreerWidgetPagination();
140
		gererEvenements();
138
		gererEvenements();
141
		vue.masquerMoyenneArithmetiqueDescendant();
139
		vue.masquerMoyenneArithmetiqueDescendant();
142
		vue.masquerMoyenneArithmetiqueAscendant();
140
		vue.masquerMoyenneArithmetiqueAscendant();
143
		vue.masquerDateDescendant();
141
		vue.masquerDateDescendant();
144
		vue.masquerDateAscendant();
142
		vue.masquerDateAscendant();
145
		vue.masquerTagAscendant();
143
		vue.masquerTagAscendant();
146
		vue.masquerTagDescendant();
144
		vue.masquerTagDescendant();
147
		vue.masquerPointsAscendant();
145
		vue.masquerPointsAscendant();
148
		vue.masquerPointsDescendant();
146
		vue.masquerPointsDescendant();
149
		
147
		
150
		initialiserAPartirInfosCache();
148
		initialiserAPartirInfosCache();
151
	}
149
	}
152
	
150
	
153
	private void initialiserAPartirInfosCache() {
151
	private void initialiserAPartirInfosCache() {
154
		InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheImage();
152
		InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheImage();
155
		if (infos.getTriParDatePublication() != ModeTri.PAS_DE_TRI) {
153
		if (infos.getTriParDatePublication() != ModeTri.PAS_DE_TRI) {
156
			triCourantDate = infos.getTriParDatePublication();
154
			triCourantDate = infos.getTriParDatePublication();
157
			mettreAJourAffichageTriDate();
155
			mettreAJourAffichageTriDate();
158
		}
156
		}
159
		
157
		
160
		if (infos.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) {
158
		if (infos.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) {
161
			triCourantMoyenneArithmetique = infos.getTriParMoyenneArithmetique();
159
			triCourantMoyenneArithmetique = infos.getTriParMoyenneArithmetique();
162
			mettreAJourAffichageTriMoyenneArithmetique();
160
			mettreAJourAffichageTriMoyenneArithmetique();
163
		}
161
		}
164
		
162
		
165
		if (infos.getTriParNbPoints() != ModeTri.PAS_DE_TRI) {
163
		if (infos.getTriParNbPoints() != ModeTri.PAS_DE_TRI) {
166
			triCourantPoints = infos.getTriParNbPoints();
164
			triCourantPoints = infos.getTriParNbPoints();
167
			mettreAJourAffichageTriPoints();
165
			mettreAJourAffichageTriPoints();
168
		}
166
		}
169
		
167
		
170
		if (infos.getTriParNbTags() != ModeTri.PAS_DE_TRI) {
168
		if (infos.getTriParNbTags() != ModeTri.PAS_DE_TRI) {
171
			triCourantTag = infos.getTriParNbTags();
169
			triCourantTag = infos.getTriParNbTags();
172
			mettreAjourAffichageTriTag();
170
			mettreAjourAffichageTriTag();
173
		}
171
		}
174
	}
172
	}
175
 
173
 
176
	public void gererEvenements() {
174
	public void gererEvenements() {
177
		ClickHandler surClicTriMoyenneArithmetique = new ClickHandler() {
175
		ClickHandler surClicTriMoyenneArithmetique = new ClickHandler() {
178
			@Override
176
			@Override
179
			public void onClick(ClickEvent event) {
177
			public void onClick(ClickEvent event) {
180
				surClicTriMoyenneArithmetique();
178
				surClicTriMoyenneArithmetique();
181
			}
179
			}
182
		};
180
		};
183
 
181
 
184
		vue.getLabelMoyenneArithmetique().addClickHandler(surClicTriMoyenneArithmetique);
182
		vue.getLabelMoyenneArithmetique().addClickHandler(surClicTriMoyenneArithmetique);
185
		vue.getTriParMoyenneArithmetiqueAscendant().addClickHandler(surClicTriMoyenneArithmetique);
183
		vue.getTriParMoyenneArithmetiqueAscendant().addClickHandler(surClicTriMoyenneArithmetique);
186
		vue.getTriParMoyenneArithmetiqueDescendant().addClickHandler(surClicTriMoyenneArithmetique);
184
		vue.getTriParMoyenneArithmetiqueDescendant().addClickHandler(surClicTriMoyenneArithmetique);
187
 
185
 
188
		ClickHandler surClicTriPoints = new ClickHandler() {
186
		ClickHandler surClicTriPoints = new ClickHandler() {
189
			@Override
187
			@Override
190
			public void onClick(ClickEvent event) {
188
			public void onClick(ClickEvent event) {
191
				surClicTriPoints();
189
				surClicTriPoints();
192
			}
190
			}
193
		};
191
		};
194
 
192
 
195
		vue.getLabelPoints().addClickHandler(surClicTriPoints);
193
		vue.getLabelPoints().addClickHandler(surClicTriPoints);
196
		vue.getTriParPointsAscendant().addClickHandler(surClicTriPoints);
194
		vue.getTriParPointsAscendant().addClickHandler(surClicTriPoints);
197
		vue.getTriParPointsDescendant().addClickHandler(surClicTriPoints);
195
		vue.getTriParPointsDescendant().addClickHandler(surClicTriPoints);
198
 
196
 
199
		ClickHandler surClicTriDate = new ClickHandler() {
197
		ClickHandler surClicTriDate = new ClickHandler() {
200
			@Override
198
			@Override
201
			public void onClick(ClickEvent event) {
199
			public void onClick(ClickEvent event) {
202
				surClicTriDate();
200
				surClicTriDate();
203
			}
201
			}
204
		};
202
		};
205
 
203
 
206
		vue.getLabelDate().addClickHandler(surClicTriDate);
204
		vue.getLabelDate().addClickHandler(surClicTriDate);
207
		vue.getTriParDateAscendant().addClickHandler(surClicTriDate);
205
		vue.getTriParDateAscendant().addClickHandler(surClicTriDate);
208
		vue.getTriParDateDescendant().addClickHandler(surClicTriDate);
206
		vue.getTriParDateDescendant().addClickHandler(surClicTriDate);
209
		
207
		
210
		ClickHandler surClicTriTag = new ClickHandler() {
208
		ClickHandler surClicTriTag = new ClickHandler() {
211
			@Override
209
			@Override
212
			public void onClick(ClickEvent event) {
210
			public void onClick(ClickEvent event) {
213
				surClicTriTag();
211
				surClicTriTag();
214
			}
212
			}
215
		};
213
		};
216
		
214
		
217
		vue.getLabelTag().addClickHandler(surClicTriTag);
215
		vue.getLabelTag().addClickHandler(surClicTriTag);
218
		vue.getTriParNbTagsAscendant().addClickHandler(surClicTriTag);
216
		vue.getTriParNbTagsAscendant().addClickHandler(surClicTriTag);
219
		vue.getTriParNbTagsDescendant().addClickHandler(surClicTriTag);
217
		vue.getTriParNbTagsDescendant().addClickHandler(surClicTriTag);
220
 
218
 
221
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
219
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
222
			@Override
220
			@Override
223
			public void onChangementProtocole(EvenementChangementProtocole event) {
221
			public void onChangementProtocole(EvenementChangementProtocole event) {
224
				InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
222
				InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
225
				if (informationsRechercheImages.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) {
223
				if (informationsRechercheImages.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) {
226
					informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId() + "");
224
					informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId() + "");
227
					chargerEtAfficherImagesPageEnCours();
225
					chargerEtAfficherImagesPageEnCours();
228
				}
226
				}
229
			}
227
			}
230
		});
228
		});
231
	}
229
	}
232
 
230
 
233
	protected void surClicTriTag() {
231
	protected void surClicTriTag() {
234
		triCourantTag = (triCourantTag == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
232
		triCourantTag = (triCourantTag == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
235
		mettreAjourAffichageTriTag();
233
		mettreAjourAffichageTriTag();
236
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
234
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
237
		informationsRechercheImages.setTriParNbTags(triCourantTag);
235
		informationsRechercheImages.setTriParNbTags(triCourantTag);
238
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
236
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
239
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
237
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
240
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
238
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
241
		chargerEtAfficherImagesPageEnCours();
239
		chargerEtAfficherImagesPageEnCours();
242
	}
240
	}
243
	
241
	
244
	private void mettreAjourAffichageTriTag() {
242
	private void mettreAjourAffichageTriTag() {
245
		vue.masquerDateDescendant();
243
		vue.masquerDateDescendant();
246
		vue.masquerDateAscendant();
244
		vue.masquerDateAscendant();
247
		vue.masquerMoyenneArithmetiqueDescendant();
245
		vue.masquerMoyenneArithmetiqueDescendant();
248
		vue.masquerMoyenneArithmetiqueAscendant();
246
		vue.masquerMoyenneArithmetiqueAscendant();
249
		vue.masquerPointsAscendant();
247
		vue.masquerPointsAscendant();
250
		vue.masquerPointsDescendant();
248
		vue.masquerPointsDescendant();
251
		if (triCourantTag == ModeTri.TRI_ASCENDANT) {
249
		if (triCourantTag == ModeTri.TRI_ASCENDANT) {
252
			vue.masquerTagDescendant();
250
			vue.masquerTagDescendant();
253
			vue.afficherTagAscendant();
251
			vue.afficherTagAscendant();
254
		} else {
252
		} else {
255
			vue.masquerTagAscendant();
253
			vue.masquerTagAscendant();
256
			vue.afficherTagDescendant();
254
			vue.afficherTagDescendant();
257
		}
255
		}
258
	}
256
	}
259
 
257
 
260
	public void surClicTriMoyenneArithmetique() {
258
	public void surClicTriMoyenneArithmetique() {
261
		triCourantMoyenneArithmetique = (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
259
		triCourantMoyenneArithmetique = (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
262
		mettreAJourAffichageTriMoyenneArithmetique();
260
		mettreAJourAffichageTriMoyenneArithmetique();
263
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
261
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
264
		int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
262
		int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
265
		informationsRechercheImages.setTriParMoyenneArithmetique(triCourantMoyenneArithmetique);
263
		informationsRechercheImages.setTriParMoyenneArithmetique(triCourantMoyenneArithmetique);
266
		informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + "");
264
		informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + "");
267
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
265
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
268
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
266
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
269
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
267
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
270
		chargerEtAfficherImagesPageEnCours();
268
		chargerEtAfficherImagesPageEnCours();
271
	}
269
	}
272
	
270
	
273
	private void mettreAJourAffichageTriMoyenneArithmetique() {
271
	private void mettreAJourAffichageTriMoyenneArithmetique() {
274
		vue.masquerDateDescendant();
272
		vue.masquerDateDescendant();
275
		vue.masquerDateAscendant();
273
		vue.masquerDateAscendant();
276
		vue.masquerTagAscendant();
274
		vue.masquerTagAscendant();
277
		vue.masquerTagDescendant();
275
		vue.masquerTagDescendant();
278
		vue.masquerPointsAscendant();
276
		vue.masquerPointsAscendant();
279
		vue.masquerPointsDescendant();
277
		vue.masquerPointsDescendant();
280
		if (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) {
278
		if (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) {
281
			vue.masquerMoyenneArithmetiqueDescendant();
279
			vue.masquerMoyenneArithmetiqueDescendant();
282
			vue.afficherMoyenneArithmetiqueAscendant();
280
			vue.afficherMoyenneArithmetiqueAscendant();
283
		} else {
281
		} else {
284
			vue.masquerMoyenneArithmetiqueAscendant();
282
			vue.masquerMoyenneArithmetiqueAscendant();
285
			vue.afficherMoyenneArithmetiqueDescendant();
283
			vue.afficherMoyenneArithmetiqueDescendant();
286
		}
284
		}
287
	}
285
	}
288
 
286
 
289
	public void surClicTriPoints() {
287
	public void surClicTriPoints() {
290
		triCourantPoints = (triCourantPoints == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
288
		triCourantPoints = (triCourantPoints == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
291
		mettreAJourAffichageTriPoints();
289
		mettreAJourAffichageTriPoints();
292
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
290
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
293
		int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
291
		int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
294
		informationsRechercheImages.setTriParNbPoints(triCourantPoints);
292
		informationsRechercheImages.setTriParNbPoints(triCourantPoints);
295
		informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + "");
293
		informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + "");
296
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
294
		informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI);
297
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
295
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
298
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
296
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
299
		chargerEtAfficherImagesPageEnCours();
297
		chargerEtAfficherImagesPageEnCours();
300
	}
298
	}
301
	
299
	
302
	private void mettreAJourAffichageTriPoints() {
300
	private void mettreAJourAffichageTriPoints() {
303
		vue.masquerDateDescendant();
301
		vue.masquerDateDescendant();
304
		vue.masquerDateAscendant();
302
		vue.masquerDateAscendant();
305
		vue.masquerTagAscendant();
303
		vue.masquerTagAscendant();
306
		vue.masquerTagDescendant();
304
		vue.masquerTagDescendant();
307
		vue.masquerMoyenneArithmetiqueAscendant();
305
		vue.masquerMoyenneArithmetiqueAscendant();
308
		vue.masquerMoyenneArithmetiqueDescendant();
306
		vue.masquerMoyenneArithmetiqueDescendant();
309
		if (triCourantPoints == ModeTri.TRI_ASCENDANT) {
307
		if (triCourantPoints == ModeTri.TRI_ASCENDANT) {
310
			vue.masquerPointsDescendant();
308
			vue.masquerPointsDescendant();
311
			vue.afficherPointsAscendant();
309
			vue.afficherPointsAscendant();
312
		} else {
310
		} else {
313
			vue.masquerPointsAscendant();
311
			vue.masquerPointsAscendant();
314
			vue.afficherPointsDescendant();
312
			vue.afficherPointsDescendant();
315
		}
313
		}
316
	}
314
	}
317
 
315
 
318
	public void surClicTriDate() {
316
	public void surClicTriDate() {
319
		triCourantDate = (triCourantDate == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
317
		triCourantDate = (triCourantDate == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT;
320
		mettreAJourAffichageTriDate();
318
		mettreAJourAffichageTriDate();
321
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
319
		InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
322
		informationsRechercheImages.setTriParDatePublication(triCourantDate);
320
		informationsRechercheImages.setTriParDatePublication(triCourantDate);
323
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
321
		informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI);
324
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
322
		informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI);
325
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
323
		informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI);
326
		chargerEtAfficherImagesPageEnCours();
324
		chargerEtAfficherImagesPageEnCours();
327
	}
325
	}
328
	
326
	
329
	private void mettreAJourAffichageTriDate() {
327
	private void mettreAJourAffichageTriDate() {
330
		vue.masquerTagAscendant();
328
		vue.masquerTagAscendant();
331
		vue.masquerTagDescendant();
329
		vue.masquerTagDescendant();
332
		vue.masquerMoyenneArithmetiqueDescendant();
330
		vue.masquerMoyenneArithmetiqueDescendant();
333
		vue.masquerMoyenneArithmetiqueAscendant();
331
		vue.masquerMoyenneArithmetiqueAscendant();
334
		vue.masquerPointsAscendant();
332
		vue.masquerPointsAscendant();
335
		vue.masquerPointsDescendant();
333
		vue.masquerPointsDescendant();
336
		if (triCourantDate == ModeTri.TRI_ASCENDANT) {
334
		if (triCourantDate == ModeTri.TRI_ASCENDANT) {
337
			vue.masquerDateDescendant();
335
			vue.masquerDateDescendant();
338
			vue.afficherDateAscendant();
336
			vue.afficherDateAscendant();
339
		} else {
337
		} else {
340
			vue.masquerDateAscendant();
338
			vue.masquerDateAscendant();
341
			vue.afficherDateDescendant();
339
			vue.afficherDateDescendant();
342
		}
340
		}
343
	}
341
	}
344
 
342
 
345
	public void rechercherImagesEtCreerWidgetPagination() {
343
	public void rechercherImagesEtCreerWidgetPagination() {
346
		// appel du service d'image pour avoir le nb total d'elements pour la
344
		// appel du service d'image pour avoir le nb total d'elements pour la
347
		// pagination
345
		// pagination
348
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
346
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
349
 
347
 
350
			@Override
348
			@Override
351
			public void surRetour(ImageServiceResultat imagesRecues) {
349
			public void surRetour(ImageServiceResultat imagesRecues) {
352
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
350
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
353
				afficherImages(imagesRecues);
351
				afficherImages(imagesRecues);
354
 
352
 
355
			}
353
			}
356
 
354
 
357
			@Override
355
			@Override
358
			public void surErreur(String messageErreur) {
356
			public void surErreur(String messageErreur) {
359
				Window.alert(messageErreur);
357
				Window.alert(messageErreur);
360
 
358
 
361
			}
359
			}
362
		};
360
		};
363
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
361
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
364
		final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
362
		final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
365
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), debut, fin, callback);
363
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), debut, fin, callback);
366
	}
364
	}
367
 
365
 
368
	private void chargerEtAfficherImages(final int premier, final int dernier) {
366
	private void chargerEtAfficherImages(final int premier, final int dernier) {
369
		vue.startChargement();
367
		vue.startChargement();
370
		vue.nettoyer();
368
		vue.nettoyer();
371
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
369
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
372
 
370
 
373
			@Override
371
			@Override
374
			public void surRetour(ImageServiceResultat imagesRecues) {
372
			public void surRetour(ImageServiceResultat imagesRecues) {
375
				afficherImages(imagesRecues);
373
				afficherImages(imagesRecues);
376
			}
374
			}
377
 
375
 
378
			@Override
376
			@Override
379
			public void surErreur(String messageErreur) {
377
			public void surErreur(String messageErreur) {
380
				Window.alert(messageErreur);
378
				Window.alert(messageErreur);
381
			}
379
			}
382
 
380
 
383
		};
381
		};
384
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
382
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
385
	}
383
	}
386
 
384
 
387
	public void afficherImages(ImageServiceResultat imageServiceResult) {
385
	public void afficherImages(ImageServiceResultat imageServiceResult) {
388
		List<Image> images = imageServiceResult.getImages();
386
		List<Image> images = imageServiceResult.getImages();
389
		if (images == null || images.size() == 0) {
387
		if (images == null || images.size() == 0) {
390
			vue.afficherElementsAucunResultatTrouve();
388
			vue.afficherElementsAucunResultatTrouve();
391
		} else {
389
		} else {
392
			vue.afficherElementsResultatsTrouve();
390
			vue.afficherElementsResultatsTrouve();
393
			for (Image image : images) {
391
			for (Image image : images) {
394
				ImagePresenteur imagePresenteur = new ImagePresenteur(image, imageService, CacheClient.getInstance().getProtocoleCourant(), new ImageVue());
392
				ImagePresenteur imagePresenteur = new ImagePresenteur(image, imageService, CacheClient.getInstance().getProtocoleCourant(), new ImageVue());
395
				imagePresenteur.go(vue.getImageTable());
393
				imagePresenteur.go(vue.getImageTable());
396
			}
394
			}
397
		}
395
		}
398
		CacheClient.getInstance().mettreAjourUrlCourante();
396
		CacheClient.getInstance().mettreAjourUrlCourante();
399
		vue.stopChargement();
397
		vue.stopChargement();
400
	}
398
	}
401
 
399
 
402
	private void creerWidgetPagination(int nbImages) {
400
	private void creerWidgetPagination(int nbImages) {
403
		PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages);
401
		PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages);
404
		PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages);
402
		PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages);
405
		imagesPaginationPresenteurHaut.setGroupePagination("pagination_images");
403
		imagesPaginationPresenteurHaut.setGroupePagination("pagination_images");
406
		imagesPaginationPresenteurBas.setGroupePagination("pagination_images");
404
		imagesPaginationPresenteurBas.setGroupePagination("pagination_images");
407
		imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
405
		imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
408
		imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
406
		imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
409
	}
407
	}
410
 
408
 
411
	public PaginationPresenteur creerPresenteurPagination(int nbImages) {
409
	public PaginationPresenteur creerPresenteurPagination(int nbImages) {
412
		PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
410
		PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
413
			@Override
411
			@Override
414
			public void chargerElements(int debut, int fin) {
412
			public void chargerElements(int debut, int fin) {
415
				chargerEtAfficherImages(debut, fin);
413
				chargerEtAfficherImages(debut, fin);
416
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
414
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
417
			}
415
			}
418
 
416
 
419
			@Override
417
			@Override
420
			public void actualiserPasCache(int pas) {
418
			public void actualiserPasCache(int pas) {
421
				CacheClient.getInstance().setPasPagination(pas);
419
				CacheClient.getInstance().setPasPagination(pas);
422
			}
420
			}
423
		};
421
		};
424
		return imagesPaginationPresenteur;
422
		return imagesPaginationPresenteur;
425
	}
423
	}
426
 
424
 
427
	public void chargerEtAfficherImagesPageEnCours() {
425
	public void chargerEtAfficherImagesPageEnCours() {
428
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
426
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
429
		final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
427
		final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
430
		chargerEtAfficherImages(debut, fin);
428
		chargerEtAfficherImages(debut, fin);
431
	}
429
	}
432
 
430
 
433
	public Vue getVue() {
431
	public Vue getVue() {
434
		return vue;
432
		return vue;
435
	}
433
	}
436
}
434
}