Subversion Repositories eFlore/Archives.cel-v2

Rev

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

Rev 47 Rev 48
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.VueListable;
5
import org.tela_botanica.client.interfaces.VueListable;
6
 
6
 
7
import com.gwtext.client.core.EventObject;
7
import com.gwtext.client.core.EventObject;
8
import com.gwtext.client.data.FieldDef;
8
import com.gwtext.client.data.FieldDef;
9
import com.gwtext.client.data.IntegerFieldDef;
9
import com.gwtext.client.data.IntegerFieldDef;
10
import com.gwtext.client.data.Record;
10
import com.gwtext.client.data.Record;
11
import com.gwtext.client.data.RecordDef;
11
import com.gwtext.client.data.RecordDef;
12
import com.gwtext.client.data.Store;
12
import com.gwtext.client.data.Store;
13
import com.gwtext.client.data.StringFieldDef;
13
import com.gwtext.client.data.StringFieldDef;
14
import com.gwtext.client.widgets.Component;
14
import com.gwtext.client.widgets.Component;
15
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
15
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
16
import com.gwtext.client.widgets.grid.CellMetadata;
16
import com.gwtext.client.widgets.grid.CellMetadata;
17
import com.gwtext.client.widgets.grid.ColumnConfig;
17
import com.gwtext.client.widgets.grid.ColumnConfig;
18
import com.gwtext.client.widgets.grid.ColumnModel;
18
import com.gwtext.client.widgets.grid.ColumnModel;
19
import com.gwtext.client.widgets.grid.GridPanel;
19
import com.gwtext.client.widgets.grid.GridPanel;
20
import com.gwtext.client.widgets.grid.Renderer;
20
import com.gwtext.client.widgets.grid.Renderer;
21
import com.gwtext.client.widgets.grid.RowSelectionModel;
21
import com.gwtext.client.widgets.grid.RowSelectionModel;
22
import com.gwtext.client.widgets.grid.event.GridRowListener;
22
import com.gwtext.client.widgets.grid.event.GridRowListener;
23
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
23
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
24
 
24
 
25
/**
25
/**
26
 * Liste d'image composée de miniatures et d'information sur l'image, implémente
26
 * Liste d'image composée de miniatures et d'information sur l'image, implémente
27
 * l'interface rafraichissable et l'interface vueListable
27
 * l'interface rafraichissable et l'interface vueListable
28
 * 
28
 * 
29
 * @author aurelien
29
 * @author aurelien
30
 */
30
 */
