Subversion Repositories eFlore/Applications.cel

Rev

Rev 2615 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2615 Rev 2726
1
package org.tela_botanica.client.vues.image;
1
package org.tela_botanica.client.vues.image;
-
 
2
 
-
 
3
import java.util.HashMap;
2
 
4
 
3
import org.tela_botanica.client.i18n.Msg;
5
import org.tela_botanica.client.i18n.Msg;
4
import org.tela_botanica.client.image.ImageMediateur;
6
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.interfaces.ListePaginable;
7
import org.tela_botanica.client.interfaces.ListePaginable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.VueListable;
9
import org.tela_botanica.client.interfaces.VueListable;
-
 
10
import org.tela_botanica.client.modeles.objets.Ontologies;
-
 
11
import org.tela_botanica.client.util.Util;
8
import org.tela_botanica.client.vues.BarrePaginationVue;
12
import org.tela_botanica.client.vues.BarrePaginationVue;
-
 
13
 
9
 
14
import com.google.gwt.user.client.Timer;
-
 
15
import com.gwtext.client.core.EventObject;
10
import com.gwtext.client.core.EventObject;
16
import com.gwtext.client.core.SortDir;
11
import com.gwtext.client.data.FieldDef;
17
import com.gwtext.client.data.FieldDef;
12
import com.gwtext.client.data.IntegerFieldDef;
18
import com.gwtext.client.data.IntegerFieldDef;
13
import com.gwtext.client.data.Record;
19
import com.gwtext.client.data.Record;
14
import com.gwtext.client.data.RecordDef;
20
import com.gwtext.client.data.RecordDef;
15
import com.gwtext.client.data.Store;
21
import com.gwtext.client.data.Store;
16
import com.gwtext.client.data.StringFieldDef;
22
import com.gwtext.client.data.StringFieldDef;
17
import com.gwtext.client.dd.DragData;
23
import com.gwtext.client.dd.DragData;
18
import com.gwtext.client.dd.DragSource;
24
import com.gwtext.client.dd.DragSource;
19
import com.gwtext.client.dd.DropTarget;
25
import com.gwtext.client.dd.DropTarget;
20
import com.gwtext.client.dd.DropTargetConfig;
26
import com.gwtext.client.dd.DropTargetConfig;
21
import com.gwtext.client.widgets.Component;
27
import com.gwtext.client.widgets.Component;
22
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
28
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
23
import com.gwtext.client.widgets.grid.CellMetadata;
29
import com.gwtext.client.widgets.grid.CellMetadata;
24
import com.gwtext.client.widgets.grid.ColumnConfig;
30
import com.gwtext.client.widgets.grid.ColumnConfig;
25
import com.gwtext.client.widgets.grid.ColumnModel;
31
import com.gwtext.client.widgets.grid.ColumnModel;
26
import com.gwtext.client.widgets.grid.GridDragData;
32
import com.gwtext.client.widgets.grid.GridDragData;
27
import com.gwtext.client.widgets.grid.GridPanel;
33
import com.gwtext.client.widgets.grid.GridPanel;
28
import com.gwtext.client.widgets.grid.Renderer;
34
import com.gwtext.client.widgets.grid.Renderer;
29
import com.gwtext.client.widgets.grid.RowSelectionModel;
35
import com.gwtext.client.widgets.grid.RowSelectionModel;
-
 
36
import com.gwtext.client.widgets.grid.event.GridHeaderListenerAdapter;
30
import com.gwtext.client.widgets.grid.event.GridRowListener;
37
import com.gwtext.client.widgets.grid.event.GridRowListener;
31
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
38
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
32
 
39
 
33
/**
40
/**
34
 * Liste d'image composée de miniatures et d'information sur l'image, implémente
41
 * Liste d'image composée de miniatures et d'information sur l'image, implémente
35
 * l'interface rafraichissable et l'interface vueListable
42
 * l'interface rafraichissable et l'interface vueListable
36
 * 
43
 * 
37
 * @author aurelien
44
 * @author aurelien
38
 */
45
 */
