Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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