31
public class ListeImageVue extends GridPanel implements Rafraichissable,
31
public class ListeImageVue extends GridPanel implements Rafraichissable,
32
		VueListable {
32
		VueListable {
33
 
33
 
34
	/**
34
	/**
35
	 * Le médiateur associé à la vue
35
	 * Le médiateur associé à la vue
36
	 */
36
	 */
37
	private ImageMediateur	iMediateur		= null;
37
	private ImageMediateur	iMediateur		= null;
38
	
38
	
39
	/**
39
	/**
40
	 * Config de colonne
40
	 * Config de colonne
41
	 */
41
	 */
42
	private ColumnConfig	numImage;
42
	private ColumnConfig	numImage;
43
	/**
43
	/**
44
	 * Config de colonne
44
	 * Config de colonne
45
	 */
45
	 */
46
	private ColumnConfig	urlImage;
46
	private ColumnConfig	urlImage;
47
	/**
47
	/**
48
	 * Config de colonne
48
	 * Config de colonne
49
	 */
49
	 */
50
	private ColumnConfig	lieImage;
50
	private ColumnConfig	lieImage;
51
	/**
51
	/**
52
	 * Config de colonne
52
	 * Config de colonne
53
	 */
53
	 */
54
	private ColumnConfig	datImage;
54
	private ColumnConfig	datImage;
55
	/**
55
	/**
56
	 * Config de colonne
56
	 * Config de colonne
57
	 */
57
	 */
58
	private ColumnConfig	appImage;
58
	private ColumnConfig	appImage;
59
	/**
59
	/**
60
	 * Config de colonne
60
	 * Config de colonne
61
	 */
61
	 */
62
	private ColumnConfig	noteImage;
62
	private ColumnConfig	noteImage;
63
	/**
63
	/**
64
	 * Modele de colonnes
64
	 * Modele de colonnes
65
	 */
65
	 */
66
	private ColumnModel		modeleColonnes;
66
	private ColumnModel		modeleColonnes;
67
 
67
 
68
	/**
68
	/**
69
	 * Booleen d'instanciation
69
	 * Booleen d'instanciation
70
	 */
70
	 */
71
	private boolean			estInstancie	= false;
71
	private boolean			estInstancie	= false;
72
 
72
 
73
	/**
73
	/**
74
	 * Store qui contient les données à afficher
74
	 * Store qui contient les données à afficher
75
	 */
75
	 */
76
	private Store			st				= null;
76
	private Store			st				= null;
77
	/**
77
	/**
78
	 * Configuration des colonnes du store
78
	 * Configuration des colonnes du store
79
	 */
79
	 */
80
	private ColumnConfig	cl				= null;
80
	private ColumnConfig	cl				= null;
81
	
81
	
82
	/**
82
	/**
83
	 * Barre de pagination
83
	 * Barre de pagination
84
	 */
84
	 */
85
	private pageToolBarVue bt = null ;
85
	private pageToolBarVue bt = null ;
86
 
86
 
87
	/**
87
	/**
88
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
88
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
89
	 */
89
	 */
90
	private ListeImageVue()
90
	private ListeImageVue()
91
	{
91
	{
92
		super() ;
92
		super() ;
93
	}
93
	}
94
	
94
	
95
	/**
95
	/**
96
	 * Constructeur avec argument
96
	 * Constructeur avec argument
97
	 * @param im le médiateur à associer
97
	 * @param im le médiateur à associer
98
	 */
98
	 */
99
	public ListeImageVue(ImageMediateur im) {
99
	public ListeImageVue(ImageMediateur im) {
100
 
100
 
101
		new ListeImageVue() ;
101
		new ListeImageVue() ;
102
 
102
 
103
		this.setId("listeImageGrid");
103
		this.setId("listeImageGrid");
104
		// on associe le médiateur
104
		// on associe le médiateur
105
		this.iMediateur = im;
105
		this.iMediateur = im;
106
		
106
		
107
		// on place la barre de pagination
107
		// on place la barre de pagination
108
		bt = new pageToolBarVue(im);		
108
		bt = new pageToolBarVue(im);		
109
		this.setBottomToolbar(bt) ;
109
		this.setBottomToolbar(bt) ;
110
 
110
 
111
		// on construit le modèle de colonnes
111
		// on construit le modèle de colonnes
112
		numImage = new ColumnConfig("numéro", "num_image", 30, true, new Renderer() {
112
		numImage = new ColumnConfig("numéro", "num_image", 30, true, new Renderer() {
113
 
113
 
114
			public String render(Object value, CellMetadata cellMetadata,
114
			public String render(Object value, CellMetadata cellMetadata,
115
					Record record, int rowIndex, int colNum, Store store) {
115
					Record record, int rowIndex, int colNum, Store store) {
116
				
116
				
117
				String ImgNum = record.getAsString("num_image");
117
				String ImgNum = record.getAsString("num_image");
118
				return "<div class=\"centered-list\">"+ ImgNum  +"</div>";
118
				return "<div class=\"centered-list\">"+ ImgNum  +"</div>";
119
			}
119
			}
120
			
120
			
121
		}) ;
121
		}) ;
122
		
122
		
123
		datImage = new ColumnConfig("date", "dat_image", 120, true, new Renderer() {
123
		datImage = new ColumnConfig("date", "dat_image", 120, true, new Renderer() {
124
 
124
 
125
			public String render(Object value, CellMetadata cellMetadata,
125
			public String render(Object value, CellMetadata cellMetadata,
126
					Record record, int rowIndex, int colNum, Store store) {
126
					Record record, int rowIndex, int colNum, Store store) {
127
				
127
				
128
				String ImgDat = record.getAsString("dat_image");
128
				String ImgDat = record.getAsString("dat_image");
129
				if(ImgDat == null)
129
				if(ImgDat == null)
130
				{
130
				{
131
					ImgDat = " " ;
131
					ImgDat = " " ;
132
				}
132
				}
133
				return "<div class=\"centered-list\">"+ ImgDat +"</div>";
133
				return "<div class=\"centered-list\">"+ ImgDat +"</div>";
134
			}
134
			}
135
			
135
			
136
		}) ;
136
		}) ;
137
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true, new Renderer() {
137
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true, new Renderer() {
138
 
138
 
139
			public String render(Object value, CellMetadata cellMetadata,
139
			public String render(Object value, CellMetadata cellMetadata,
140
					Record record, int rowIndex, int colNum, Store store) {
140
					Record record, int rowIndex, int colNum, Store store) {
141
				
141
				
142
				String ImgLie = record.getAsString("lie_image");
142
				String ImgLie = record.getAsString("lie_image");
143
				if(ImgLie == null)
143
				if(ImgLie == null)
144
				{
144
				{
145
					ImgLie = " " ;
145
					ImgLie = " " ;
146
				}
146
				}
147
				return "<div class=\"centered-list\">"+ ImgLie  +"</div>";
147
				return "<div class=\"centered-list\">"+ ImgLie  +"</div>";
148
			}
148
			}
149
			
149
			
150
		}) ;
150
		}) ;
151
		appImage = new ColumnConfig("appareil", "app_image", 120, true, new Renderer() {
151
		appImage = new ColumnConfig("appareil", "app_image", 120, true, new Renderer() {
152
 
152
 
153
			public String render(Object value, CellMetadata cellMetadata,
153
			public String render(Object value, CellMetadata cellMetadata,
154
					Record record, int rowIndex, int colNum, Store store) {
154
					Record record, int rowIndex, int colNum, Store store) {
155
				
155
				
156
				String ImgApp = record.getAsString("app_image");
156
				String ImgApp = record.getAsString("app_image");
157
				if(ImgApp == null)
157
				if(ImgApp == null)
158
				{
158
				{
159
					ImgApp = " " ;
159
					ImgApp = " " ;
160
				}
160
				}
161
				return "<div class=\"centered-list\">"+ ImgApp  +"</div>";
161
				return "<div class=\"centered-list\">"+ ImgApp  +"</div>";
162
			}
162
			}
163
			
163
			
164
		}) ;
164
		}) ;
165
		// la colonne url possède une méthode de rendu spéciale
165
		// la colonne url possède une méthode de rendu spéciale
166
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
166
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
167
				new Renderer() {
167
				new Renderer() {
168
 
168
 
169
					public String render(Object value,
169
					public String render(Object value,
170
							CellMetadata cellMetadata, Record record,
170
							CellMetadata cellMetadata, Record record,
171
							int rowIndex, int colNum, Store store) {
171
							int rowIndex, int colNum, Store store) {
172
						// on affiche une div contenant l'image pointée par l'url
172
						// on affiche une div contenant l'image pointée par l'url
173
						String ImgUrl = record.getAsString("url_image_S");
173
						String ImgUrl = record.getAsString("url_image_S");
174
						String ImgNum = record.getAsString("num_image");
174
						String ImgNum = record.getAsString("num_image");
175
						return "<div class=\"img-list centered-list\"> <img src=\"" + ImgUrl
175
						return "<div class=\"img-list centered-list\"> <img src=\"" + ImgUrl
176
								+ "\" title='" + ImgNum + "'> </div>";
176
								+ "\" title='" + ImgNum + "'> </div>";
177
					}
177
					}
178
 
178
 
179
				});
179
				});