39
public class ListeImageVue extends GridPanel implements Rafraichissable,
46
public class ListeImageVue extends GridPanel implements Rafraichissable,
40
		VueListable, ListePaginable {
47
		VueListable, ListePaginable {
41
 
48
 
42
	/**
49
	/**
43
	 * Le médiateur associé à la vue
50
	 * Le médiateur associé à la vue
44
	 */
51
	 */
45
	private ImageMediateur iMediateur = null;
52
	private ImageMediateur iMediateur = null;
46
 
53
 
47
	/**
54
	/**
48
	 * Config de colonne
55
	 * Config de colonne
49
	 */
56
	 */
50
	private ColumnConfig numImage;
57
	private ColumnConfig numImage;
51
	
58
	
52
	/**
59
	/**
53
	 * Config de colonne
60
	 * Config de colonne
54
	 */
61
	 */
55
	private ColumnConfig transmisImage;
62
	private ColumnConfig transmisImage;
56
	
63
	
57
	/**
64
	/**
58
	 * Config de colonne
65
	 * Config de colonne
59
	 */
66
	 */
60
	private ColumnConfig urlImage;
67
	private ColumnConfig urlImage;
61
	/**
68
	/**
62
	 * Config de colonne
69
	 * Config de colonne
63
	 */
70
	 */
64
	private ColumnConfig lieImage;
71
	private ColumnConfig lieImage;
65
	/**
72
	/**
66
	 * Config de colonne
73
	 * Config de colonne
67
	 */
74
	 */
68
	private ColumnConfig datImage;
75
	private ColumnConfig datImage;
69
	/**
76
	/**
70
	 * Config de colonne
77
	 * Config de colonne
71
	 */
78
	 */
72
	private ColumnConfig appImage;
79
	private ColumnConfig appImage;
73
	/**
80
	/**
74
	 * Config de colonne
81
	 * Config de colonne
75
	 */
82
	 */
76
	private ColumnConfig noteImage;
83
	private ColumnConfig noteImage;
77
	/**
84
	/**
78
	 * Config de colonne
85
	 * Config de colonne
79
	 */
86
	 */
80
	private ColumnConfig nomImage;
87
	private ColumnConfig nomImage;
81
	/**
88
	/**
82
	 * Config de colonne
89
	 * Config de colonne
83
	 */
90
	 */
84
	private ColumnConfig obsAssociees;
91
	private ColumnConfig obsAssociees;
85
	
92
	
86
	/**
93
	/**
87
	 * Modele de colonnes
94
	 * Modele de colonnes
88
	 */
95
	 */
89
	private ColumnModel modeleColonnes;
96
	private ColumnModel modeleColonnes;
90
 
97
 
91
	/**
98
	/**
92
	 * Booleen d'instanciation
99
	 * Booleen d'instanciation
93
	 */
100
	 */
94
	private boolean estInstancie = false;
101
	private boolean estInstancie = false;
95
 
102
 
96
	/**
103
	/**
97
	 * Store qui contient les données à afficher
104
	 * Store qui contient les données à afficher
98
	 */
105
	 */
99
	private Store st = null;
106
	private Store st = null;
100
	/**
107
	/**
101
	 * Configuration des colonnes du store
108
	 * Configuration des colonnes du store
102
	 */
109
	 */
103
	private ColumnConfig cl = null;
110
	private ColumnConfig cl = null;
104
 
111
 
105
	/**
112
	/**
106
	 * Barre de pagination
113
	 * Barre de pagination
107
	 */
114
	 */
108
	private BarrePaginationVue bt = null;
115
	private BarrePaginationVue bt = null;
109
	
116
	
110
	/**
117
	/**
111
	 * Taille max des images dans la liste
118
	 * Taille max des images dans la liste
112
	 */
119
	 */
113
	private int tailleOr = 50 ;
120
	private int tailleOr = 50 ;
114
 
121
 
115
	/**
122
	/**
116
	 * Garder ou non l'aspet original des images
123
	 * Garder ou non l'aspet original des images
117
	 */
124
	 */
118
	private boolean garderRatio = true;	
125
	private boolean garderRatio = true;	
-
 
126
	
-
 
127
	private SortDir directionTri;
-
 
128
 
-
 
129
	private String champTri;
-
 
130
	
-
 
131
	private boolean triActif;
119
	
132
	
120
	/**
133
	/**
121
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
134
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
122
	 */
135
	 */
123
	private ListeImageVue() {
136
	private ListeImageVue() {
124
		super();
137
		super();
125
	}
138
	}
126
	
139
	
127
 
140
 
128
	/**
141
	/**
129
	 * Constructeur avec argument
142
	 * Constructeur avec argument
130
	 * 
143
	 * 
131
	 * @param im
144
	 * @param im
132
	 *            le médiateur à associer
145
	 *            le médiateur à associer
133
	 */
146
	 */
134
	public ListeImageVue(ImageMediateur im) {
147
	public ListeImageVue(ImageMediateur im) {
135
 
148
 
136
		new ListeImageVue();
149
		new ListeImageVue();
137
 
150
 
138
		this.setId("listeImageGrid");
151
		this.setId("listeImageGrid");
139
		// on associe le médiateur
152
		// on associe le médiateur
140
		this.iMediateur = im;
153
		this.iMediateur = im;
141
 
154
 
142
		// on place la barre de pagination
155
		// on place la barre de pagination
143
		bt = new BarrePaginationVue(this);
156
		bt = new BarrePaginationVue(this);
144
		bt.setLabelElement(Msg.get("images"));
157
		bt.setLabelElement(Msg.get("images"));
145
		bt.setTaillePageParDefaut(50);
158
		bt.setTaillePageParDefaut(50);
146
		setBottomToolbar(bt);
159
		setBottomToolbar(bt);
-
 
160
		
-
 
161
		directionTri = SortDir.ASC;
147
 
162
 
148
		// on construit le modèle de colonnes
163
		// on construit le modèle de colonnes
149
		numImage = new ColumnConfig(Msg.get("numero"), "num_image", 30, true,
164
		numImage = new ColumnConfig(Msg.get("numero"), "num_image", 30, true,
150
				new Renderer() {
165
				new Renderer() {
151
 
166
 
152
					@Override
167
					@Override
153
					public String render(Object value,
168
					public String render(Object value,
154
							CellMetadata cellMetadata, Record record,
169
							CellMetadata cellMetadata, Record record,
155
							int rowIndex, int colNum, Store store) {
170
							int rowIndex, int colNum, Store store) {
156
						
171
						
157
						cellMetadata.setCssClass("centered-list");
172
						cellMetadata.setCssClass("centered-list");
158
 
173
 
159
						String ImgNum = record.getAsString("num_image");
174
						String ImgNum = record.getAsString("num_image");
160
						return "<div class=\"centered-list\">" + ImgNum
175
						return "<div class=\"centered-list\">" + ImgNum
161
								+ "</div>";
176
								+ "</div>";
162
					}
177
					}
163
 
178
 
164
				});
179
				});
165
		
180
		
166
		transmisImage = new ColumnConfig("   ", "obs_associees", 10, true, new Renderer() {
181
		transmisImage = new ColumnConfig("   ", "transmis", 10, true, new Renderer() {
167
 
182
 
168
			@Override
183
			@Override
169
			public String render(Object value, CellMetadata cellMetadata,
184
			public String render(Object value, CellMetadata cellMetadata,
170
					Record record, int rowIndex, int colNum, Store store) {
185
					Record record, int rowIndex, int colNum, Store store) {
171
				
186
				
172
				cellMetadata.setCssClass("centered-list");
187
				cellMetadata.setCssClass("centered-list");
173
				
188
				
174
				String nomObs = record.getAsString("obs_associees");
189
				String nomObs = record.getAsString("obs_associees");
175
				if(nomObs == null) {
190
				if(nomObs == null) {
176
					return "";
191
					return "";
177
				}
192
				}
178
				
193
				
179
				boolean transmise = estAssocieeTransmise(nomObs)[1];
194
				boolean transmise = estAssocieeTransmise(nomObs)[1];
180
				
195
				
181
				if(transmise)
196
				if(transmise)
182
				{
197
				{
183
					return "<img src=\"tela.png\"/></img>" ;
198
					return "<img src=\"tela.png\"/></img>" ;
184
				}
199
				}
185
				else
200
				else
186
				{
201
				{
187
					return "" ;
202
					return "" ;
188
				}
203
				}
189
			}
204
			}
190
			
205
			
191
		});		
206
		});		
192
 
207
 
193
		datImage = new ColumnConfig(Msg.get("date"), "dat_image", 80, true,
208
		datImage = new ColumnConfig(Msg.get("date"), "dat_image", 80, true,
194
				new Renderer() {
209
				new Renderer() {
195
 
210
 
196
					@Override
211
					@Override
197
					public String render(Object value,
212
					public String render(Object value,
198
							CellMetadata cellMetadata, Record record,
213
							CellMetadata cellMetadata, Record record,
199
							int rowIndex, int colNum, Store store) {
214
							int rowIndex, int colNum, Store store) {
200
						
215
						
201
						cellMetadata.setCssClass("centered-list");
216
						cellMetadata.setCssClass("centered-list");
202
 
217
 
203
						String ImgDat = record.getAsString("dat_image");
218
						String ImgDat = record.getAsString("dat_image");
204
						if (ImgDat == null) {
219
						if (ImgDat == null) {
205
							ImgDat = " ";
220
							ImgDat = " ";
206
						}
221
						}
207
						return "<div class=\"centered-list\">" + ImgDat
222
						return "<div class=\"centered-list\">" + ImgDat
208
								+ "</div>";
223
								+ "</div>";
209
					}
224
					}
210
 
225
 
211
				});
226
				});
212
		
227
		
213
		lieImage = new ColumnConfig(Msg.get("lieu"), "lie_image", 120, true,
228
		lieImage = new ColumnConfig(Msg.get("lieu"), "lie_image", 120, true,
214
				new Renderer() {
229
				new Renderer() {
215
 
230
 
216
					@Override
231
					@Override
217
					public String render(Object value,
232
					public String render(Object value,
218
							CellMetadata cellMetadata, Record record,
233
							CellMetadata cellMetadata, Record record,
219
							int rowIndex, int colNum, Store store) {
234
							int rowIndex, int colNum, Store store) {
220
						
235
						
221
						cellMetadata.setCssClass("centered-list");
236
						cellMetadata.setCssClass("centered-list");
222
 
237
 
223
						String ImgLie = record.getAsString("lie_image");
238
						String ImgLie = record.getAsString("lie_image");
224
						if (ImgLie == null) {
239
						if (ImgLie == null) {
225
							ImgLie = " ";
240
							ImgLie = " ";
226
						}
241
						}
227
						return "<div class=\"centered-list\">" + ImgLie
242
						return "<div class=\"centered-list\">" + ImgLie
228
								+ "</div>";
243
								+ "</div>";
229
					}
244
					}
230
 
245
 
231
				});
246
				});
232
		
247
		
233
		appImage = new ColumnConfig(Msg.get("appareil"), "app_image", 120, true,
248
		appImage = new ColumnConfig(Msg.get("appareil"), "app_image", 120, true,
234
				new Renderer() {
249
				new Renderer() {
235
 
250
 
236
					@Override
251
					@Override
237
					public String render(Object value,
252
					public String render(Object value,
238
							CellMetadata cellMetadata, Record record,
253
							CellMetadata cellMetadata, Record record,
239
							int rowIndex, int colNum, Store store) {
254
							int rowIndex, int colNum, Store store) {
240
						
255
						
241
						cellMetadata.setCssClass("centered-list");
256
						cellMetadata.setCssClass("centered-list");
242
 
257
 
243
						String ImgApp = record.getAsString("app_image");
258
						String ImgApp = record.getAsString("app_image");
244
						if (ImgApp == null) {
259
						if (ImgApp == null) {
245
							ImgApp = " ";
260
							ImgApp = " ";
246
						}
261
						}
247
						return "<div class=\"centered-list\">" + ImgApp
262
						return "<div class=\"centered-list\">" + ImgApp
248
								+ "</div>";
263
								+ "</div>";
249
					}
264
					}
250
 
265
 
251
				});
266
				});
252
		
267
		
253
 
268
 
254
		// la colonne url possède une méthode de rendu spéciale
269
		// la colonne url possède une méthode de rendu spéciale
255
		urlImage = new ColumnConfig(Msg.get("image"), "url_image_S", 30, true,
270
		urlImage = new ColumnConfig(Msg.get("image"), "url_image_S", 30, true,
256
				new Renderer() {
271
				new Renderer() {
257
 
272
 
258
					@Override
273
					@Override
259
					public String render(Object value,
274
					public String render(Object value,
260
							CellMetadata cellMetadata, Record record,
275
							CellMetadata cellMetadata, Record record,
261
							int rowIndex, int colNum, Store store) {
276
							int rowIndex, int colNum, Store store) {
262
						
277
						
263
						cellMetadata.setCssClass("centered-list");
278
						cellMetadata.setCssClass("centered-list");
264
						// on affiche une div contenant l'image pointée par
279
						// on affiche une div contenant l'image pointée par
265
						// l'url
280
						// l'url
266
						int[] XY = {record.getAsInteger("taille_x") ,record.getAsInteger("taille_y")} ;
281
						int[] XY = {record.getAsInteger("taille_x") ,record.getAsInteger("taille_y")} ;
267
						int[] XYresize = {tailleOr,tailleOr} ;
282
						int[] XYresize = {tailleOr,tailleOr} ;
268
						
283
						
269
						if(garderRatio) {
284
						if(garderRatio) {
270
							XYresize = calculerDimensions(XY);
285
							XYresize = calculerDimensions(XY);
271
						}
286
						}
272
						
287
						
273
						String ImgUrl = record.getAsString("url_image_S");
288
						String ImgUrl = record.getAsString("url_image_S");
274
						String ImgNum = record.getAsString("num_image");
289
						String ImgNum = record.getAsString("num_image");
275
						return "<div class=\"img-list centered-list\"> <img src=\""
290
						return "<div class=\"img-list centered-list\"> <img src=\""
276
								+ ImgUrl + "\" title='" + ImgNum + "' width=\""+XYresize[0]+" px\" height=\""+XYresize[1]+" px\"> </div>";
291
								+ ImgUrl + "\" title='" + ImgNum + "' width=\""+XYresize[0]+" px\" height=\""+XYresize[1]+" px\"> </div>";
277
					}
292
					}
278
 
293
 
279
				});
294
				});
280
 
295
 
281
		noteImage = new ColumnConfig(Msg.get("note"), "note_image", 80, true,
296
		noteImage = new ColumnConfig(Msg.get("note"), "note_image", 80, true,
282
				new Renderer() {
297
				new Renderer() {
283
					@Override
298
					@Override
284
					public String render(Object value,
299
					public String render(Object value,
285
							CellMetadata cellMetadata, Record record,
300
							CellMetadata cellMetadata, Record record,
286
							int rowIndex, int colNum, Store store) {
301
							int rowIndex, int colNum, Store store) {
287
						
302
						
288
						cellMetadata.setCssClass("centered-list");
303
						cellMetadata.setCssClass("centered-list");
289
 
304
 
290
						String htmlImage = "";
305
						String htmlImage = "";
291
 
306
 
292
						int noteImg = record.getAsInteger("note_image");
307
						int noteImg = record.getAsInteger("note_image");
293
						if (noteImg >= 0) {
308
						if (noteImg >= 0) {
294
							htmlImage += "<div class=\"img-note centered-list\">";
309
							htmlImage += "<div class=\"img-note centered-list\">";
295
							for (int i = 0; i <= noteImg; i++) {
310
							for (int i = 0; i <= noteImg; i++) {
296
								htmlImage += "<img src=\"note-on.gif\">";
311
								htmlImage += "<img src=\"note-on.gif\">";
297
							}
312
							}
298
							htmlImage += "</div>";
313
							htmlImage += "</div>";
299
						}
314
						}
300
 
315
 
301
						return htmlImage;
316
						return htmlImage;
302
 
317
 
303
					}
318
					}
304
 
319
 
305
				});
320
				});
306
		
321
		
307
		nomImage = new ColumnConfig(Msg.get("nom-original"), "nom_original", 120, true,
322
		nomImage = new ColumnConfig(Msg.get("nom-original"), "nom_original", 120, true,
308
				new Renderer() {
323
				new Renderer() {
309
			@Override
324
			@Override
310
			public String render(Object value,
325
			public String render(Object value,
311
					CellMetadata cellMetadata, Record record,
326
					CellMetadata cellMetadata, Record record,
312
					int rowIndex, int colNum, Store store) {
327
					int rowIndex, int colNum, Store store) {
313
				
328
				
314
				cellMetadata.setCssClass("centered-list");
329
				cellMetadata.setCssClass("centered-list");
315
 
330
 
316
				String imgNomOr = record.getAsString("nom_original");
331
				String imgNomOr = record.getAsString("nom_original");
317
				if (imgNomOr == null) {
332
				if (imgNomOr == null) {
318
					imgNomOr = " ";
333
					imgNomOr = " ";
319
				}
334
				}
320
				return "<div class=\"centered-list\">" + imgNomOr
335
				return "<div class=\"centered-list\">" + imgNomOr
321
						+ "</div>";
336
						+ "</div>";
322
			}
337
			}
323
 
338
 
324
		});
339
		});
325
		
340
		
326
		obsAssociees = new ColumnConfig(Msg.get("nom-associe"), "obs_associees", 80, true,
341
		obsAssociees = new ColumnConfig(Msg.get("nom-associe"), "obs_associees", 80, true,
327
				new Renderer() {
342
				new Renderer() {
328
			@Override
343
			@Override
329
			public String render(Object value,
344
			public String render(Object value,
330
					CellMetadata cellMetadata, Record record,
345
					CellMetadata cellMetadata, Record record,
331
					int rowIndex, int colNum, Store store) {
346
					int rowIndex, int colNum, Store store) {
332
				
347
				
333
				cellMetadata.setCssClass("centered-list");
348
				cellMetadata.setCssClass("centered-list");
334
 
349
 
335
				String nomObs = record.getAsString("obs_associees");
350
				String nomObs = record.getAsString("obs_associees");
336
				if(nomObs == null) {
351
				if(nomObs == null) {
337
					return "";
352
					return "";
338
				}
353
				}
339
				
354
				
340
				String nomFormate = getNomsObservationsFormatees(nomObs);
355
				String nomFormate = getNomsObservationsFormatees(nomObs);
341
				
356
				
342
				return "<div class=\"centered-list\">" + nomFormate
357
				return "<div class=\"centered-list\">" + nomFormate
343
						+ "</div>";
358
						+ "</div>";
344
			}
359
			}
345
 
360
 
346
		});
361
		});
347
 
362
 
348
		// on associe le modèle de colonnes
363
		// on associe le modèle de colonnes
349
		ColumnConfig[] cm = { numImage, transmisImage, urlImage, obsAssociees, datImage, lieImage, appImage,
364
		ColumnConfig[] cm = { numImage, transmisImage, urlImage, obsAssociees, datImage, lieImage, appImage,
350
				noteImage,nomImage} ;
365
				noteImage,nomImage} ;
351
		modeleColonnes = new ColumnModel(cm);
366
		modeleColonnes = new ColumnModel(cm);
352
		this.setColumnModel(modeleColonnes);
367
		this.setColumnModel(modeleColonnes);
353
		this.setAutoScroll(true);
368
		this.setAutoScroll(true);
354
		this.setAutoWidth(true);
369
		this.setAutoWidth(true);
355
		this.setEnableColumnResize(true);
370
		this.setEnableColumnResize(true);
356
 
-
 
357
		// creation du store
-
 
358
		FieldDef defNumImage = new IntegerFieldDef("num_image");
-
 
359
		FieldDef defTransmisImage = new IntegerFieldDef("obs_associees");
-
 
360
		FieldDef defNomImage = new StringFieldDef("nom_original");
-
 
361
		FieldDef defDatImage = new StringFieldDef("dat_image");
-
 
362
		FieldDef defLieImage = new StringFieldDef("lie_image");
-
 
363
		FieldDef defAppImage = new StringFieldDef("app_image");
-
 
364
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
-
 
365
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
-
 
366
		FieldDef defUrlImage = new StringFieldDef("url_image");
-
 
367
		FieldDef defNoteImage = new StringFieldDef("note_image");
-
 
368
		FieldDef defTailleX = new IntegerFieldDef("taille_x");
-
 
369
		FieldDef defTailleY = new IntegerFieldDef("taille_y");
-
 
370
		FieldDef defObsAssociees = new StringFieldDef("obs_associees");
-
 
371
		FieldDef[] defTab = { defNumImage,defTransmisImage, defNomImage, defDatImage, defLieImage,
-
 
372
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
-
 
373
				defNoteImage, defTailleX, defTailleY, defObsAssociees};
371
 
374
		RecordDef rd = new RecordDef(defTab);
372
		RecordDef rd = new RecordDef(ImageMediateur.getDefinitionsChampsGrilleImages());
375
		st = new Store(rd);
373
		st = new Store(rd);
376
		// on associe le store
374
		// on associe le store
377
		this.setStore(st);
375
		this.setStore(st);
378
		this.getView().setAutoFill(true);
376
		this.getView().setAutoFill(true);
379
 
377
 
380
		// on crée un masque de chargement qui s'affichera lors des mises à jour
378
		// on crée un masque de chargement qui s'affichera lors des mises à jour
381
		this.setLoadMask("chargement");
379
		this.setLoadMask("chargement");
382
		
380
		
383
		//Enable drag and drop
381
		//Enable drag and drop
384
		this.setEnableDragDrop(true);
382
		this.setEnableDragDrop(true);
385
		//You need to set the same group for both grids
383
		//You need to set the same group for both grids
386
		this.setDdGroup("DragGroupName");
384
		this.setDdGroup("DragGroupName");
387
 
385
 
388
		// on ajoute les listeners
386
		// on ajoute les listeners
389
		ajouterListeners();
387
		ajouterListeners();
390
 
388
 
391
	}
389
	}
392
	
390
	
393
 
391
 
394
	/**
392
	/**
395
	 * Ajoute les listeners pour la gestion des évènements
393
	 * Ajoute les listeners pour la gestion des évènements
396
	 */
394
	 */
397
	private void ajouterListeners() {
395
	private void ajouterListeners() {
-
 
396
		
-
 
397
		this.addGridHeaderListener(new GridHeaderListenerAdapter() {		
-
 
398
			@Override
-
 
399
			public void onHeaderClick(GridPanel grid, int colIndex, EventObject e) {
-
 
400
				triActif = true;
-
 
401
				Timer t = new Timer() {
-
 
402
					
-
 
403
					@Override
-
 
404
					public void run() {
-
 
405
						enregistrerEtatTri();
-
 
406
						// Trier ne change pas le nombre de page, on peut donc se passer d'un appel
-
 
407
						// au comptage (ce serait mieux si ces deux appels étaient combinés)
-
 
408
						iMediateur.obtenirPhotoGalerieSansCalculerPages(ListeImageVue.this);
-
 
409
					}
-
 
410
				};
-
 
411
				// Le changement de tri n'est pas immédiat et si on recharge le liste tout de suite 
-
 
412
				// on a l'ancien tri et pas le nouveau (200 millisecondes suffisent et ne se voient pas)
-
 
413
				// #mondeDeMerde
-
 
414
				t.schedule(200);
-
 
415
			}
-
 
416
		});
-
 
417
		
398
		this.addListener(new ContainerListenerAdapter() {
418
		this.addListener(new ContainerListenerAdapter() {
399
 
419
 
400
			@Override
420
			@Override
401
			public void onHide(Component component) {
421
			public void onHide(Component component) {
402
 
422
 
403
			}
423
			}
404
 
424
 
405
			// lors du premier rendu on demande les données qui sont déjà
425
			// lors du premier rendu on demande les données qui sont déjà
406
			// contenues dans la galerie qui est le premier élément affiché
426
			// contenues dans la galerie qui est le premier élément affiché
407
 
427
 
408
			@Override
428
			@Override
409
			public void onRender(Component component) {
429
			public void onRender(Component component) {
410
 
430
 
411
				if (!isEstInstancie()) {
431
				if (!isEstInstancie()) {
412
					setEstInstancie(true);
432
					setEstInstancie(true);
413
					setDragDropText(Msg.get("glissez-deposer-images-obs")) ;
433
					setDragDropText(Msg.get("glissez-deposer-images-obs")) ;
414
					getIMediateur().synchroniserSelection("galerie");
434
					getIMediateur().synchroniserSelection("galerie");
415
				}
435
				}
416
			}
436
			}
417
 
437
 
418
			@Override
438
			@Override
419
			public void onShow(Component component) {
439
			public void onShow(Component component) {
420
 
440
 
421
			}
441
			}
422
 
442
 
423
		});
443
		});
424
 
444
 
425
		this.addGridRowListener(new GridRowListener() {
445
		this.addGridRowListener(new GridRowListener() {
426
 
446
 
427
			// gestion du clic sur une ligne
447
			// gestion du clic sur une ligne
428
			@Override
448
			@Override
429
			public void onRowClick(GridPanel grid, int rowIndex, EventObject e) {
449
			public void onRowClick(GridPanel grid, int rowIndex, EventObject e) {
430
			
450
			
431
				// on notifie le médiateur et on lui passe le numéro de ligne
451
				// on notifie le médiateur et on lui passe le numéro de ligne
432
				getIMediateur().clicListeImage(rowIndex);
452
				getIMediateur().clicListeImage(rowIndex);
433
			}
453
			}
434
 
454
 
435
			// gestion du clic droit
455
			// gestion du clic droit
436
			@Override
456
			@Override
437
			public void onRowContextMenu(GridPanel grid, int rowIndex,
457
			public void onRowContextMenu(GridPanel grid, int rowIndex,
438
					EventObject e) {
458
					EventObject e) {
439
				// on stoppe l'évenement pour empecher le navigateur d'afficher
459
				// on stoppe l'évenement pour empecher le navigateur d'afficher
440
				// son propre menu
460
				// son propre menu
441
				e.stopEvent();
461
				e.stopEvent();
442
				// on notifie le médiateur en lui passant l'évenement
462
				// on notifie le médiateur en lui passant l'évenement
443
				getIMediateur().montrerContextMenu(e);
463
				getIMediateur().montrerContextMenu(e);
444
			}
464
			}
445
 
465
 
446
			// gestion du double clic
466
			// gestion du double clic
447
			@Override
467
			@Override
448
			public void onRowDblClick(GridPanel grid, int rowIndex,
468
			public void onRowDblClick(GridPanel grid, int rowIndex,
449
					EventObject e) {
469
					EventObject e) {
450
				// on notifie le médiateur en lui passant le numéro de ligne
470
				// on notifie le médiateur en lui passant le numéro de ligne
451
				getIMediateur().doubleClicListeImage(rowIndex);
471
				getIMediateur().doubleClicListeImage(rowIndex);
452
			}
472
			}
453
		});
473
		});
454
 
474
 
455
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
475
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
456
 
476
 
457
			// gestion de la sélection
477
			// gestion de la sélection
458
 
478
 
459
			@Override
479
			@Override
460
			public void onSelectionChange(RowSelectionModel sm) {
480
			public void onSelectionChange(RowSelectionModel sm) {
461
 
481
 
462
				// si on a rien de sélectionné
482
				// si on a rien de sélectionné
463
				if (sm.getCount() <= 0) {
483
				if (sm.getCount() <= 0) {
464
					// on notifie le médiateur (qui désactive notamment l'accès
484
					// on notifie le médiateur (qui désactive notamment l'accès
465
					// à certaines infos)
485
					// à certaines infos)
466
					getIMediateur().aucuneSelection();
486
					getIMediateur().aucuneSelection();
467
				} else {
487
				} else {
468
					// sinon on notifie le médiateur
488
					// sinon on notifie le médiateur
469
					getIMediateur().selection();
489
					getIMediateur().selection();
470
					// et on lui demande de synchroniser la selection avec les
490
					// et on lui demande de synchroniser la selection avec les
471
					// autres vues
491
					// autres vues
472
					getIMediateur().synchroniserSelection("liste");
492
					getIMediateur().synchroniserSelection("liste");
473
				}
493
				}
474
			}
494
			}
475
		});
495
		});
