Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 155 Rev 173
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import java.util.Iterator;
3
import java.util.Iterator;
4
 
4
 
5
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.image.ImageMediateur;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.ListeObservation;
7
import org.tela_botanica.client.modeles.ListeObservation;
8
import org.tela_botanica.client.modeles.Observation;
8
import org.tela_botanica.client.modeles.Observation;
9
 
9
 
10
import com.google.gwt.core.client.JavaScriptObject;
10
import com.google.gwt.core.client.JavaScriptObject;
11
import com.google.gwt.user.client.Window;
11
import com.google.gwt.user.client.Window;
12
import com.google.gwt.user.client.ui.MouseListenerAdapter;
12
import com.google.gwt.user.client.ui.MouseListenerAdapter;
13
import com.gwtext.client.data.Record;
13
import com.gwtext.client.data.Record;
14
import com.gwtext.client.data.SimpleStore;
14
import com.gwtext.client.data.SimpleStore;
15
import com.gwtext.client.data.Store;
15
import com.gwtext.client.data.Store;
16
import com.gwtext.client.dd.DragSource;
16
import com.gwtext.client.dd.DragSource;
17
import com.gwtext.client.dd.DropTarget;
17
import com.gwtext.client.dd.DropTarget;
18
import com.gwtext.client.dd.DropTargetConfig;
18
import com.gwtext.client.dd.DropTargetConfig;
19
import com.gwtext.client.widgets.BoxComponent;
19
import com.gwtext.client.widgets.BoxComponent;
20
import com.gwtext.client.widgets.Component;
20
import com.gwtext.client.widgets.Component;
21
import com.gwtext.client.widgets.Container;
21
import com.gwtext.client.widgets.Container;
22
import com.gwtext.client.widgets.Panel;
22
import com.gwtext.client.widgets.Panel;
23
import com.gwtext.client.widgets.Toolbar;
23
import com.gwtext.client.widgets.Toolbar;
24
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
24
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
25
import com.gwtext.client.widgets.event.ContainerListener;
25
import com.gwtext.client.widgets.event.ContainerListener;
26
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
26
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
27
import com.gwtext.client.widgets.event.PanelListener;
27
import com.gwtext.client.widgets.event.PanelListener;
28
import com.gwtext.client.widgets.event.PanelListenerAdapter;
28
import com.gwtext.client.widgets.event.PanelListenerAdapter;
29
import com.gwtext.client.widgets.form.ComboBox;
29
import com.gwtext.client.widgets.form.ComboBox;
30
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
30
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
31
import com.gwtext.client.widgets.grid.ColumnConfig;
31
import com.gwtext.client.widgets.grid.ColumnConfig;
32
import com.gwtext.client.widgets.grid.ColumnModel;
32
import com.gwtext.client.widgets.grid.ColumnModel;
33
import com.gwtext.client.widgets.grid.GridDragData;
33
import com.gwtext.client.widgets.grid.GridDragData;
34
import com.gwtext.client.widgets.grid.GridPanel;
34
import com.gwtext.client.widgets.grid.GridPanel;
35
import com.gwtext.client.widgets.grid.event.GridListener;
35
import com.gwtext.client.widgets.grid.event.GridListener;
36
import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
36
import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
37
import com.gwtext.client.widgets.map.OpenLayersMap;
37
import com.gwtext.client.widgets.map.OpenLayersMap;
38
import com.gwtext.client.core.EventObject;
38
import com.gwtext.client.core.EventObject;
39
import com.gwtext.client.core.Ext;
39
import com.gwtext.client.core.Ext;
40
import com.gwtext.client.core.ExtElement;
40
import com.gwtext.client.core.ExtElement;
41
import com.gwtext.client.dd.DragData;
41
import com.gwtext.client.dd.DragData;
42
 
42
 
43
/**
43
/**
44
 * liste d'observation pour l'association d'images aux observations
44
 * liste d'observation pour l'association d'images aux observations
45
 * @author aurelien
45
 * @author aurelien
46
 *
46
 *
47
 */
47
 */