180
		
180
		
181
		noteImage = new ColumnConfig("note", "note_image", 80, true, 
181
		noteImage = new ColumnConfig("note", "note_image", 80, true, 
182
				new Renderer()
182
				new Renderer()
183
			{
183
			{
184
				public String render(Object value, CellMetadata cellMetadata,
184
				public String render(Object value, CellMetadata cellMetadata,
185
						Record record, int rowIndex, int colNum, Store store) {
185
						Record record, int rowIndex, int colNum, Store store) {
186
					
186
					
187
					String htmlImage = "" ;
187
					String htmlImage = "" ;
188
					
188
					
189
					int noteImg = record.getAsInteger("note_image") ;
189
					int noteImg = record.getAsInteger("note_image") ;
190
					if(noteImg >= 0)
190
					if(noteImg >= 0)
191
					{
191
					{
192
						htmlImage += "<div class=\"img-note centered-list\">" ;
192
						htmlImage += "<div class=\"img-note centered-list\">" ;
193
						for(int i = 0 ; i <= noteImg ; i++)
193
						for(int i = 0 ; i <= noteImg ; i++)
194
						{
194
						{
195
							htmlImage += "<img src=\"etoile_notee.jpg\">" ;
195
							htmlImage += "<img src=\"etoile_petite.png\">" ;
196
						}
196
						}
197
						htmlImage += "</div>" ;
197
						htmlImage += "</div>" ;
198
					}
198
					}
199
					
199
					
200
					return htmlImage ;
200
					return htmlImage ;
201
					
201
					
202
				}
202
				}
203
				
203
				
204
			}) ;
204
			}) ;