476
		
496
		
477
		//Enable drag and drop
497
		//Enable drag and drop
478
		this.setEnableDragDrop(true);
498
		this.setEnableDragDrop(true);
479
 
499
 
480
		//Same name in destination
500
		//Same name in destination
481
		this.setDdGroup("DragGroupName");
501
		this.setDdGroup("DragGroupName");
482
		DropTargetConfig dtc = new DropTargetConfig();
502
		DropTargetConfig dtc = new DropTargetConfig();
483
		dtc.setdDdGroup("DragGroupName");
503
		dtc.setdDdGroup("DragGroupName");
484
 
504
 
485
		//Now this is the important part, you need a drop target
505
		//Now this is the important part, you need a drop target
486
		@SuppressWarnings("unused")
506
		@SuppressWarnings("unused")
487
		DropTarget tg = new DropTarget(this, dtc)
507
		DropTarget tg = new DropTarget(this, dtc)
488
		{
508
		{
489
			@Override
509
			@Override
490
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){
510
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){
491
			
511
			
492
				if(data instanceof GridDragData)
512
				if(data instanceof GridDragData)
493
				{
513
				{
494
					GridDragData gdd = (GridDragData)data ;
514
					GridDragData gdd = (GridDragData)data ;
495
	    		  	if(gdd.getGrid().getId().equals("listeImageGrid"))
515
	    		  	if(gdd.getGrid().getId().equals("listeImageGrid"))
496
	    		  	{
516
	    		  	{
497
	    		  		return false ;
517
	    		  		return false ;
498
	    		  	}
518
	    		  	}
499
	    		  	else
519
	    		  	else
500
	    		  	{
520
	    		  	{
501
	    		  		return iMediateur.lierObsDD(source, e, data, getId()) ;   
521
	    		  		return iMediateur.lierObsDD(source, e, data, getId()) ;   
502
	    		  	}
522
	    		  	}
503
				}
523
				}
504
				else
524
				else
505
				{
525
				{
506
					return false ;
526
					return false ;
507
				}
527
				}
508
				
528
				
509
				
529
				
510
			}
530
			}