48
public class MiniListeObservationVue extends GridPanel implements Rafraichissable {
48
public class MiniListeObservationVue extends GridPanel implements Rafraichissable {
49
 
49
 
50
	/**
50
	/**
51
	 * Le médiateur associé à la vue
51
	 * Le médiateur associé à la vue
52
	 */
52
	 */
53
	private ImageMediateur iMediateur = null ;
53
	private ImageMediateur iMediateur = null ;
54
	
54
	
55
	/**
55
	/**
56
	 * Booléen d'instanciation
56
	 * Booléen d'instanciation
57
	 */
57
	 */
58
	private boolean estInstancie = false ;
58
	private boolean estInstancie = false ;
59
	
59
	
60
	/**
60
	/**
61
	 * Le modèle de colonnes
61
	 * Le modèle de colonnes
62
	 */
62
	 */
63
	private ColumnModel colModel = null ;
63
	private ColumnModel colModel = null ;
64
	
64
	
65
	private SimpleStore store = null ;
65
	private SimpleStore store = null ;
66
	
66
	
67
	//private BarrePaginationVue pgBar = new BarrePaginationVue(iMediateur) ;
67
	//private BarrePaginationVue pgBar = new BarrePaginationVue(iMediateur) ;
68
	
68
	
69
	private Toolbar bt = new Toolbar() ;
69
	private Toolbar bt = new Toolbar() ;
70
	
70
	
71
	/**
71
	/**
72
	 * Combobox permettant de selectionner le mode
72
	 * Combobox permettant de selectionner le mode
73
	 * modification ou bien création
73
	 * modification ou bien création
74
	 */
74
	 */
75
	private ComboBox selecteurMode = new ComboBox();
75
	private ComboBox selecteurMode = new ComboBox();
76
	
76
	
77
	Store storeMode = null ;
77
	Store storeMode = null ;
78
 
78
 
79
	private boolean liaison;
79
	private boolean liaison;
80
	
80
	
81
	/**
81
	/**
82
	 * Constructeur avec arguments
82
	 * Constructeur avec arguments
83
	 * @param im le médiateur à associer à la vue
83
	 * @param im le médiateur à associer à la vue
84
	 */
84
	 */
85
	public MiniListeObservationVue(ImageMediateur im)
85
	public MiniListeObservationVue(ImageMediateur im)
86
	{
86
	{
87
		iMediateur = im ;
87
		iMediateur = im ;
88
		
88
		
89
		this.setId("x-view-mini-obs") ;
89
		this.setId("x-view-mini-obs") ;
90
		
90
		
91
		// on crée un store simple contenant un petit set de données et deux colonnes
91
		// on crée un store simple contenant un petit set de données et deux colonnes
92
		store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, getObs());  
92
		store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, getObs());  
93
		ColumnConfig[] columns = {  
93
		ColumnConfig[] columns = {  
94
		new ColumnConfig("Numero", "id_obs", 50, true),   
94
		new ColumnConfig("Numero", "id_obs", 50, true),   
95
		new ColumnConfig("Taxon", "plante", 145, true), 
95
		new ColumnConfig("Taxon", "plante", 145, true), 
96
		new ColumnConfig("Date", "date", 68, true),
96
		new ColumnConfig("Date", "date", 68, true),
97
		new ColumnConfig("Lieu", "lieu", 145, true) } ;
97
		new ColumnConfig("Lieu", "lieu", 145, true) } ;
98
		   
98
		   
99
        ColumnModel columnModel = new ColumnModel(columns);
99
        ColumnModel columnModel = new ColumnModel(columns);
100
         
100
         
101
        colModel = columnModel ;
101
        colModel = columnModel ;
102
 
102
 
103
         
103
         
104
        setTitle("Observations");  
104
        setTitle("Observations");  
105
        // on associe le modèle de colonnes
105
        // on associe le modèle de colonnes
106
        setColumnModel(columnModel);  
106
        setColumnModel(columnModel);  
107
        setAutoScroll(true) ;
107
        setAutoScroll(true) ;
108
        setHeight("100%") ;
108
        setHeight("100%") ;
109
		setAutoWidth(true) ; 
109
		setAutoWidth(true) ; 
110
        // on autorise le drag 'n drop pour un certain groupe
110
        // on autorise le drag 'n drop pour un certain groupe
111
 		this.setEnableDragDrop(true);
111
 		this.setEnableDragDrop(true);
112
 		this.setDdGroup("DragGroupName");
112
 		this.setDdGroup("DragGroupName");
113
        store.load();       
113
        store.load();       
114
		setStore(store) ;
114
		setStore(store) ;
115
		
115
		
116
		//setBottomToolbar(pgBar) ;
116
		//setBottomToolbar(pgBar) ;
117
		
117
		
118
		Object[][] mode = {{"toutes les observations",false} , {"observations liées", true} };
118
		Object[][] mode = {{"toutes les observations",false} , {"observations liées", true} };
119
		storeMode = new SimpleStore(new String[] { "nom_mode", "mode" },
119
		storeMode = new SimpleStore(new String[] { "nom_mode", "mode" },
120
				mode);
120
				mode);
121
		storeMode.load();
121
		storeMode.load();
122
		selecteurMode.setStore(storeMode);
122
		selecteurMode.setStore(storeMode);
123
		selecteurMode.setDisplayField("nom_mode") ;
123
		selecteurMode.setDisplayField("nom_mode") ;
124
		selecteurMode.setLabel("mode ") ;
124
		selecteurMode.setLabel("mode ") ;
125
		selecteurMode.setForceSelection(true) ;
125
		selecteurMode.setForceSelection(true) ;
126
		selecteurMode.setValue("toutes les observations") ;
126
		selecteurMode.setValue("toutes les observations") ;
127
		selecteurMode.setEditable(false) ;
127
		selecteurMode.setEditable(false) ;
128
		selecteurMode.setCls("x-selec-consult") ;
128
		selecteurMode.setCls("x-selec-consult") ;
129
		
129
		
130
		bt = new Toolbar() ;
130
		bt = new Toolbar() ;
131
		bt.addField(selecteurMode) ;
131
		bt.addField(selecteurMode) ;
132
		
132
		
133
		//this.setAutoExpandColumn("plante");
133
		//this.setAutoExpandColumn("plante");
134
		
134
		
135
		setTopToolbar(bt) ;
135
		setTopToolbar(bt) ;
136
		
136
		
137
		selecteurMode.addListener(new ComboBoxListenerAdapter() {
137
		selecteurMode.addListener(new ComboBoxListenerAdapter() {
138
 
138
 
139
			public void onSelect(ComboBox comboBox, Record record, int index) {
139
			public void onSelect(ComboBox comboBox, Record record, int index) {
140
				
140
				
141
				// et on met la valeur à jour dans la combobox
141
				// et on met la valeur à jour dans la combobox
142
				comboBox.setValue(record.getAsString("nom_mode"));
142
				comboBox.setValue(record.getAsString("nom_mode"));
143
				setModification(record.getAsString("mode")) ;
143
				setModification(record.getAsString("mode")) ;
144
			}
144
			}
145
 
145
 
146
		});
146
		});
147
		
147
		
148
		setAutoScroll(true) ;
148
		setAutoScroll(true) ;
149
		// on configure le drag 'n drop
149
		// on configure le drag 'n drop
150
		configDragAndDrop() ;
150
		configDragAndDrop() ;
151
		
151
		
152
		this.addListener(new ComponentListenerAdapter() {
152
		this.addListener(new ContainerListenerAdapter() {
153
			
153
			
154
			public void onRender(Component c) {
154
			public void onRender(Component c) {
155
				
155
				
156
				obtenirMiniListeObservations() ;
156
				obtenirMiniListeObservations() ;
157
				
157
				
158
			}
158
			}
-
 
159
			
-
 
160
			public void onAfterLayout(Container c)
-
 
161
			{
-
 
162
				obtenirMiniListeObservations() ;
-
 
163
			}
159
			
164
			
160
		}) ;
165
		}) ;
161
		
166
		
162
		this.addGridListener(new GridListenerAdapter() {
167
		this.addGridListener(new GridListenerAdapter() {
163
 
168
 
164
			public void onContextMenu(EventObject e) {
169
			public void onContextMenu(EventObject e) {
165
				
170
				
166
				e.stopEvent() ;
171
				e.stopEvent() ;
167
				MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur,liaison) ;
172
				MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur,liaison) ;
168
				mlv.showAt(e.getXY()) ;
173
				mlv.showAt(e.getXY()) ;
169
				
174
				
170
			}
175
			}
171
			
176
			
172
		}) ;               
177
		}) ;               