205
		
205
		
206
		// on associe le modèle de colonnes
206
		// on associe le modèle de colonnes
207
		ColumnConfig[] cm = {numImage, urlImage, datImage, lieImage, appImage, noteImage};
207
		ColumnConfig[] cm = {numImage, urlImage, datImage, lieImage, appImage, noteImage};
208
		modeleColonnes = new ColumnModel(cm);
208
		modeleColonnes = new ColumnModel(cm);
209
		this.setColumnModel(modeleColonnes);
209
		this.setColumnModel(modeleColonnes);
210
		this.setAutoScroll(true);
210
		this.setAutoScroll(true);
211
		this.setAutoWidth(true);
211
		this.setAutoWidth(true);
212
		this.setEnableColumnResize(true);
212
		this.setEnableColumnResize(true);
213
 
213
 
214
		// creation du store
214
		// creation du store
215
		FieldDef defNumImage = new IntegerFieldDef("num_image");
215
		FieldDef defNumImage = new IntegerFieldDef("num_image");
216
		FieldDef defDatImage = new StringFieldDef("dat_image");
216
		FieldDef defDatImage = new StringFieldDef("dat_image");
217
		FieldDef defLieImage = new StringFieldDef("lie_image");
217
		FieldDef defLieImage = new StringFieldDef("lie_image");
218
		FieldDef defAppImage = new StringFieldDef("app_image");
218
		FieldDef defAppImage = new StringFieldDef("app_image");
219
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
219
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
220
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
220
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
221
		FieldDef defUrlImage = new StringFieldDef("url_image");
221
		FieldDef defUrlImage = new StringFieldDef("url_image");
222
		FieldDef defNoteImage = new StringFieldDef("note_image");
222
		FieldDef defNoteImage = new StringFieldDef("note_image");
223
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
223
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
224
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage, defNoteImage };
224
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage, defNoteImage };
225
		RecordDef rd = new RecordDef(defTab);
225
		RecordDef rd = new RecordDef(defTab);
226
		st = new Store(rd);
226
		st = new Store(rd);
227
		// on associe le store
227
		// on associe le store
228
		this.setStore(st);
228
		this.setStore(st);
229
		this.getView().setAutoFill(true);
229
		this.getView().setAutoFill(true);
230
		
230
		
231
		// on crée un masque de chargement qui s'affichera lors des mises à jour
231
		// on crée un masque de chargement qui s'affichera lors des mises à jour
232
		this.setLoadMask("chargement");
232
		this.setLoadMask("chargement");
233
 
233
 
234
		// on ajoute les listeners
234
		// on ajoute les listeners
235
		ajouterListeners();
235
		ajouterListeners();
236
 
236
 
237
	}
237
	}
238
 
238
 
239
	/**
239
	/**
240
	 * Ajoute les listeners pour la gestion des évènements
240
	 * Ajoute les listeners pour la gestion des évènements
241
	 */
241
	 */