511
			
531
			
512
			@Override
532
			@Override
513
			public String notifyOver(DragSource source, EventObject e, DragData data){
533
			public String notifyOver(DragSource source, EventObject e, DragData data){
514
			    return "x-dd-drop-ok";
534
			    return "x-dd-drop-ok";
515
			}
535
			}
516
		};
536
		};
517
	}
537
	}
518
 
538
 
519
	/**
539
	/**
520
	 * Méthode héritée de l'interface VueListable Sélectionne les images dans la
540
	 * Méthode héritée de l'interface VueListable Sélectionne les images dans la
521
	 * galerie suivant les identifiants donnés en paramètres
541
	 * galerie suivant les identifiants donnés en paramètres
522
	 */
542
	 */
523
	@Override
543
	@Override
524
	public String[] getIdSelectionnees() {
544
	public String[] getIdSelectionnees() {
525
		Record[] selection = this.getSelectionModel().getSelections();
545
		Record[] selection = this.getSelectionModel().getSelections();
526
		int taille = selection.length;
546
		int taille = selection.length;
527
		String id_selection[] = new String[taille];
547
		String id_selection[] = new String[taille];
528
 
548
 
529
		for (int i = 0; i < selection.length; i++) {
549
		for (int i = 0; i < selection.length; i++) {
530
 
550
 
531
			id_selection[i] = selection[i].getAsString("num_image");
551
			id_selection[i] = selection[i].getAsString("num_image");
532
		}
552
		}
533
 
553
 
534
		return id_selection;
554
		return id_selection;
535
	}
555
	}
