Subversion Repositories eFlore/Applications.cel

Rev

Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 5
Line 9... Line 9...
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.dd.DragData;
-
 
15
import com.gwtext.client.dd.DragSource;
-
 
16
import com.gwtext.client.dd.DropTarget;
-
 
17
import com.gwtext.client.dd.DropTargetConfig;
14
import com.gwtext.client.widgets.Component;
18
import com.gwtext.client.widgets.Component;
15
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
19
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
16
import com.gwtext.client.widgets.grid.CellMetadata;
20
import com.gwtext.client.widgets.grid.CellMetadata;
17
import com.gwtext.client.widgets.grid.ColumnConfig;
21
import com.gwtext.client.widgets.grid.ColumnConfig;
18
import com.gwtext.client.widgets.grid.ColumnModel;
22
import com.gwtext.client.widgets.grid.ColumnModel;
-
 
23
import com.gwtext.client.widgets.grid.GridDragData;
19
import com.gwtext.client.widgets.grid.GridPanel;
24
import com.gwtext.client.widgets.grid.GridPanel;
20
import com.gwtext.client.widgets.grid.Renderer;
25
import com.gwtext.client.widgets.grid.Renderer;
21
import com.gwtext.client.widgets.grid.RowSelectionModel;
26
import com.gwtext.client.widgets.grid.RowSelectionModel;
22
import com.gwtext.client.widgets.grid.event.GridRowListener;
27
import com.gwtext.client.widgets.grid.event.GridRowListener;
23
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
28
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
Line 85... Line 90...
85
	private pageToolBarVue bt = null ;
90
	private pageToolBarVue bt = null;
Line 86... Line 91...
86
 
91
 
87
	/**
92
	/**
88
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
93
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
89
	 */
94
	 */
90
	private ListeImageVue()
-
 
91
	{
95
	private ListeImageVue() {
92
		super() ;
96
		super();
Line 93... Line 97...
93
	}
97
	}
94
	
98
 
-
 
99
	/**
-
 
100
	 * Constructeur avec argument
95
	/**
101
	 * 
96
	 * Constructeur avec argument
102
	 * @param im
97
	 * @param im le médiateur à associer
103
	 *            le médiateur à associer
Line 98... Line 104...
98
	 */
104
	 */
Line 107... Line 113...
107
		// on place la barre de pagination
113
		// on place la barre de pagination
108
		bt = new pageToolBarVue(iMediateur);		
114
		bt = new pageToolBarVue(iMediateur);
109
		setBottomToolbar(bt) ;
115
		setBottomToolbar(bt);
Line 110... Line 116...
110
 
116
 
111
		// on construit le modèle de colonnes
117
		// on construit le modèle de colonnes
-
 
118
		numImage = new ColumnConfig("numéro", "num_image", 30, true,
Line 112... Line 119...
112
		numImage = new ColumnConfig("numéro", "num_image", 30, true, new Renderer() {
119
				new Renderer() {
-
 
120
 
113
 
121
					public String render(Object value,
Line 114... Line 122...
114
			public String render(Object value, CellMetadata cellMetadata,
122
							CellMetadata cellMetadata, Record record,
115
					Record record, int rowIndex, int colNum, Store store) {
123
							int rowIndex, int colNum, Store store) {
-
 
124
 
116
				
125
						String ImgNum = record.getAsString("num_image");
Line 117... Line 126...
117
				String ImgNum = record.getAsString("num_image");
126
						return "<div class=\"centered-list\">" + ImgNum
Line 118... Line 127...
118
				return "<div class=\"centered-list\">"+ ImgNum  +"</div>";
127
								+ "</div>";
-
 
128
					}
Line 119... Line 129...
119
			}
129
 
-
 
130
				});
120
			
131
 
Line 121... Line 132...
121
		}) ;