242
	private void ajouterListeners() {
242
	private void ajouterListeners() {
243
		this.addListener(new ContainerListenerAdapter() {
243
		this.addListener(new ContainerListenerAdapter() {
244
 
244
 
245
			
245
			
246
			public void onHide(Component component) {
246
			public void onHide(Component component) {
247
 
247
 
248
			}
248
			}
249
 
249
 
250
			// lors du premier rendu on demande les données qui sont déjà contenues dans la galerie qui est le premier élément affiché 
250
			// lors du premier rendu on demande les données qui sont déjà contenues dans la galerie qui est le premier élément affiché 
251
			
251
			
252
			public void onRender(Component component) {
252
			public void onRender(Component component) {
253
 
253
 
254
				if (!isEstInstancie()) {
254
				if (!isEstInstancie()) {
255
					setEstInstancie(true);
255
					setEstInstancie(true);
256
					getIMediateur().synchroniserSelection("galerie");
256
					getIMediateur().synchroniserSelection("galerie");
257
				}
257
				}
258
			}
258
			}
259
 
259
 
260
			
260
			
261
			public void onShow(Component component) {
261
			public void onShow(Component component) {
262
 
262
 
263
			}
263
			}
264
 
264
 
265
		});
265
		});
266
 
266
 
267
		this.addGridRowListener(new GridRowListener() {
267
		this.addGridRowListener(new GridRowListener() {
268
			
268
			
269
			// gestion du clic sur une ligne
269
			// gestion du clic sur une ligne
270
			public void onRowClick(GridPanel grid, int rowIndex, EventObject e) {
270
			public void onRowClick(GridPanel grid, int rowIndex, EventObject e) {
271
 
271
 
272
				// on notifie le médiateur et on lui passe le nuémro de ligne
272
				// on notifie le médiateur et on lui passe le nuémro de ligne
273
				getIMediateur().clicListeImage(rowIndex);
273
				getIMediateur().clicListeImage(rowIndex);
274
			}
274
			}
275
			
275
			
276
			// gestion du clic droit
276
			// gestion du clic droit
277
			public void onRowContextMenu(GridPanel grid, int rowIndex,
277
			public void onRowContextMenu(GridPanel grid, int rowIndex,
278
					EventObject e) {
278
					EventObject e) {
279
				// on stoppe l'évenement pour empecher le navigateur d'afficher son propre menu
279
				// on stoppe l'évenement pour empecher le navigateur d'afficher son propre menu
280
				e.stopEvent() ;
280
				e.stopEvent() ;
281
				// on notifie le médiateur en lui passant l'évenement
281
				// on notifie le médiateur en lui passant l'évenement
282
				getIMediateur().montrerContextMenu(e);
282
				getIMediateur().montrerContextMenu(e);
283
			}
283
			}
284
 
284
 
285
			// gestion du double clic
285
			// gestion du double clic
286
			public void onRowDblClick(GridPanel grid, int rowIndex,
286
			public void onRowDblClick(GridPanel grid, int rowIndex,
287
					EventObject e) {
287
					EventObject e) {
288
				// on notifie le médiateur en lui passant le numéro de ligne
288
				// on notifie le médiateur en lui passant le numéro de ligne
289
				getIMediateur().doubleClicListeImage(rowIndex);
289
				getIMediateur().doubleClicListeImage(rowIndex);
290
			}
290
			}
291
		});
291
		});
292
 
292
 
293
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
293
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
294
 
294
 
295
			// gestion de la sélection
295
			// gestion de la sélection
296
			
296
			
297
			public void onSelectionChange(RowSelectionModel sm) {
297
			public void onSelectionChange(RowSelectionModel sm) {
298
 
298
 
299
				// si on a rien de sélectionné
299
				// si on a rien de sélectionné
300
				if (sm.getCount() <= 0) {
300
				if (sm.getCount() <= 0) {
301
					// on notifie le médiateur (qui désactive notamment l'accès à certaines infos)
301
					// on notifie le médiateur (qui désactive notamment l'accès à certaines infos)
302
					getIMediateur().aucuneSelection();
302
					getIMediateur().aucuneSelection();
303
				} else {
303
				} else {
304
					// sinon on notifie le médiateur
304
					// sinon on notifie le médiateur
305
					getIMediateur().selection();
305
					getIMediateur().selection();
306
					// et on lui demande de synchroniser la selection avec les autres vues
306
					// et on lui demande de synchroniser la selection avec les autres vues
307
					getIMediateur().synchroniserSelection("liste");
307
					getIMediateur().synchroniserSelection("liste");
308
				}
308
				}
309
			}
309
			}
310
		});