536
 
556
 
537
	/**
557
	/**
538
	 * Accesseur pour la config de colonnes
558
	 * Accesseur pour la config de colonnes
539
	 * 
559
	 * 
540
	 * @return la config de colonnes
560
	 * @return la config de colonnes
541
	 */
561
	 */
542
	public ColumnConfig getCl() {
562
	public ColumnConfig getCl() {
543
		return cl;
563
		return cl;
544
	}
564
	}
545
 
565
 
546
	/**
566
	/**
547
	 * Accesseur pour le médiateur
567
	 * Accesseur pour le médiateur
548
	 * 
568
	 * 
549
	 * @return le médiateur associé
569
	 * @return le médiateur associé
550
	 */
570
	 */
551
	public ImageMediateur getIMediateur() {
571
	public ImageMediateur getIMediateur() {
552
		return iMediateur;
572
		return iMediateur;
553
	}
573
	}
554
 
574
 
555
	/**
575
	/**
556
	 * Accesseur pour le modèle de colonnes
576
	 * Accesseur pour le modèle de colonnes
557
	 * 
577
	 * 
558
	 * @return le modèle de colonnes
578
	 * @return le modèle de colonnes
559
	 */
579
	 */
560
	public ColumnModel getModeleColonnes() {
580
	public ColumnModel getModeleColonnes() {
561
		return modeleColonnes;
581
		return modeleColonnes;
562
	}
582
	}