132
		datImage = new ColumnConfig("date", "dat_image", 120, true,
122
		
133
				new Renderer() {
123
		datImage = new ColumnConfig("date", "dat_image", 120, true, new Renderer() {
-
 
124
 
134
 
125
			public String render(Object value, CellMetadata cellMetadata,
135
					public String render(Object value,
126
					Record record, int rowIndex, int colNum, Store store) {
136
							CellMetadata cellMetadata, Record record,
-
 
137
							int rowIndex, int colNum, Store store) {
127
				
138
 
Line 128... Line 139...
128
				String ImgDat = record.getAsString("dat_image");
139
						String ImgDat = record.getAsString("dat_image");
129
				if(ImgDat == null)
140
						if (ImgDat == null) {
-
 
141
							ImgDat = " ";
Line 130... Line 142...
130
				{
142
						}
-
 
143
						return "<div class=\"centered-list\">" + ImgDat
131
					ImgDat = " " ;
144
								+ "</div>";
Line 132... Line 145...
132
				}
145
					}
133
				return "<div class=\"centered-list\">"+ ImgDat +"</div>";
146
 
134
			}
-
 
135
			
147
				});
136
		}) ;
148
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true,
137
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true, new Renderer() {
149
				new Renderer() {
-
 
150
 
138
 
151
					public String render(Object value,
Line 139... Line 152...
139
			public String render(Object value, CellMetadata cellMetadata,
152
							CellMetadata cellMetadata, Record record,
140
					Record record, int rowIndex, int colNum, Store store) {
153
							int rowIndex, int colNum, Store store) {
-
 
154
 
Line 141... Line 155...
141
				
155
						String ImgLie = record.getAsString("lie_image");
-
 
156
						if (ImgLie == null) {
142
				String ImgLie = record.getAsString("lie_image");
157
							ImgLie = " ";
Line 143... Line 158...
143
				if(ImgLie == null)
158
						}
144
				{
159
						return "<div class=\"centered-list\">" + ImgLie
145
					ImgLie = " " ;
-
 
146
				}
160
								+ "</div>";
147
				return "<div class=\"centered-list\">"+ ImgLie  +"</div>";
161
					}
148
			}
162
 
-
 
163
				});
149
			
164
		appImage = new ColumnConfig("appareil", "app_image", 120, true,
Line 150... Line 165...
150
		}) ;
165
				new Renderer() {
151
		appImage = new ColumnConfig("appareil", "app_image", 120, true, new Renderer() {
166
 
152
 
167
					public String render(Object value,
153
			public String render(Object value, CellMetadata cellMetadata,
168
							CellMetadata cellMetadata, Record record,
Line 154... Line 169...
154
					Record record, int rowIndex, int colNum, Store store) {
169
							int rowIndex, int colNum, Store store) {
155
				
170
 
156
				String ImgApp = record.getAsString("app_image");
171
						String ImgApp = record.getAsString("app_image");
157
				if(ImgApp == null)
172
						if (ImgApp == null) {
-
 
173
							ImgApp = " ";
158
				{
174
						}
159
					ImgApp = " " ;
175
						return "<div class=\"centered-list\">" + ImgApp
160
				}
176
								+ "</div>";
161
				return "<div class=\"centered-list\">"+ ImgApp  +"</div>";
177
					}
162
			}
178
 
Line 163... Line 179...
163
			
179
				});
Line 164... Line 180...
164
		}) ;
180
		// 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
181
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
166
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
-
 
167
				new Renderer() {
182
				new Renderer() {
-
 
183
 
168
 
184
					public String render(Object value,
Line 169... Line 185...
169
					public String render(Object value,
185
							CellMetadata cellMetadata, Record record,
Line 170... Line 186...
170
							CellMetadata cellMetadata, Record record,
186
							int rowIndex, int colNum, Store store) {
171
							int rowIndex, int colNum, Store store) {
187
						// on affiche une div contenant l'image pointée par
172
						// on affiche une div contenant l'image pointée par l'url
-
 
173
						String ImgUrl = record.getAsString("url_image_S");
188
						// l'url
174
						String ImgNum = record.getAsString("num_image");
189
						String ImgUrl = record.getAsString("url_image_S");
175
						return "<div class=\"img-list centered-list\"> <img src=\"" + ImgUrl
-
 
176
								+ "\" title='" + ImgNum + "'> </div>";
190
						String ImgNum = record.getAsString("num_image");
177
					}
191
						return "<div class=\"img-list centered-list\"> <img src=\""
178
 
192
								+ ImgUrl + "\" title='" + ImgNum + "'> </div>";
179
				});
193
					}