310
		});
311
	}
311
	}
312
 
312
 
313
	/**
313
	/**
314
	 * Méthode héritée de l'interface VueListable
314
	 * Méthode héritée de l'interface VueListable
315
	 * Sélectionne les images dans la galerie suivant les identifiants donnés en paramètres
315
	 * Sélectionne les images dans la galerie suivant les identifiants donnés en paramètres
316
	 */
316
	 */
317
	public String[] getIdSelectionnees() {
317
	public String[] getIdSelectionnees() {
318
		Record[] selection = this.getSelectionModel().getSelections();
318
		Record[] selection = this.getSelectionModel().getSelections();
319
		int taille = selection.length;
319
		int taille = selection.length;
320
		String id_selection[] = new String[taille];
320
		String id_selection[] = new String[taille];
321
 
321
 
322
		for (int i = 0; i < selection.length; i++) {
322
		for (int i = 0; i < selection.length; i++) {
323
 
323
 
324
			id_selection[i] = selection[i].getAsString("num_image");
324
			id_selection[i] = selection[i].getAsString("num_image");
325
		}
325
		}
326
 
326
 
327
		return id_selection;
327
		return id_selection;
328
	}
328
	}
329
 
329
 
330
	/**
330
	/**
331
	 * Accesseur pour la config de colonnes
331
	 * Accesseur pour la config de colonnes
332
	 * @return la config de colonnes
332
	 * @return la config de colonnes
333
	 */
333
	 */
334
	public ColumnConfig getCl() {
334
	public ColumnConfig getCl() {
335
		return cl;
335
		return cl;
336
	}
336
	}
337
	
337
	
338
	/**
338
	/**
339
	 * Accesseur pour le médiateur
339
	 * Accesseur pour le médiateur
340
	 * @return le médiateur associé
340
	 * @return le médiateur associé
341
	 */
341
	 */
342
	public ImageMediateur getIMediateur() {
342
	public ImageMediateur getIMediateur() {
343
		return iMediateur;
343
		return iMediateur;
344
	}
344
	}
345
 
345
 
346
	/**
346
	/**
347
	 * Accesseur pour le modèle de colonnes
347
	 * Accesseur pour le modèle de colonnes
348
	 * @return le modèle de colonnes
348
	 * @return le modèle de colonnes
349
	 */
349
	 */
350
	public ColumnModel getModeleColonnes() {
350
	public ColumnModel getModeleColonnes() {
351
		return modeleColonnes;
351
		return modeleColonnes;
352
	}
352
	}
353
 
353
 
354
	/**
354
	/**
355
	 * Accesseur pour le store
355
	 * Accesseur pour le store
356
	 * @return le store contenant les données
356
	 * @return le store contenant les données
357
	 */
357
	 */
358
	public Store getSt() {
358
	public Store getSt() {
359
		return st;
359
		return st;
360
	}
360
	}
361
	
361
	
362
	/**
362
	/**
363
	 * Accesseur pour le booleen d'instanciation
363
	 * Accesseur pour le booleen d'instanciation
364
	 * @return le booleen d'instanciation
364
	 * @return le booleen d'instanciation
365
	 */
365
	 */
366
	public boolean isEstInstancie() {
366
	public boolean isEstInstancie() {
367
		return estInstancie;
367
		return estInstancie;
368
	}
368
	}
369
 
369
 
370
	/**
370
	/**
371
	 * Méthode héritée de l'interface rafraichissable
371
	 * Méthode héritée de l'interface rafraichissable
372
	 * @param nouvelleDonnees les nouvelles données
372
	 * @param nouvelleDonnees les nouvelles données
373
	 * @param repandreRafraichissement le booleen de notification du rafraichissement
373
	 * @param repandreRafraichissement le booleen de notification du rafraichissement
374
	 */