173
	}
178
	}
174
	
179
	
175
	/**
180
	/**
176
	 * Configure le drag 'n drop pour la liste
181
	 * Configure le drag 'n drop pour la liste
177
	 */
182
	 */
178
	private void configDragAndDrop()
183
	private void configDragAndDrop()
179
	{
184
	{
180
		// on choisit le texte qui sera affiché lors d'un drag 'n drop
185
		// on choisit le texte qui sera affiché lors d'un drag 'n drop
181
		setDragDropText("Faites glisser la selection d'observations sur une image pour les lier") ;
186
		setDragDropText("Faites glisser la selection d'observations sur une image pour les lier") ;
182
		
187
		
183
		//On active le drag 'n drop
188
		//On active le drag 'n drop
184
		this.setEnableDragDrop(true);
189
		this.setEnableDragDrop(true);
185
 
190
 
186
		// on fabrique la nouvelle configuration
191
		// on fabrique la nouvelle configuration
187
		// les éléments sur lesquels on fait du drag 'n drop doivent tous avoir le même ddGroup
192
		// les éléments sur lesquels on fait du drag 'n drop doivent tous avoir le même ddGroup
188
		this.setDdGroup("DragGroupName");
193
		this.setDdGroup("DragGroupName");
189
		DropTargetConfig dtc = new DropTargetConfig();
194
		DropTargetConfig dtc = new DropTargetConfig();
190
		dtc.setdDdGroup("DragGroupName");
195
		dtc.setdDdGroup("DragGroupName");
191
 
196
 
192
		//La drop target permet de gérer l'évenement onDrop sur l'élement courant
197
		//La drop target permet de gérer l'évenement onDrop sur l'élement courant
193
		@SuppressWarnings("unused")
198
		@SuppressWarnings("unused")
194
		DropTarget tg = new DropTarget(this, dtc)
199
		DropTarget tg = new DropTarget(this, dtc)
195
		{
200
		{
196
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){	
201
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){	
197
				
202
				
198
				// si on reçoit des données provenant d'une grille
203
				// si on reçoit des données provenant d'une grille
199
				if(data instanceof GridDragData)
204
				if(data instanceof GridDragData)
200
		    	  {
205
		    	  {
201
					// on la convertit 
206
					// on la convertit 
202
		    		  	GridDragData gdd = (GridDragData)data ;
207
		    		  	GridDragData gdd = (GridDragData)data ;
203
		    		  	// et on vérifie que les données ne viennent pas de l'élément courant
208
		    		  	// et on vérifie que les données ne viennent pas de l'élément courant
204
		    		  	if(gdd.getGrid().getId().equals("x-view-mini-obs"))
209
		    		  	if(gdd.getGrid().getId().equals("x-view-mini-obs"))
205
		    		  	{
210
		    		  	{
206
		    		  		return false ;
211
		    		  		return false ;
207
		    		  	}
212
		    		  	}
208
		    		  	else
213
		    		  	else
209
		    		  	{
214
		    		  	{
210
		    		  		// on appelle le médiateur
215
		    		  		// on appelle le médiateur
211
		    		  		return iMediateur.lierImagesDD(source, e, data) ;   
216
		    		  		return iMediateur.lierImagesDD(source, e, data) ;   
212
		    		  	}
217
		    		  	}
213
		    	  }
218
		    	  }
214
				return false ;
219
				return false ;
215
			}
220
			}
216
			
221
			
217
			public String notifyOver(DragSource source, EventObject e, DragData data){
222
			public String notifyOver(DragSource source, EventObject e, DragData data){
218
			    return "x-dd-drop-ok";
223
			    return "x-dd-drop-ok";
219
			}
224
			}
220
		};
225
		};