Line 202... Line 216...
202
				}
216
					}
Line 203... Line 217...
203
				
217
 
Line 204... Line 218...
204
			}) ;
218
				});
205
		
219
 
-
 
220
		// on associe le modèle de colonnes
206
		// on associe le modèle de colonnes
221
		ColumnConfig[] cm = { numImage, urlImage, datImage, lieImage, appImage,
207
		ColumnConfig[] cm = {numImage, urlImage, datImage, lieImage, appImage, noteImage};
222
				noteImage };
208
		modeleColonnes = new ColumnModel(cm);
223
		modeleColonnes = new ColumnModel(cm);
209
		this.setColumnModel(modeleColonnes);
224
		this.setColumnModel(modeleColonnes);
210
		this.setAutoScroll(true);
225
		this.setAutoScroll(true);
Line 219... Line 234...
219
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
234
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
220
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
235
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
221
		FieldDef defUrlImage = new StringFieldDef("url_image");
236
		FieldDef defUrlImage = new StringFieldDef("url_image");
222
		FieldDef defNoteImage = new StringFieldDef("note_image");
237
		FieldDef defNoteImage = new StringFieldDef("note_image");
223
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
238
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
224
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage, defNoteImage };
239
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
-
 
240
				defNoteImage };
225
		RecordDef rd = new RecordDef(defTab);
241
		RecordDef rd = new RecordDef(defTab);
226
		st = new Store(rd);
242
		st = new Store(rd);
227
		// on associe le store
243
		// on associe le store
228
		this.setStore(st);
244
		this.setStore(st);
229
		this.getView().setAutoFill(true);
245
		this.getView().setAutoFill(true);
Line 230... Line 246...
230
		
246
 
231
		// on crée un masque de chargement qui s'affichera lors des mises à jour
247
		// on crée un masque de chargement qui s'affichera lors des mises à jour
Line -... Line 248...
-
 
248
		this.setLoadMask("chargement");
-
 
249
		
-
 
250
		//Enable drag and drop
-
 
251
		this.setEnableDragDrop(true);
-
 
252
		//You need to set the same group for both grids
232
		this.setLoadMask("chargement");
253
		this.setDdGroup("DragGroupName");
233
		
254
 
Line 234... Line 255...
234
		// on ajoute les listeners
255
		// on ajoute les listeners
Line -... Line 256...
-
 
256
		ajouterListeners();
235
		ajouterListeners();
257
 
236
 
258
	}
237
	}
259
	
238
 
260
 
239
	/**
261
	/**
Line 240... Line -...
240
	 * Ajoute les listeners pour la gestion des évènements
-
 
241
	 */
262
	 * Ajoute les listeners pour la gestion des évènements