374
	 */
375
	public void rafraichir(Object nouvelleDonnees,
375
	public void rafraichir(Object nouvelleDonnees,
376
			boolean repandreRafraichissement) {
376
			boolean repandreRafraichissement) {
377
 
377
 
378
		// si on reçoit un store
378
		// si on reçoit un store
379
		if (nouvelleDonnees instanceof Store) {
379
		if (nouvelleDonnees instanceof Store) {
380
 
380
 
381
			// on affecte celui-ci comme gestionnaire de données
381
			// on affecte celui-ci comme gestionnaire de données
382
			st = (Store) nouvelleDonnees;
382
			st = (Store) nouvelleDonnees;
383
			st.load();
383
			st.load();
384
			// et on reconfigure et rafraichit la vue
384
			// et on reconfigure et rafraichit la vue
385
			this.reconfigure(st, this.getColumnModel());
385
			this.reconfigure(st, this.getColumnModel());
386
					
386
					
387
		}
387
		}
388
 
388
 
389
		// si on doit répandre l'évenement
389
		// si on doit répandre l'évenement
390
		if (repandreRafraichissement) {
390
		if (repandreRafraichissement) {
391
			// on notifie le médiateur avec une copie des données
391
			// on notifie le médiateur avec une copie des données
392
			getIMediateur().synchroniserDonneesZoomListeGalerie(
392
			getIMediateur().synchroniserDonneesZoomListeGalerie(
393
					nouvelleDonnees, this);
393
					nouvelleDonnees, this);
394
		}
394
		}
395
	}
395
	}
396
 
396
 
397
	/**
397
	/**
398
	 * Sélectionne des enregistrements donné 
398
	 * Sélectionne des enregistrements donné 
399
	 * @param sel un tableau d'enregistrement à selectionner
399
	 * @param sel un tableau d'enregistrement à selectionner
400
	 */
400
	 */
401
	public void selectionnerEnregistrements(Record[] sel) {
401
	public void selectionnerEnregistrements(Record[] sel) {
402
 
402
 
403
		if (isEstInstancie()) {
403
		if (isEstInstancie()) {
404
			getSelectionModel().clearSelections();
404
			getSelectionModel().clearSelections();
405
			getSelectionModel().selectRecords(sel);
405
			getSelectionModel().selectRecords(sel);
406
		}
406
		}
407
	}
407
	}
408
	
408
	
409
	/**
409
	/**
410
	 * Accesseur pour la toolbar de pagination
410
	 * Accesseur pour la toolbar de pagination
411
	 * @return la toolbar de pagination
411
	 * @return la toolbar de pagination
412
	 */
412
	 */
413
	public pageToolBarVue getToolBarVue()
413
	public pageToolBarVue getToolBarVue()
414
	{
414
	{
415
		return bt ;
415
		return bt ;
416
	}
416
	}
417
 
417
 
418
	/**
418
	/**
419
	 * Setteur pour le booleen d'instanciation
419
	 * Setteur pour le booleen d'instanciation
420
	 * @param estInstancie la nouvelle valeur du booleen
420
	 * @param estInstancie la nouvelle valeur du booleen
421
	 */
421
	 */
422
	public void setEstInstancie(boolean estInstancie) {
422
	public void setEstInstancie(boolean estInstancie) {
423
		this.estInstancie = estInstancie;
423
		this.estInstancie = estInstancie;
424
	}
424
	}
425
 
425
 
426
	public void mettreAjourInfos(String commentaires, String date, String note) { 
426
	public void mettreAjourInfos(String commentaires, String date, String note) { 
427
		
427
		
428
		for (int i = 0; i < getSelectionModel().getCount(); i++) {
428
		for (int i = 0; i < getSelectionModel().getCount(); i++) {
429
			
429
			
430
			getSelectionModel().getSelections()[i].set("note_image", note) ;
430
			getSelectionModel().getSelections()[i].set("note_image", note) ;
431
			//this.getView().refresh() ;
431
			//this.getView().refresh() ;
432
			
432
			
433
		}
433
		}
434
		
434
		
435
	}
435
	}
436
 
436
 
437
}
437
}