221
        
226
        
222
	}
227
	}
223
	
228
	
224
	/**
229
	/**
225
	 * Méthode héritée de l'interface rafraichissable
230
	 * Méthode héritée de l'interface rafraichissable
226
	 */
231
	 */
227
	public void rafraichir(Object nouvelleDonnees,
232
	public void rafraichir(Object nouvelleDonnees,
228
			boolean repandreRaffraichissement) {
233
			boolean repandreRaffraichissement) {
229
		
234
		
230
		if(nouvelleDonnees instanceof ListeObservation)
235
		if(nouvelleDonnees instanceof ListeObservation)
231
		{
236
		{
232
			if(this.getView() != null)
237
			if(this.getView() != null)
233
			{
238
			{
234
				ListeObservation data = (ListeObservation)nouvelleDonnees ;
239
				ListeObservation data = (ListeObservation)nouvelleDonnees ;
235
				String[][] listeObs = new String[data.size()][4] ;
240
				String[][] listeObs = new String[data.size()][4] ;
236
				int i = 0 ;
241
				int i = 0 ;
237
				
242
				
238
				for (Iterator it = data.keySet().iterator(); it.hasNext();) 
243
				for (Iterator it = data.keySet().iterator(); it.hasNext();) 
239
				{
244
				{
240
					
245
					
241
					Observation obs=(Observation) data.get(it.next());
246
					Observation obs=(Observation) data.get(it.next());
242
					
247
					
243
					listeObs[i][0] = obs.getNumeroOrdre();
248
					listeObs[i][0] = obs.getNumeroOrdre();
244
					listeObs[i][1] = obs.getNomSaisi();
249
					listeObs[i][1] = obs.getNomSaisi();
245
					listeObs[i][2] = obs.getDate() ;
250
					listeObs[i][2] = obs.getDate() ;
246
					listeObs[i][3] = obs.getLocalite();
251
					listeObs[i][3] = obs.getLocalite();
247
				
252
				
248
					i++ ;
253
					i++ ;
249
				}
254
				}
250
	
255
	
251
				store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, listeObs);  	
256
				store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, listeObs);  	
252
				store.load();       
257
				store.load();       
253
				this.reconfigure(store, colModel) ;
258
				this.reconfigure(store, colModel) ;
254
			}
259
			}
255
			else
260
			else
256
			{
261
			{
257
				addListener(new ContainerListenerAdapter() {
262
				addListener(new ContainerListenerAdapter() {
258
					
263
					
259
					public void onShow(Component c)
264
					public void onShow(Component c)
260
					{
265
					{
-
 
266
						obtenirMiniListeObservations() ;
-
 
267
					}
-
 
268
					
-
 
269
					public void onAfterLayout(Container c)
-
 
270
					{
261
						obtenirMiniListeObservations() ;
271
						obtenirMiniListeObservations() ;
262
					}
272
					}
263
					
273
					
264
				}) ;
274
				}) ;
265
			}
275
			}
266
	
276
	
267
		}
277
		}