563
 
583
 
564
	/**
584
	/**
565
	 * Accesseur pour le store
585
	 * Accesseur pour le store
566
	 * 
586
	 * 
567
	 * @return le store contenant les données
587
	 * @return le store contenant les données
568
	 */
588
	 */
569
	public Store getSt() {
589
	public Store getSt() {
570
		return st;
590
		return st;
571
	}
591
	}
572
 
592
 
573
	/**
593
	/**
574
	 * Accesseur pour le booleen d'instanciation
594
	 * Accesseur pour le booleen d'instanciation
575
	 * 
595
	 * 
576
	 * @return le booleen d'instanciation
596
	 * @return le booleen d'instanciation
577
	 */
597
	 */
578
	public boolean isEstInstancie() {
598
	public boolean isEstInstancie() {
579
		return estInstancie;
599
		return estInstancie;
580
	}
600
	}
581
 
601
 
582
	/**
602
	/**
583
	 * Méthode héritée de l'interface rafraichissable
603
	 * Méthode héritée de l'interface rafraichissable
584
	 * 
604
	 * 
585
	 * @param nouvelleDonnees
605
	 * @param nouvelleDonnees
586
	 *            les nouvelles données
606
	 *            les nouvelles données
587
	 * @param repandreRafraichissement
607
	 * @param repandreRafraichissement
588
	 *            le booleen de notification du rafraichissement
608
	 *            le booleen de notification du rafraichissement
589
	 */