Line 242... Line 263...
242
	private void ajouterListeners() {
263
	 */
Line -... Line 264...
-
 
264
	private void ajouterListeners() {
243
		this.addListener(new ContainerListenerAdapter() {
265
		this.addListener(new ContainerListenerAdapter() {
Line 244... Line 266...
244
 
266
 
Line 245... Line 267...
245
			
267
			public void onHide(Component component) {
246
			public void onHide(Component component) {
268
 
-
 
269
			}
247
 
270
 
248
			}
271
			// lors du premier rendu on demande les données qui sont déjà
249
 
272
			// contenues dans la galerie qui est le premier élément affiché
Line 250... Line -...
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
			
273
 
Line 252... Line 274...
252
			public void onRender(Component component) {
274
			public void onRender(Component component) {
Line 253... Line 275...
253
 
275
 
Line 274... Line 296...
274
			}
296
			}
Line 275... Line 297...
275
			
297
 
276
			// gestion du clic droit
298
			// gestion du clic droit
277
			public void onRowContextMenu(GridPanel grid, int rowIndex,
299
			public void onRowContextMenu(GridPanel grid, int rowIndex,
278
					EventObject e) {
300
					EventObject e) {
-
 
301
				// on stoppe l'évenement pour empecher le navigateur d'afficher
279
				// on stoppe l'évenement pour empecher le navigateur d'afficher son propre menu
302
				// son propre menu
280
				e.stopEvent() ;
303
				e.stopEvent();
281
				// on notifie le médiateur en lui passant l'évenement
304
				// on notifie le médiateur en lui passant l'évenement
282
				getIMediateur().montrerContextMenu(e);
305
				getIMediateur().montrerContextMenu(e);
Line 296... Line 319...
296
			
319
 
Line 297... Line 320...
297
			public void onSelectionChange(RowSelectionModel sm) {
320
			public void onSelectionChange(RowSelectionModel sm) {
298
 
321
 
299
				// si on a rien de sélectionné
322
				// si on a rien de sélectionné
-
 
323
				if (sm.getCount() <= 0) {
300
				if (sm.getCount() <= 0) {
324
					// on notifie le médiateur (qui désactive notamment l'accès
301
					// on notifie le médiateur (qui désactive notamment l'accès à certaines infos)
325
					// à certaines infos)
302
					getIMediateur().aucuneSelection();
326
					getIMediateur().aucuneSelection();
303
				} else {
327
				} else {
304
					// sinon on notifie le médiateur
328
					// sinon on notifie le médiateur
-
 
329
					getIMediateur().selection();
305
					getIMediateur().selection();
330
					// et on lui demande de synchroniser la selection avec les
306
					// et on lui demande de synchroniser la selection avec les autres vues
331
					// autres vues
307
					getIMediateur().synchroniserSelection("liste");
332
					getIMediateur().synchroniserSelection("liste");
308
				}
333
				}
-
 
334
			}
-
 
335
		});
-
 
336
		
-
 
337
		//Enable drag and drop
-
 
338
		this.setEnableDragDrop(true);
-
 
339
 
-
 
340
		//Same name in destination
-
 
341
		this.setDdGroup("DragGroupName");
-
 
342
		DropTargetConfig dtc = new DropTargetConfig();
-
 
343
		dtc.setdDdGroup("DragGroupName");
-
 
344
 
-
 
345
		//Now this is the important part, you need a drop target
-
 
346
		@SuppressWarnings("unused")
-
 
347
		DropTarget tg = new DropTarget(this, dtc)
-
 
348
		{
-
 
349
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){
-
 
350
			
-
 
351
				if(data instanceof GridDragData)
-
 
352
				{
-
 
353
					GridDragData gdd = (GridDragData)data ;
-
 
354
	    		  	if(gdd.getGrid().getId().equals("listeImageGrid"))
-
 
355
	    		  	{
-
 
356
	    		  		return false ;
-
 
357
	    		  	}
-
 
358
	    		  	else
-
 
359
	    		  	{
-
 
360
	    		  		return iMediateur.lierObsDD(source, e, data, getId()) ;   
-
 
361
	    		  	}
-
 
362
				}
-
 
363
				else
-
 
364
				{
-
 
365
					return false ;
-
 
366
				}
-
 
367
				
-
 
368
				
-
 
369
			}
-
 
370
			
-
 
371
			public String notifyOver(DragSource source, EventObject e, DragData data){
-
 
372
			    return "x-dd-drop-ok";
309
			}
373
			}
Line 310... Line 374...
310
		});
374
		};
311
	}
375
	}
312
 
376
 
313
	/**
377
	/**
314
	 * Méthode héritée de l'interface VueListable
378
	 * Méthode héritée de l'interface VueListable Sélectionne les images dans la
315
	 * Sélectionne les images dans la galerie suivant les identifiants donnés en paramètres
379
	 * galerie suivant les identifiants donnés en paramètres
316
	 */
380
	 */
317
	public String[] getIdSelectionnees() {
381
	public String[] getIdSelectionnees() {
Line 327... Line 391...
327
		return id_selection;
391
		return id_selection;
328
	}
392
	}
Line 329... Line 393...
329
 
393
 
330
	/**
394
	/**
-
 
395
	 * Accesseur pour la config de colonnes
331
	 * Accesseur pour la config de colonnes
396
	 * 
332
	 * @return la config de colonnes
397
	 * @return la config de colonnes
333
	 */
398
	 */
334
	public ColumnConfig getCl() {
399
	public ColumnConfig getCl() {
335
		return cl;
400
		return cl;
Line 336... Line 401...
336
	}
401
	}
337
	
402
 
-
 
403
	/**
338
	/**
404
	 * Accesseur pour le médiateur
339
	 * Accesseur pour le médiateur
405
	 * 
340
	 * @return le médiateur associé
406
	 * @return le médiateur associé
341
	 */
407
	 */
342
	public ImageMediateur getIMediateur() {
408
	public ImageMediateur getIMediateur() {
Line 343... Line 409...
343
		return iMediateur;
409
		return iMediateur;
344
	}
410
	}
-
 
411
 
345
 
412
	/**
346
	/**
413
	 * Accesseur pour le modèle de colonnes
347
	 * Accesseur pour le modèle de colonnes
414
	 * 
348
	 * @return le modèle de colonnes
415
	 * @return le modèle de colonnes
349
	 */
416
	 */
Line 350... Line 417...
350
	public ColumnModel getModeleColonnes() {
417
	public ColumnModel getModeleColonnes() {
351
		return modeleColonnes;
418
		return modeleColonnes;
-
 
419
	}
352
	}
420
 
353
 
421
	/**
354
	/**
422
	 * Accesseur pour le store
355
	 * Accesseur pour le store
423
	 * 
356
	 * @return le store contenant les données
424
	 * @return le store contenant les données
Line 357... Line 425...
357
	 */
425
	 */
358
	public Store getSt() {
426
	public Store getSt() {
-
 
427
		return st;
359
		return st;
428
	}
360
	}
429
 
361
	
430
	/**
362
	/**
431
	 * Accesseur pour le booleen d'instanciation
363
	 * Accesseur pour le booleen d'instanciation
432
	 * 
Line 364... Line 433...
364
	 * @return le booleen d'instanciation
433
	 * @return le booleen d'instanciation
365
	 */
434
	 */
-
 
435
	public boolean isEstInstancie() {
-
 
436
		return estInstancie;
366
	public boolean isEstInstancie() {
437
	}
-
 
438
 
367
		return estInstancie;
439
	/**
368
	}
440
	 * Méthode héritée de l'interface rafraichissable
369
 
441
	 * 
370
	/**
442
	 * @param nouvelleDonnees
Line 371... Line 443...
371
	 * Méthode héritée de l'interface rafraichissable
443
	 *            les nouvelles données
Line 394... Line 466...
394
		}
466
		}
395
	}
467
	}
Line 396... Line 468...
396
 
468
 
397
	/**
469
	/**
-
 
470
	 * Sélectionne des enregistrements donné
-
 
471
	 * 
398
	 * Sélectionne des enregistrements donné 
472
	 * @param sel
399
	 * @param sel un tableau d'enregistrement à selectionner
473
	 *            un tableau d'enregistrement à selectionner
400
	 */
474
	 */
Line 401... Line 475...
401
	public void selectionnerEnregistrements(Record[] sel) {
475
	public void selectionnerEnregistrements(Record[] sel) {
402
 
476
 
Line 406... Line 480...
406
		}
480
		}
407
	}
481
	}
Line 408... Line 482...
408
	
482
 
409
	/**
483
	/**
-
 
484
	 * Accesseur pour la toolbar de pagination
410
	 * Accesseur pour la toolbar de pagination
485
	 * 
411
	 * @return la toolbar de pagination
486
	 * @return la toolbar de pagination
412
	 */
487
	 */
413
	public pageToolBarVue getToolBarVue()
-
 
414
	{
488
	public pageToolBarVue getToolBarVue() {
415
		return bt ;
489
		return bt;
Line 416... Line 490...
416
	}
490
	}
417
 
491
 
-
 
492
	/**
-
 
493
	 * Setteur pour le booleen d'instanciation
418
	/**
494
	 * 
419
	 * Setteur pour le booleen d'instanciation
495
	 * @param estInstancie
420
	 * @param estInstancie la nouvelle valeur du booleen
496
	 *            la nouvelle valeur du booleen
421
	 */
497
	 */
422
	public void setEstInstancie(boolean estInstancie) {
498
	public void setEstInstancie(boolean estInstancie) {