268
		
278
		
269
		deMasquerChargement() ;
279
		deMasquerChargement() ;
270
		
280
		
271
	}
281
	}
272
	
282
	
273
	private void obtenirMiniListeObservations()
283
	private void obtenirMiniListeObservations()
274
	{
284
	{
275
		iMediateur.obtenirMiniListeObservations(this) ;
285
		iMediateur.obtenirMiniListeObservations(this) ;
276
	}
286
	}
277
	
287
	
278
	/**
288
	/**
279
	 * Renvoie le faux set de données pour le store
289
	 * Renvoie le faux set de données pour le store
280
	 * @return un tableau à deux colonnes int - String
290
	 * @return un tableau à deux colonnes int - String
281
	 */
291
	 */
282
	private Object[][] getObs() {  
292
	private Object[][] getObs() {  
283
	         return new Object[][]{  
293
	         return new Object[][]{  
284
		              
294
		              
285
	         } ;
295
	         } ;
286
	 }
296
	 }
287
	
297
	
288
	public Store getStore()
298
	public Store getStore()
289
	{
299
	{
290
		return store ;
300
		return store ;
291
	}
301
	}
292
	
302
	
293
	/*public BarrePaginationVue getBarrePagination()
303
	/*public BarrePaginationVue getBarrePagination()
294
	{
304
	{
295
		return pgBar ;
305
		return pgBar ;
296
	}*/
306
	}*/
297
	
307
	
298
	private void setModification(String mode)
308
	private void setModification(String mode)