609
	 */
590
	@Override
610
	@Override
591
	public void rafraichir(Object nouvelleDonnees,
611
	public void rafraichir(Object nouvelleDonnees,
592
			boolean repandreRafraichissement) {
612
			boolean repandreRafraichissement) {
593
 
613
 
594
		// si on reçoit un store
614
		// si on reçoit un store
595
		if (nouvelleDonnees instanceof Store) {
615
		if (nouvelleDonnees instanceof Store) {
596
 
-
 
597
			// on affecte celui-ci comme gestionnaire de données
616
			// on affecte celui-ci comme gestionnaire de données
598
			st = (Store) nouvelleDonnees;
617
			st = (Store) nouvelleDonnees;
-
 
618
			st.sort(champTri, directionTri);
599
			st.load();
619
			st.load();
600
			// et on reconfigure et rafraichit la vue
620
			// et on reconfigure et rafraichit la vue
601
			this.reconfigure(st, this.getColumnModel());
621
			this.reconfigure(st, this.getColumnModel());
602
 
-
 
603
		}
622
		}
604
		
623
		
605
 
624
 
606
		// si on doit répandre l'évenement
625
		// si on doit répandre l'évenement
607
		if (repandreRafraichissement) {
626
		if (repandreRafraichissement) {
608
			// on notifie le médiateur avec une copie des données
627
			// on notifie le médiateur avec une copie des données
609
			getIMediateur().synchroniserDonneesZoomListeGalerie(
628
			getIMediateur().synchroniserDonneesZoomListeGalerie(
610
					nouvelleDonnees, this);
629
					nouvelleDonnees, this);
611
		}
630
		}
612
	}
631
	}
613
 
632
 
614
	/**
633
	/**
615
	 * Sélectionne des enregistrements donné
634
	 * Sélectionne des enregistrements donné
616
	 * 
635
	 * 
617
	 * @param sel
636
	 * @param sel
618
	 *            un tableau d'enregistrement à selectionner
637
	 *            un tableau d'enregistrement à selectionner
619
	 */
638
	 */
620
	public void selectionnerEnregistrements(Record[] sel) {
639
	public void selectionnerEnregistrements(Record[] sel) {
621
 
640
 
622
		if (isEstInstancie()) {
641
		if (isEstInstancie()) {
623
			getSelectionModel().clearSelections();
642
			getSelectionModel().clearSelections();
624
			getSelectionModel().selectRecords(sel);
643
			getSelectionModel().selectRecords(sel);
625
		}
644
		}
626
	}
645
	}
627
 
646
 
628
	/**
647
	/**
629
	 * Accesseur pour la toolbar de pagination
648
	 * Accesseur pour la toolbar de pagination
630
	 * 
649
	 * 
631
	 * @return la toolbar de pagination
650
	 * @return la toolbar de pagination
632
	 */
651
	 */
633
	public BarrePaginationVue getToolBarVue() {
652
	public BarrePaginationVue getToolBarVue() {
634
		return bt;
653
		return bt;
635
	}
654
	}
636
 
655
 
637
	/**
656
	/**
638
	 * Setteur pour le booleen d'instanciation
657
	 * Setteur pour le booleen d'instanciation
639
	 * 
658
	 * 
640
	 * @param estInstancie
659
	 * @param estInstancie
641
	 *            la nouvelle valeur du booleen
660
	 *            la nouvelle valeur du booleen
642
	 */
661
	 */
643
	public void setEstInstancie(boolean estInstancie) {
662
	public void setEstInstancie(boolean estInstancie) {
644
		this.estInstancie = estInstancie;
663
		this.estInstancie = estInstancie;
645
	}
664
	}
646
 
665
 
647
	public void mettreAjourInfos(String commentaires, String date, String note) {
666
	public void mettreAjourInfos(String commentaires, String date, String note) {
648
 
667
 
649
		for (int i = 0; i < getSelectionModel().getCount(); i++) {
668
		for (int i = 0; i < getSelectionModel().getCount(); i++) {
650
 
669
 
651
			getSelectionModel().getSelections()[i].set("note_image", note);
670
			getSelectionModel().getSelections()[i].set("note_image", note);
652
			getSelectionModel().getSelections()[i].set("dat_image", date);
671
			getSelectionModel().getSelections()[i].set("dat_image", date);
653
 
672
 
654
		}
673
		}
655
 
674
 
656
	}
675
	}
657
	
676
	
658
	@Override
677
	@Override
659
	public void changerNumeroPage(int pageCourante) {
678
	public void changerNumeroPage(int pageCourante) {
660
		
679
		
661
		iMediateur.changerNumeroPage(pageCourante) ;
680
		iMediateur.changerNumeroPage(pageCourante) ;
662
		
681
		
663
	}
682
	}
664
 
683
 
665
	@Override
684
	@Override
666
	public void changerTaillePage(int nouvelleTaillePage) {
685
	public void changerTaillePage(int nouvelleTaillePage) {
667
		
686
		
668
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
687
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
669
	}
688
	}
670
	
689
	
671
	public int[] calculerDimensions(int[] tailleXY) {
690
	public int[] calculerDimensions(int[] tailleXY) {
672
	    
691
	    
673
		float[] tailleXYf = {new Float(tailleXY[0]),new Float(tailleXY[1])} ;
692
		float[] tailleXYf = {new Float(tailleXY[0]),new Float(tailleXY[1])} ;
674
        float tailleOr = this.tailleOr ;
693
        float tailleOr = this.tailleOr ;
675
        float maxTaille = Math.max(tailleXYf[1],tailleXYf[0]) ;
694
        float maxTaille = Math.max(tailleXYf[1],tailleXYf[0]) ;
676
        float[] XYresize = new float[2];
695
        float[] XYresize = new float[2];
677
        
696
        
678
        if(maxTaille == tailleXY[0]) {
697
        if(maxTaille == tailleXY[0]) {
679
            float rapport = tailleXYf[1]/tailleXYf[0] ;
698
            float rapport = tailleXYf[1]/tailleXYf[0] ;
680
            XYresize[0] = tailleOr ;
699
            XYresize[0] = tailleOr ;
681
            XYresize[1] = tailleOr*rapport ;
700
            XYresize[1] = tailleOr*rapport ;
682
        }else {
701
        }else {
683
            float rapport = tailleXYf[0]/tailleXYf[1] ;
702
            float rapport = tailleXYf[0]/tailleXYf[1] ;
684
            XYresize[1] = tailleOr ;
703
            XYresize[1] = tailleOr ;
685
            XYresize[0] = tailleOr*rapport ;
704
            XYresize[0] = tailleOr*rapport ;
686
        }
705
        }
687
        
706
        
688
        int[] res = {Math.round(XYresize[0]),Math.round(XYresize[1])} ;
707
        int[] res = {Math.round(XYresize[0]),Math.round(XYresize[1])} ;
689
        
708
        
690
        return res;
709
        return res;
691
    }
710
    }
692
	
711
	
693
	private String getNomsObservationsFormatees(String nomObs) {
712
	private String getNomsObservationsFormatees(String nomObs) {
694
		
713
		
695
		String htmlInfobulle = "";
714
		String htmlInfobulle = "";
696
		
715
		
697
		String[][] obs = getObservationsAssociees(nomObs);
716
		String[][] obs = getObservationsAssociees(nomObs);
698
		
717
		
699
		for(int i = 0; i < obs.length; i++) {
718
		for(int i = 0; i < obs.length; i++) {
700
						
719
						
701
			if(obs[i].length == 3 && obs[i][1] != null && !obs[i][1].equals("")) {
720
			if(obs[i].length == 3 && obs[i][1] != null && !obs[i][1].equals("")) {
702
				htmlInfobulle += ", "+obs[i][1];
721
				htmlInfobulle += ", "+obs[i][1];
703
			}
722
			}
704
		}
723
		}
705
		
724
		
706
		htmlInfobulle = htmlInfobulle.replaceFirst(", ", "");
725
		htmlInfobulle = htmlInfobulle.replaceFirst(", ", "");
707
		
726
		
708
		return htmlInfobulle;
727
		return htmlInfobulle;
709
	}
728
	}
710
	
729
	
711
	private String[][] getObservationsAssociees(String nomObs) {
730
	private String[][] getObservationsAssociees(String nomObs) {
712
		
731
		
713
		if(nomObs.trim().equals("")) {
732
		if(nomObs.trim().equals("")) {
714
			return new String[0][0];
733
			return new String[0][0];
715
		}
734
		}
716
		
735
		
717
		String[] obsTab = nomObs.split(";;");
736
		String[] obsTab = nomObs.split(";;");
718
		String[][] obsAnalysees = new String[obsTab.length][3];
737
		String[][] obsAnalysees = new String[obsTab.length][3];
719
		
738
		
720
		for(int i = 0; i < obsTab.length; i++) {
739
		for(int i = 0; i < obsTab.length; i++) {
721
			
740
			
722
			obsAnalysees[i] = obsTab[i].split("#");
741
			obsAnalysees[i] = obsTab[i].split("#");
723
			
742
			
724
		}
743
		}
725
		
744
		
726
		return obsAnalysees;
745
		return obsAnalysees;
727
	}
746
	}
728
	
747
	
729
	private boolean[] estAssocieeTransmise(String nomObs) {
748
	private boolean[] estAssocieeTransmise(String nomObs) {
730
		
749
		
731
		String[][] obs = getObservationsAssociees(nomObs);
750
		String[][] obs = getObservationsAssociees(nomObs);
732
		boolean[] associeesTranmises = {false, false};
751
		boolean[] associeesTranmises = {false, false};
733
		
752
		
734
		if(obs.length > 0) {
753
		if(obs.length > 0) {
735
			associeesTranmises[0] = true;
754
			associeesTranmises[0] = true;
736
		}
755
		}
737
		
756
		
738
		for(int i = 0; i < obs.length; i++) {
757
		for(int i = 0; i < obs.length; i++) {
739
			
758
			
740
			if(obs[i].length == 3 && obs[i][2] != null && obs[i][2].equals("1")) {
759
			if(obs[i].length == 3 && obs[i][2] != null && obs[i][2].equals("1")) {
741
				associeesTranmises[1] = true;
760
				associeesTranmises[1] = true;
742
			}
761
			}
743
		}
762
		}
744
		
763
		
745
		return associeesTranmises;
764
		return associeesTranmises;
746
	}
765
	}
-
 
766
	
-
 
767
	private void enregistrerEtatTri() {
-
 
768
		if(triActif) {
-
 
769
			this.directionTri = st.getSortState().getDirection();
-
 
770
			this.champTri = st.getSortState().getField();
-
 
771
		}
-
 
772
		
-
 
773
	}
-
 
774
	
-
 
775
	public String renvoyerTri() {
-
 
776
		String tri = "ordre";
-
 
777
		if(triActif) {
-
 
778
			HashMap<String, String> corr = Ontologies.getCorrespondanceGrilleImageChampsTri();
-
 
779
			if(corr.containsKey(champTri)) {
-
 
780
				tri = corr.get(champTri);
-
 
781
			}
-
 
782
		}
-
 
783
		return tri;
-
 
784
	}
-
 
785
 
-
 
786
	public String renvoyerDirectionTri() {
-
 
787
		String triDir = "ASC";
-
 
788
		try {
-
 
789
			triDir = (triActif) ? directionTri.getDirection() : "ASC";
-
 
790
		} catch (Exception e) {
-
 
791
			triDir = "ASC";
-
 
792
		}
-
 
793
		return triDir;
747
 
794
	}
748
}
795
}