299
	{
309
	{
300
		if(mode.equals("true")) {
310
		if(mode.equals("true")) {
301
 
311
 
302
			liaison = true ;
312
			liaison = true ;
303
			selecteurMode.removeClass("x-selec-consult") ;
313
			selecteurMode.removeClass("x-selec-consult") ;
304
			selecteurMode.setCls("x-selec-liaison") ;
314
			selecteurMode.setCls("x-selec-liaison") ;
305
		}
315
		}
306
		else
316
		else
307
		{
317
		{
308
			liaison = false ;
318
			liaison = false ;
309
			selecteurMode.removeClass("x-selec-liaison") ;
319
			selecteurMode.removeClass("x-selec-liaison") ;
310
			selecteurMode.setCls("x-selec-consult") ;
320
			selecteurMode.setCls("x-selec-consult") ;
311
			
321
			
312
		}
322
		}
313
		
323
		
314
		masquerChargement() ;
324
		masquerChargement() ;
315
		store.removeAll() ;
325
		store.removeAll() ;
316
		iMediateur.changerModeLiaison(liaison) ;
326
		iMediateur.changerModeLiaison(liaison) ;
317
		
327
		
318
	}
328
	}
319
	
329
	
320
	public boolean getMode() {
330
	public boolean getMode() {
321
		return liaison ;
331
		return liaison ;
322
	}
332
	}
323
	
333
	
324
	/**
334
	/**
325
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
335
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
326
	 */
336
	 */
327
	public void masquerChargement()
337
	public void masquerChargement()
328
	{
338
	{
329
			ExtElement masked = Ext.get(getId()) ;
339
			ExtElement masked = Ext.get(getId()) ;
330
 
340
 
331
			if (masked!=null) {
341
			if (masked!=null) {
332
				masked.mask("Chargement") ;
342
				masked.mask("Chargement") ;
333
			}
343
			}
334
	}
344
	}
335
	
345
	
336
	/**
346
	/**
337
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
347
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
338
	 */
348
	 */
339
	public void deMasquerChargement()
349
	public void deMasquerChargement()
340
	{
350
	{
341
			ExtElement masked = Ext.get(getId()) ;
351
			ExtElement masked = Ext.get(getId()) ;
342
 
352
 
343
			if (masked!=null) {
353
			if (masked!=null) {
344
				masked.unmask() ;
354
				masked.unmask() ;
345
			}
355
			}
346
	}
356
	}
347
	
357
	
348
	public String getIdSelectionnees() {
358
	public String getIdSelectionnees() {
349
		
359
		
350
		Record[] sels = getSelectionModel().getSelections() ;
360
		Record[] sels = getSelectionModel().getSelections() ;
351
		String id = sels[0].getAsString("id_obs") ;
361
		String id = sels[0].getAsString("id_obs") ;
352
		
362
		
353
		return id ;
363
		return id ;
354
		
364
		
355
	}
365
	}
356
	
366
	
357
	public void supprimerLiaison() {
367
	public void supprimerLiaison() {
358
		
368
		
359
		
369
		
360
		Record[] rdObs = getSelectionModel().getSelections() ;
370
		Record[] rdObs = getSelectionModel().getSelections() ;
361
		
371
		
362
		for(int i = 0 ; i < rdObs.length ; i++) {
372
		for(int i = 0 ; i < rdObs.length ; i++) {
363
			
373
			
364
			getStore().remove(rdObs[i]) ;
374
			getStore().remove(rdObs[i]) ;
365
			this.getView().refresh() ;
375
			this.getView().refresh() ;
366
		
376
		
367
		}
377
		}
368
		
378
		
369
	}
379
	}
370
	
380
	
371
	public void redimensionner() {
381
	public void redimensionner() {
372
		if(getView() != null) {
382
		if(getView() != null) {
373
				
383
				
374
				this.setWidth("100%");
384
				this.setWidth("100%");
375
				getView().setForceFit(true);
385
				getView().setForceFit(true);
376
				doLayout();
386
				doLayout();
377
		}
387
		}
378
		else {
388
		else {
379
			Window.alert("null");			
389
			Window.alert("null");			
380
		}
390
		}
381
	}
391
	}
382
}
392
}