Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 125 Rev 128
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
3
 
4
 
4
 
5
// TODO : systematiser les onQuelquechose, appelle depuis les vues
5
// TODO : systematiser les onQuelquechose, appelle depuis les vues
6
 
6
 
7
import org.tela_botanica.client.CarnetEnLigneMediateur;
7
import org.tela_botanica.client.CarnetEnLigneMediateur;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.modeles.ListeObservation;
9
import org.tela_botanica.client.modeles.ListeObservation;
10
import org.tela_botanica.client.modeles.Observation;
10
import org.tela_botanica.client.modeles.Observation;
11
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
11
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
12
import org.tela_botanica.client.vues.ImageGeneriqueVue;
12
import org.tela_botanica.client.vues.ImageGeneriqueVue;
13
import org.tela_botanica.client.vues.InformationRepartitionVue;
13
import org.tela_botanica.client.vues.InformationRepartitionVue;
14
import org.tela_botanica.client.vues.ListeObservationVue;
14
import org.tela_botanica.client.vues.ListeObservationVue;
15
import org.tela_botanica.client.vues.MenuObservationVue;
15
import org.tela_botanica.client.vues.MenuObservationVue;
16
import org.tela_botanica.client.vues.MiniZoomImageVue;
16
import org.tela_botanica.client.vues.MiniZoomImageVue;
17
import org.tela_botanica.client.vues.NuageMotsClesVue;
17
import org.tela_botanica.client.vues.NuageMotsClesVue;
18
import org.tela_botanica.client.vues.PanneauFiltresObservationVues;
18
import org.tela_botanica.client.vues.PanneauFiltresObservationVues;
19
 
19
 
20
import com.google.gwt.core.client.GWT;
20
import com.google.gwt.core.client.GWT;
21
import com.google.gwt.core.client.JavaScriptObject;
21
import com.google.gwt.core.client.JavaScriptObject;
22
import com.google.gwt.user.client.Window;
22
import com.google.gwt.user.client.Window;
23
import com.gwtext.client.core.EventObject;
23
import com.gwtext.client.core.EventObject;
24
import com.gwtext.client.core.Ext;
24
import com.gwtext.client.core.Ext;
25
import com.gwtext.client.core.ExtElement;
25
import com.gwtext.client.core.ExtElement;
26
import com.gwtext.client.core.RegionPosition;
26
import com.gwtext.client.core.RegionPosition;
27
import com.gwtext.client.widgets.BoxComponent;
27
import com.gwtext.client.widgets.BoxComponent;
28
import com.gwtext.client.widgets.Component;
28
import com.gwtext.client.widgets.Component;
29
import com.gwtext.client.widgets.Container;
29
import com.gwtext.client.widgets.Container;
30
import com.gwtext.client.widgets.Panel;
30
import com.gwtext.client.widgets.Panel;
31
import com.gwtext.client.widgets.event.ContainerListener;
31
import com.gwtext.client.widgets.event.ContainerListener;
32
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
32
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
33
import com.gwtext.client.widgets.layout.BorderLayout;
33
import com.gwtext.client.widgets.layout.BorderLayout;
34
import com.gwtext.client.widgets.layout.BorderLayoutData;
34
import com.gwtext.client.widgets.layout.BorderLayoutData;
35
import com.gwtext.client.widgets.layout.RowLayout;
35
import com.gwtext.client.widgets.layout.RowLayout;
36
import com.gwtext.client.widgets.layout.RowLayoutData;
36
import com.gwtext.client.widgets.layout.RowLayoutData;
37
 
37
 
38
 
38
 
39
/**
39
/**
40
 * Mediateur gérant les interactions entre vues et les echanges de données
40
 * Mediateur gérant les interactions entre vues et les echanges de données
41
 * C'est un singleton. 
41
 * C'est un singleton. 
42
 * @author aurelien
42
 * @author aurelien
43
 *
43
 *
44
 */
44
 */
45
public class ObservationMediateur {
45
public class ObservationMediateur {
46
	
46
	
47
	/**
47
	/**
48
	 * booleen qui verifie l'unicite de l'instance (donc static)
48
	 * booleen qui verifie l'unicite de l'instance (donc static)
49
	 */
49
	 */
50
	private static boolean estInstancie = false ;
50
	private static boolean estInstancie = false ;
51
 
51
 
52
	/**
52
	/**
53
	 * pointeur sur le médiateur (pour le pattern singleton)
53
	 * pointeur sur le médiateur (pour le pattern singleton)
54
	 */
54
	 */
55
	private static ObservationMediateur thisMediateur = null ;  
55
	private static ObservationMediateur thisMediateur = null ;  
56
	
56
	
57
	/** Mediateur general de l'application carnet en ligne
57
	/** Mediateur general de l'application carnet en ligne
58
	 * 
58
	 * 
59
	 * 
59
	 * 
60
	 */
60
	 */
61
	
61
	
62
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
62
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
63
	
63
	
64
	
64
	
65
	/**
65
	/**
66
	 * modele de données
66
	 * modele de données
67
	 */
67
	 */
68
	private ObservationModele observationModele = null ;
68
	private ObservationModele observationModele = null ;
69
	
69
	
70
	
70
	
71
	/**
71
	/**
72
	 * panneau principal des Observation (onglet "observation")
72
	 * panneau principal des Observation (onglet "observation")
73
	 */
73
	 */
74
	private final Panel panneauPrincipalObservation = new Panel("Observation");
74
	private final Panel panneauPrincipalObservation = new Panel("Observation");
75
	
75
	
76
	
76
	
77
	/**
77
	/**
78
	 * liste détaillée des Observations
78
	 * liste détaillée des Observations
79
	 */
79
	 */
80
	private ListeObservationVue listeObservation = null ;
80
	private ListeObservationVue listeObservation = null ;
81
	
81
	
82
	/**
82
	/**
83
	 * Saisie des Observations
83
	 * Saisie des Observations
84
	 */
84
	 */
85
	
85
	
86
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
86
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
87
	
87
	
88
	
88
	
89
 
89
 
90
	/**
90
	/**
91
	 * booleen explicitant s'il y a une selection en cours
91
	 * booleen explicitant s'il y a une selection en cours
92
	 */
92
	 */
93
	private boolean selection = false ;
93
	private boolean selection = false ;
94
 
94
 
95
	
95
	
96
	
96
	
97
	/**
97
	/**
98
	 * La liste des observations affichées en cours (verifier utilité)
98
	 * La liste des observations affichées en cours (verifier utilité)
99
	 */
99
	 */
100
	
100
	
101
	private ListeObservation cacheObservation = new ListeObservation(0) ;
101
	private ListeObservation cacheObservation = new ListeObservation(0) ;
102
	/**
102
	/**
103
	
103
	
104
	
104
	
105
	/**
105
	/**
106
	 * panneau conteneur pour le panneau  des informations lies à l'observation
106
	 * panneau conteneur pour le panneau  des informations lies à l'observation
107
	 */
107
	 */
108
	
108
	
109
  	private Panel details = new Panel("Détails");
109
  	private Panel details = new Panel("Détails");
110
 
110
 
111
 
111
 
112
 
112
 
113
	/**
113
	/**
114
	 * panneau conteneur pour le panneau des filtres
114
	 * panneau conteneur pour le panneau des filtres
115
	 */
115
	 */
116
	
116
	
117
  	private PanneauFiltresObservationVues filtres = null;
117
  	private PanneauFiltresObservationVues filtres = null;
118
 
118
 
119
	
119
	
120
  	
120
  	
121
  	/** 
121
  	/** 
122
  	 * panneau d'information de repartition sur le nom selectionné 
122
  	 * panneau d'information de repartition sur le nom selectionné 
123
  	 * 
123
  	 * 
124
  	 */
124
  	 */
125
  	
125
  	
126
  	private InformationRepartitionVue informationRepartitionVue=null;
126
  	private InformationRepartitionVue informationRepartitionVue=null;
127
  	
127
  	
128
  	
128
  	
129
  	/** 
129
  	/** 
130
  	 * panneau d'affichage d'une image generique associe au nom selectionne 
130
  	 * panneau d'affichage d'une image generique associe au nom selectionne 
131
  	 * 
131
  	 * 
132
  	 */
132
  	 */
133
  	
133
  	
134
  	private ImageGeneriqueVue imageGeneriqueVue=null;
134
  	private ImageGeneriqueVue imageGeneriqueVue=null;
135
  	
135
  	
136
  	private MiniZoomImageVue mvz = null ;
136
  	private MiniZoomImageVue mvz = null ;
137
  	
137
  	
138
  	private NuageMotsClesVue nuaMC = null;
138
  	private NuageMotsClesVue nuaMC = null;
139
  	
139
  	
140
  	private Panel conteneurFormulaire = null ;
140
  	private Panel conteneurFormulaire = null ;
141
  	
141
  	
142
	/**
142
	/**
143
	 * constructeur privé (on accède a la classe par la méthode getInstance
143
	 * constructeur privé (on accède a la classe par la méthode getInstance
144
	 */
144
	 */
145
	
145
	
146
	
146
	
147
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
147
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
148
	{
148
	{
149
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
149
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
150
		
150
		
151
		
151
		
152
		// on crée un modèle
152
		// on crée un modèle
153
		observationModele = ObservationModele.Instance(this);
153
		observationModele = ObservationModele.Instance(this);
154
		
154
		
155
		
155
		
156
	
156
	
157
		listeObservation = new ListeObservationVue(this);
157
		listeObservation = new ListeObservationVue(this);
158
		listeObservation.setTitle("Observations");
158
		listeObservation.setTitle("Observations");
159
		
159
		
160
		// quelques variables de position pour les borderlayouts
160
		// quelques variables de position pour les borderlayouts
161
		final BorderLayoutData regionNord = new BorderLayoutData(
161
		final BorderLayoutData regionNord = new BorderLayoutData(
162
				RegionPosition.NORTH);
162
				RegionPosition.NORTH);
163
 
163
 
164
		final BorderLayoutData regionCentre = new BorderLayoutData(
164
		final BorderLayoutData regionCentre = new BorderLayoutData(
165
				RegionPosition.CENTER);
165
				RegionPosition.CENTER);
166
 
166
 
167
		  
167
		  
168
		final BorderLayoutData regionEst = new BorderLayoutData(
168
		final BorderLayoutData regionEst = new BorderLayoutData(
169
				RegionPosition.EAST);
169
				RegionPosition.EAST);
170
	
170
	
171
			
171
			
172
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted
172
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted
173
			regionEst.setSplit(true);
173
			regionEst.setSplit(true);
174
		}
174
		}
175
 
175
 
176
		final BorderLayoutData regionOuest = new BorderLayoutData(
176
		final BorderLayoutData regionOuest = new BorderLayoutData(
177
				RegionPosition.WEST);
177
				RegionPosition.WEST);
178
		
178
		
179
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted			
179
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted			
180
			regionOuest.setSplit(true);
180
			regionOuest.setSplit(true);
181
		}
181
		}
182
		
182
		
183
		panneauPrincipalObservation.setLayout(new BorderLayout()) ;
183
		panneauPrincipalObservation.setLayout(new BorderLayout()) ;
184
		
184
		
185
		// on ajoute un panneau supplémentaire pour contenir le formulaire, pour éviter un bug de taille
185
		// on ajoute un panneau supplémentaire pour contenir le formulaire, pour éviter un bug de taille
186
		// des panneaux
186
		// des panneaux
187
		conteneurFormulaire = new Panel();
187
		conteneurFormulaire = new Panel();
188
		
188
		
189
		// Le formulaire de saisie / modification d'observation
189
		// Le formulaire de saisie / modification d'observation
190
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
190
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
191
		formulaireSaisieObservationVue.setHeader(false);
191
		formulaireSaisieObservationVue.setHeader(false);
192
		conteneurFormulaire.setTitle("Saisie");
192
		conteneurFormulaire.setTitle("Saisie");
193
		conteneurFormulaire.setTitleCollapse(true);
193
		conteneurFormulaire.setTitleCollapse(true);
194
		conteneurFormulaire.setCollapsible(true) ;
194
		conteneurFormulaire.setCollapsible(true) ;
195
		
195
		
196
 
196
 
197
		final Panel centre = new Panel();
197
		final Panel centre = new Panel();
198
		centre.setLayout(new RowLayout());
198
		centre.setLayout(new RowLayout());
199
 
199
 
200
		centre.setHeight(panneauPrincipalObservation.getHeight());
200
		centre.setHeight(panneauPrincipalObservation.getHeight());
201
 
201
 
202
		formulaireSaisieObservationVue.setBorder(false);
202
		formulaireSaisieObservationVue.setBorder(false);
203
		conteneurFormulaire.add(formulaireSaisieObservationVue);
203
		conteneurFormulaire.add(formulaireSaisieObservationVue);
204
		
204
		
205
		centre.add(conteneurFormulaire, new RowLayoutData(230));
205
		centre.add(conteneurFormulaire, new RowLayoutData(210));
206
		centre.add(listeObservation, new RowLayoutData());
206
		centre.add(listeObservation, new RowLayoutData());
207
 
207
 
208
		// on initialise le volet qui contient les details
208
		// on initialise le volet qui contient les details
209
		details.setWidth("15%");
209
		details.setWidth("15%");
210
		details.setTitleCollapse(true);
210
		details.setTitleCollapse(true);
211
		details.setCollapsible(true);
211
		details.setCollapsible(true);
212
		details.setLayout(new RowLayout());
212
		details.setLayout(new RowLayout());
213
		
213
		
214
		// Information de repartition
214
		// Information de repartition
215
		informationRepartitionVue=new InformationRepartitionVue(this);
215
		informationRepartitionVue=new InformationRepartitionVue(this);
216
		// TODO : calcul de la hauteur automatique par le panel ?
216
		// TODO : calcul de la hauteur automatique par le panel ?
217
		informationRepartitionVue.setHeight(160);
217
		informationRepartitionVue.setHeight(160);
218
		details.add(informationRepartitionVue);
218
		details.add(informationRepartitionVue);
219
		
219
		
220
		
220
		
221
		// Image generique
221
		// Image generique
222
		imageGeneriqueVue=new ImageGeneriqueVue(this);
222
		imageGeneriqueVue=new ImageGeneriqueVue(this);
223
		// TODO : calcul de la hauteur automatique par le panel ?
223
		// TODO : calcul de la hauteur automatique par le panel ?
224
		
224
		
225
		imageGeneriqueVue.setHeight(160);
225
		imageGeneriqueVue.setHeight(160);
226
		details.add(imageGeneriqueVue);
226
		details.add(imageGeneriqueVue);
227
		
227
		
228
		mvz = new MiniZoomImageVue(this) ; 
228
		mvz = new MiniZoomImageVue(this) ; 
229
		mvz.setHeight(300) ;
229
		mvz.setHeight(300) ;
230
		
230
		
231
		details.add(mvz) ;	
231
		details.add(mvz) ;	
232
		
232
		
233
		// on crée le panneau des filtres
233
		// on crée le panneau des filtres
234
		filtres = new PanneauFiltresObservationVues(this);
234
		filtres = new PanneauFiltresObservationVues(this);
235
		
235
		
236
		// on initialise le volet qui contient les filtres
236
		// on initialise le volet qui contient les filtres
237
		filtres.setWidth("15%");
237
		filtres.setWidth("15%");
238
		filtres.setHeight(700) ;
238
		filtres.setHeight(700) ;
239
		filtres.setTitleCollapse(true);
239
		filtres.setTitleCollapse(true);
240
		filtres.setCollapsible(true);
240
		filtres.setCollapsible(true);
241
		
241
		
242
		panneauPrincipalObservation.add(details,regionEst);
242
		panneauPrincipalObservation.add(details,regionEst);
243
		panneauPrincipalObservation.add(filtres,regionOuest);
243
		panneauPrincipalObservation.add(filtres,regionOuest);
244
		panneauPrincipalObservation.add(centre,regionCentre);
244
		panneauPrincipalObservation.add(centre,regionCentre);
245
		
245
		
246
	}
246
	}
247
 
247
 
248
 
248
 
249
	/**
249
	/**
250
	 * Retourne une instance de manière unique
250
	 * Retourne une instance de manière unique
251
	 * @return l'instance unique du médiateur
251
	 * @return l'instance unique du médiateur
252
	 */
252
	 */
253
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
253
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
254
	{
254
	{
255
			if(!estInstancie || thisMediateur == null)
255
			if(!estInstancie || thisMediateur == null)
256
			{
256
			{
257
				estInstancie = true ;
257
				estInstancie = true ;
258
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
258
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
259
			}
259
			}
260
			
260
			
261
	
261
	
262
			return thisMediateur ;	
262
			return thisMediateur ;	
263
	}
263
	}
264
 
264
 
265
	
265
	
266
	
266
	
267
	// ACTIONS  a entreprendre lors d'un evenement particulier 
267
	// ACTIONS  a entreprendre lors d'un evenement particulier 
268
	
268
	
269
	
269
	
270
	/**
270
	/**
271
	 * Lors du raffraichissement de la liste d'observation  
271
	 * Lors du raffraichissement de la liste d'observation  
272
	 */
272
	 */
273
	
273
	
274
	
274
	
275
	public void onRafraichissementListeObservations() {
275
	public void onRafraichissementListeObservations() {
276
		
276
		
277
		cacheObservation = listeObservation.getCacheListeObservation() ;
277
		cacheObservation = listeObservation.getCacheListeObservation() ;
278
		if(cacheObservation.size() == 0)
278
		if(cacheObservation.size() == 0)
279
		{
279
		{
280
			//formulaireSaisieObservationVue.raz() ;
280
			//formulaireSaisieObservationVue.raz() ;
281
		}
281
		}
282
		carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ;		
282
		carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ;		
283
	}
283
	}
284
	
284
	
285
	/**
285
	/**
286
	 * 
286
	 * 
287
	 * TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation 
287
	 * TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation 
288
	 * est appelé lors d'un clic de souris sur un enregistrement de la liste le
288
	 * est appelé lors d'un clic de souris sur un enregistrement de la liste le
289
	 * médiateur gère alors les conséquences
289
	 * médiateur gère alors les conséquences
290
	 * 
290
	 * 
291
	 * @param rowIndex
291
	 * @param rowIndex
292
	 *            le numéro de ligne selectionné
292
	 *            le numéro de ligne selectionné
293
	 */
293
	 */
294
	
294
	
295
	public void onClicListeObservation(int rowIndex, String ordreObservation) {
295
	public void onClicListeObservation(int rowIndex, String ordreObservation) {
296
	
296
	
297
		Observation obs = cacheObservation.get(ordreObservation) ;
297
		Observation obs = cacheObservation.get(ordreObservation) ;
298
		
298
		
299
		if(GWT.isScript()) {
299
		if(GWT.isScript()) {
300
			masquerChargementInfosObservations() ;
300
			masquerChargementInfosObservations() ;
301
		}
301
		}
302
		
302
		
303
		// Affichage de la carte de repartition correspondante
303
		// Affichage de la carte de repartition correspondante
304
		String numeroNomenclaturalSaisiObservation = obs.getNumeroNomenclaturalSaisi() ;
304
		String numeroNomenclaturalSaisiObservation = obs.getNumeroNomenclaturalSaisi() ;
305
		
305
		
306
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
306
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
307
		
307
		
308
		// affichage des détails dans le formulaire d'observation
308
		// affichage des détails dans le formulaire d'observation
309
		formulaireSaisieObservationVue.rafraichir(obs, false) ;
309
		formulaireSaisieObservationVue.rafraichir(obs, false) ;
310
		// Affichage de l'image correspondante
310
		// Affichage de l'image correspondante
311
				
311
				
312
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
312
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
313
		
313
		
314
		observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
314
		observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
315
 
315
 
316
 
316
 
317
	}
317
	}
-
 
318
	
-
 
319
	public void obtenirImageInformationExternes(String numeroNomenclaturalSaisiObservation) {
-
 
320
		if(GWT.isScript()) {
-
 
321
			masquerChargementInfosObservations() ;
-
 
322
		}
-
 
323
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
-
 
324
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
-
 
325
	}
318
	
326
	
319
	
327
	
320
	// ACCES au Modèle 
328
	// ACCES au Modèle 
321
	
329
	
322
	
330
	
323
	// C du CRUD 
331
	// C du CRUD 
324
	
332
	
325
	
333
	
326
	
334
	
327
	/**
335
	/**
328
	 * TODO : afficher un message du type "observation ajouté".  
336
	 * TODO : afficher un message du type "observation ajouté".  
329
	 * Lance la creation d'une observation
337
	 * Lance la creation d'une observation
330
	 * @param obs : l'observation saisie
338
	 * @param obs : l'observation saisie
331
	 */	
339
	 */	
332
	public void ajouterObservation(Observation obs) {
340
	public void ajouterObservation(Observation obs) {
333
			
341
			
334
	  // On raffraichi la liste d'observation 
342
	  // On raffraichi la liste d'observation 
335
	  observationModele.ajouterObservation(listeObservation, obs) ;
343
	  observationModele.ajouterObservation(listeObservation, obs) ;
336
	  filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ;
344
	  filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ;
337
	  filtres.getArbreDateObservationFiltreVue().rafraichir(obs,true) ;
345
	  filtres.getArbreDateObservationFiltreVue().rafraichir(obs,true) ;
338
		
346
		
339
	}
347
	}
340
	
348
	
341
	
349
	
342
	
350
	
343
	// R du CRUD 
351
	// R du CRUD 
344
	
352
	
345
	/**
353
	/**
346
	 * Demande au modele le nombre d'Observation à afficher
354
	 * Demande au modele le nombre d'Observation à afficher
347
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
355
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
348
	 */
356
	 */
349
 
357
 
350
	public void obtenirNombreObservation() {
358
	public void obtenirNombreObservation() {
351
		
359
		
352
		listeObservation.masquerChargement() ;
360
		listeObservation.masquerChargement() ;
353
		mvz.raz() ;
361
		mvz.raz() ;
354
		imageGeneriqueVue.raz() ;
362
		imageGeneriqueVue.raz() ;
355
		informationRepartitionVue.raz() ;
363
		informationRepartitionVue.raz() ;
356
		observationModele.obtenirNombreObservation(listeObservation) ;
364
		observationModele.obtenirNombreObservation(listeObservation) ;
357
		
365
		
358
	}
366
	}
359
 
367
 
360
	
368
	
361
	
369
	
362
	public void obtenirListeObservation() {
370
	public void obtenirListeObservation() {
363
		obtenirListeObservation(listeObservation);
371
		obtenirListeObservation(listeObservation);
364
	}
372
	}
365
	
373
	
366
	/**
374
	/**
367
	 * Demande au modele le detail  des Observations à afficher
375
	 * Demande au modele le detail  des Observations à afficher
368
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
376
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
369
	 */
377
	 */
370
 
378
 
371
	
379
	
372
	public void obtenirListeObservation(Rafraichissable r) {
380
	public void obtenirListeObservation(Rafraichissable r) {
373
		
381
		
374
		listeObservation.masquerChargement() ;
382
		listeObservation.masquerChargement() ;
375
 
383
 
376
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
384
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
377
	}
385
	}
378
	
386
	
379
	public void obtenirCacheObservation(Rafraichissable r) {
387
	public void obtenirCacheObservation(Rafraichissable r) {
380
		
388
		
381
		r.rafraichir(cacheObservation, false) ;
389
		r.rafraichir(cacheObservation, false) ;
382
	}
390
	}
383
	
391
	
384
 
392
 
385
	/**
393
	/**
386
	 * Envoie au modèle une demande pour obtenir l'arbre des localites
394
	 * Envoie au modèle une demande pour obtenir l'arbre des localites
387
	 * 
395
	 * 
388
	 * @param r
396
	 * @param r
389
	 *            le raffraichissable qui a demandé la mise à jour
397
	 *            le raffraichissable qui a demandé la mise à jour
390
	 */
398
	 */
391
	public void obtenirListeEntiteGeographique() {
399
	public void obtenirListeEntiteGeographique() {
392
		
400
		
393
		observationModele.obtenirListeEntiteGeographique(filtres.getArbreEntiteGeographiqueObservationFiltreVue());
401
		observationModele.obtenirListeEntiteGeographique(filtres.getArbreEntiteGeographiqueObservationFiltreVue());
394
		
402
		
395
	}
403
	}
396
	
404
	
397
	
405
	
398
	// U du CRUD
406
	// U du CRUD
399
	
407
	
400
	
408
	
401
 
409
 
402
	
410
	
403
	public void modifierObservation(Observation obs) {
411
	public void modifierObservation(Observation obs) {
404
	
412
	
405
		
413
		
406
	  // On raffraichi la liste d'observation 
414
	  // On raffraichi la liste d'observation 
407
	  observationModele.modifierObservation(listeObservation, obs) ;
415
	  observationModele.modifierObservation(listeObservation, obs) ;
408
	  filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ;
416
	  filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ;
409
		
417
		
410
	}
418
	}
411
	
419
	
412
	
420
	
413
	
421
	
414
	// D du CRUD
422
	// D du CRUD
415
	
423
	
416
	
424
	
417
	
425
	
418
	/**
426
	/**
419
	 * TODO : afficher un message du type "observation modifie".  
427
	 * TODO : afficher un message du type "observation modifie".  
420
	 * Lance la modification d'une observation
428
	 * Lance la modification d'une observation
421
	 * @param obs : l'observation a modifier
429
	 * @param obs : l'observation a modifier
422
	 */
430
	 */
423
	
431
	
424
	
432
	
425
	
433
	
426
	public void supprimerObservation(Rafraichissable r, String numeroOrdre) {
434
	public void supprimerObservation(Rafraichissable r, String numeroOrdre) {
427
		
435
		
428
		if(listeObservation.getSelectionModel().getCount() > 0)
436
		if(listeObservation.getSelectionModel().getCount() > 0)
429
		{
437
		{
430
			if(Window.confirm("Êtes vous sur de vouloir supprimer cette observation ?")) {
438
			if(Window.confirm("Êtes vous sur de vouloir supprimer cette observation ?")) {
431
			observationModele.supprimerObservation(r,numeroOrdre) ;
439
			observationModele.supprimerObservation(r,numeroOrdre) ;
432
			}
440
			}
433
		}
441
		}
434
		
442
		
435
	}
443
	}
436
	
444
	
437
	// Assistants de saisie
445
	// Assistants de saisie
438
	/**
446
	/**
439
	 *  
447
	 *  
440
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
448
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
441
	 * @param r : la vue demandeuse de donnee
449
	 * @param r : la vue demandeuse de donnee
442
	 * @param critere : les criteres de selection
450
	 * @param critere : les criteres de selection
443
	 */
451
	 */
444
	
452
	
445
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
453
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
446
		
454
		
447
		observationModele.obtenirListeReferentielCommune(r,critere) ;
455
		observationModele.obtenirListeReferentielCommune(r,critere) ;
448
 
456
 
449
		
457
		
450
	}
458
	}
451
	
459
	
452
	
460
	
453
	
461
	
454
	/**
462
	/**
455
	 *  
463
	 *  
456
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
464
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
457
	 * @param r : la vue demandeuse de donnee
465
	 * @param r : la vue demandeuse de donnee
458
	 * @param critere : les criteres de selection
466
	 * @param critere : les criteres de selection
459
	 */
467
	 */
460
	
468
	
461
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
469
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
462
 
470
 
463
		observationModele.obtenirListeReferentielNom(r,critere) ;		
471
		observationModele.obtenirListeReferentielNom(r,critere) ;		
464
	}
472
	}
465
	
473
	
466
	// Etat du syteme
474
	// Etat du syteme
467
	
475
	
468
	/**
476
	/**
469
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
477
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
470
	 * sous forme de tableau [nom, valeur]
478
	 * sous forme de tableau [nom, valeur]
471
	 * @return Les noms et valeurs des filtres
479
	 * @return Les noms et valeurs des filtres
472
	 */
480
	 */
473
	public String[][] renvoyerFiltres()
481
	public String[][] renvoyerFiltres()
474
	{		
482
	{		
475
		int longueur = 0;
483
		int longueur = 0;
476
			/*String[] filtresMotsCles = filtres.getMotsClesObsVue().renvoyerValeursAFiltrer();
484
			/*String[] filtresMotsCles = filtres.getMotsClesObsVue().renvoyerValeursAFiltrer();
477
			if(filtresMotsCles.length > 0) {
485
			if(filtresMotsCles.length > 0) {
478
				longueur++ ;
486
				longueur++ ;
479
			}*/
487
			}*/
480
		
488
		
481
			String[] filtresEntitesGeo = filtres.getArbreEntiteGeographiqueObservationFiltreVue().renvoyerValeursAFiltrer() ;
489
			String[] filtresEntitesGeo = filtres.getArbreEntiteGeographiqueObservationFiltreVue().renvoyerValeursAFiltrer() ;
482
			String chaineNomsFiltresGeo = filtresEntitesGeo[0] ;
490
			String chaineNomsFiltresGeo = filtresEntitesGeo[0] ;
483
			String chaineValFiltresGeo = filtresEntitesGeo[1] ;
491
			String chaineValFiltresGeo = filtresEntitesGeo[1] ;
484
			
492
			
485
			String[] filtresDate = filtres.getArbreDateObservationFiltreVue().renvoyerValeursAFiltrer() ;
493
			String[] filtresDate = filtres.getArbreDateObservationFiltreVue().renvoyerValeursAFiltrer() ;
486
			String chaineNomsFiltresDate = filtresDate[0] ;
494
			String chaineNomsFiltresDate = filtresDate[0] ;
487
			String chaineValFiltresDate = filtresDate[1] ;
495
			String chaineValFiltresDate = filtresDate[1] ;
488
			
496
			
489
			String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate ;
497
			String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate ;
490
			String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate ;
498
			String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate ;
491
			
499
			
492
			String[] nomsFiltres = chaineNomsFiltres.split(",") ;
500
			String[] nomsFiltres = chaineNomsFiltres.split(",") ;
493
			String[] valsFiltres = chaineValFiltres.split(",") ;
501
			String[] valsFiltres = chaineValFiltres.split(",") ;
494
			
502
			
495
			longueur += nomsFiltres.length;
503
			longueur += nomsFiltres.length;
496
			
504
			
497
			String [][] valeursFiltres = new String[longueur][2] ;
505
			String [][] valeursFiltres = new String[longueur][2] ;
498
			
506
			
499
			listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate) ;
507
			listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate) ;
500
 
508
 
501
			int i = 0;
509
			int i = 0;
502
			
510
			
503
			if(nomsFiltres.length > 0)
511
			if(nomsFiltres.length > 0)
504
			{
512
			{
505
				for(i = 0 ; i < nomsFiltres.length ; i++)
513
				for(i = 0 ; i < nomsFiltres.length ; i++)
506
				{
514
				{
507
					valeursFiltres[i][0] = nomsFiltres[i] ;
515
					valeursFiltres[i][0] = nomsFiltres[i] ;
508
					if(valsFiltres[i].equals("Inconnue")) 
516
					if(valsFiltres[i].equals("Inconnue")) 
509
					{
517
					{
510
						valeursFiltres[i][1] = "000null" ;
518
						valeursFiltres[i][1] = "000null" ;
511
					}
519
					}
512
					else
520
					else
513
					{
521
					{
514
						valeursFiltres[i][1] = valsFiltres[i] ;
522
						valeursFiltres[i][1] = valsFiltres[i] ;
515
					}
523
					}
516
				}
524
				}
517
			}
525
			}
518
			
526
			
519
			/*if(filtresMotsCles.length > 0) {
527
			/*if(filtresMotsCles.length > 0) {
520
				valeursFiltres[i][0] = filtresMotsCles[0] ;
528
				valeursFiltres[i][0] = filtresMotsCles[0] ;
521
				filtresMotsCles[1] = filtresMotsCles[1].replace("\n", " ");
529
				filtresMotsCles[1] = filtresMotsCles[1].replace("\n", " ");
522
				valeursFiltres[i][1] = filtresMotsCles[1].replace(" ", ";") ;
530
				valeursFiltres[i][1] = filtresMotsCles[1].replace(" ", ";") ;
523
			}*/
531
			}*/
524
			
532
			
525
			return valeursFiltres ;
533
			return valeursFiltres ;
526
	}
534
	}
527
 
535
 
528
	
536
	
529
	/**
537
	/**
530
	 * Retourne l'identifiant de l'utilisateur connecte
538
	 * Retourne l'identifiant de l'utilisateur connecte
531
	 * @return : identifiant de l'utilisateur connecte
539
	 * @return : identifiant de l'utilisateur connecte
532
	 */
540
	 */
533
	public String getIdentifiant() {
541
	public String getIdentifiant() {
534
		
542
		
535
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
543
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
536
	
544
	
537
	}
545
	}
538
 
546
 
539
 
547
 
540
	/**
548
	/**
541
	 * 
549
	 * 
542
	 * @return
550
	 * @return
543
	 * 
551
	 * 
544
	 */
552
	 */
545
	
553
	
546
	public Panel getPanneauPrincipalObservation() {
554
	public Panel getPanneauPrincipalObservation() {
547
		return panneauPrincipalObservation;
555
		return panneauPrincipalObservation;
548
	}
556
	}
549
 
557
 
550
 
558
 
551
	public void montrerContextMenu(EventObject e) {
559
	public void montrerContextMenu(EventObject e) {
552
		
560
		
553
		MenuObservationVue mvo = new MenuObservationVue(this) ;
561
		MenuObservationVue mvo = new MenuObservationVue(this) ;
554
		mvo.showAt(e.getXY()) ;
562
		mvo.showAt(e.getXY()) ;
555
		
563
		
556
	}
564
	}
557
 
565
 
558
	public void doubleClicListeObservation(int rowIndex) {
566
	public void doubleClicListeObservation(int rowIndex) {
559
		
567
		
560
		
568
		
561
	}
569
	}
562
 
570
 
563
 
571
 
564
	
572
	
565
	// Getters 
573
	// Getters 
566
	
574
	
567
	public PanneauFiltresObservationVues getPanneauFiltres() {
575
	public PanneauFiltresObservationVues getPanneauFiltres() {
568
		
576
		
569
		return filtres;
577
		return filtres;
570
		
578
		
571
	}
579
	}
572
	
580
	
573
	public void masquerChargementInfosObservations()
581
	public void masquerChargementInfosObservations()
574
	{
582
	{
575
		ExtElement masked = Ext.get(details.getId());
583
		ExtElement masked = Ext.get(details.getId());
576
 
584
 
577
		if (masked != null && !masked.isMasked()) {
585
		if (masked != null && !masked.isMasked()) {
578
			informationRepartitionVue.raz() ;
586
			informationRepartitionVue.raz() ;
579
			imageGeneriqueVue.raz() ;
587
			imageGeneriqueVue.raz() ;
580
			masked.mask("Chargement", true);
588
			masked.mask("Chargement", true);
581
		}
589
		}
582
	}
590
	}
583
	
591
	
584
	public void deMasquerChargementInfosObservations()
592
	public void deMasquerChargementInfosObservations()
585
	{
593
	{
586
		ExtElement masked = Ext.get(details.getId());
594
		ExtElement masked = Ext.get(details.getId());
587
 
595
 
588
		if (masked != null && masked.isMasked()) {
596
		if (masked != null && masked.isMasked()) {
589
			masked.unmask() ;
597
			masked.unmask() ;
590
		}	
598
		}	
591
	}
599
	}
592
 
600
 
593
 
601
 
594
	public void obtenirDatesObservation() {
602
	public void obtenirDatesObservation() {
595
		
603
		
596
		observationModele.obtenirDatesObservation(filtres.getArbreDateObservationFiltreVue()) ;
604
		observationModele.obtenirDatesObservation(filtres.getArbreDateObservationFiltreVue()) ;
597
		
605
		
598
	}
606
	}
599
 
607
 
600
 
608
 
601
	public void exporterObservations() {
609
	public void exporterObservations() {
602
		
610
		
603
		observationModele.exporterObservations() ;
-
 
604
		
611
			observationModele.exporterObservations() ;
605
	}
612
	}
606
 
613
 
607
 
614
 
608
	public void deconnecterUtilisateur() {
615
	public void deconnecterUtilisateur() {
609
		
616
		
610
		listeObservation.raz() ;
617
		listeObservation.raz() ;
611
		formulaireSaisieObservationVue.raz() ;
618
		formulaireSaisieObservationVue.raz() ;
612
		filtres.getArbreDateObservationFiltreVue().raz() ;
619
		filtres.getArbreDateObservationFiltreVue().raz() ;
613
		filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
620
		filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
614
		informationRepartitionVue.raz() ;
621
		informationRepartitionVue.raz() ;
615
		imageGeneriqueVue.raz() ;
622
		imageGeneriqueVue.raz() ;
616
		mvz.raz() ;
623
		mvz.raz() ;
617
		
624
		
618
	}
625
	}
619
 
626
 
620
 
627
 
621
	public void supprimerLiaisonObsImage() {
628
	public void supprimerLiaisonObsImage() {
622
		
629
		
623
		String idObs = listeObservation.getIdSelectionnees()[0] ;
630
		String idObs = listeObservation.getIdSelectionnees()[0] ;
624
		String idImg = mvz.getIdImage() ;
631
		String idImg = mvz.getIdImage() ;
625
		
632
		
626
		if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observations "+idObs+" ?"))
633
		if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observations "+idObs+" ?"))
627
		{
634
		{
628
			mvz.supprimerLiaisonImage() ;
635
			mvz.supprimerLiaisonImage() ;
629
			observationModele.supprimerLiaisonImages(idImg,idObs) ;
636
			observationModele.supprimerLiaisonImages(idImg,idObs) ;
630
		}
637
		}
631
		
638
		
632
	}
639
	}
633
 
640
 
634
	public void supprimerObservations() {
641
	public void supprimerObservations() {
-
 
642
		
635
		
643
		if(listeObservation.getIdSelectionnees().length > 0) {
636
		if(Window.confirm("Êtes vous sur de vouloir supprimer les observations sélectionnées ?")) { 
644
			if(Window.confirm("Êtes vous sur de vouloir supprimer les observations sélectionnées ?")) { 
637
				String[] numObs = listeObservation.getIdSelectionnees();
645
					String[] numObs = listeObservation.getIdSelectionnees();
638
				String numObsapl = "" ;
646
					String numObsapl = "" ;
639
				for(int i = 0 ; i < numObs.length ; i++) {
647
					for(int i = 0 ; i < numObs.length ; i++) {
640
					numObsapl += numObs[i]+"," ; 
648
						numObsapl += numObs[i]+"," ; 
641
				}
649
					}
642
				
650
					
643
				observationModele.supprimerListeObservation(listeObservation,numObsapl) ;
651
					observationModele.supprimerListeObservation(listeObservation,numObsapl) ;
-
 
652
			}
-
 
653
		}
-
 
654
		else
-
 
655
		{
644
			}
656
			Window.alert("Aucune observation sélectionnée");
645
		
657
		}
646
	}
658
	}
647
 
659
 
648
 
660
 
649
	public void transmettreObservations() {
661
	public void transmettreObservations() {
-
 
662
		
650
		
663
		if(listeObservation.getIdSelectionnees().length > 0) {
651
		if(Window.confirm("Êtes vous sur de vouloir transmettre les observations sélectionnées ?")) { 
664
			if(Window.confirm("Êtes vous sur de vouloir transmettre les observations sélectionnées ?")) { 
652
			String[] numObs = listeObservation.getIdSelectionnees();
665
				String[] numObs = listeObservation.getIdSelectionnees();
653
			String numObsApl = "" ;
666
				String numObsApl = "" ;
654
			for(int i = 0 ; i < numObs.length ; i++) {
667
				for(int i = 0 ; i < numObs.length ; i++) {
655
				numObsApl += numObs[i] ;
668
					numObsApl += numObs[i] ;
656
				if(i != numObs.length - 1) {
669
					if(i != numObs.length - 1) {
-
 
670
						numObsApl +="," ;
657
					numObsApl +="," ;
671
					}
-
 
672
				}
-
 
673
				
658
				}
674
				observationModele.transmettreListeObservation(listeObservation,numObsApl) ;
-
 
675
			}
-
 
676
		}
659
			}
677
		else
660
			
678
		{
661
			observationModele.transmettreListeObservation(listeObservation,numObsApl) ;
679
			Window.alert("Aucune observation sélectionnée");
662
		}
680
		}
663
		
681
		
664
	}
682
	}
665
 
683
 
666
 
684
 
667
	/*public void ajouterMotCleRecherche(String motCle) {
685
	/*public void ajouterMotCleRecherche(String motCle) {
668
		
686
		
669
		filtres.getMotsClesObsVue().rafraichir(motCle, false);
687
		filtres.getMotsClesObsVue().rafraichir(motCle, false);
670
	}
688
	}
671
 
689
 
672
 
690
 
673
	public void obtenirNuageMotsCles(Rafraichissable r) {
691
	public void obtenirNuageMotsCles(Rafraichissable r) {
674
		
692
		
675
		observationModele.obtenirNuageMotsCles(r);
693
		observationModele.obtenirNuageMotsCles(r);
676
	}
694
	}
677
 
695
 
678
 
696
 
679
	public void afficherNuageMotsCles() {
697
	public void afficherNuageMotsCles() {
680
		
698
		
681
		if(nuaMC != null && nuaMC.isVisible()) {
699
		if(nuaMC != null && nuaMC.isVisible()) {
682
			nuaMC.hide();
700
			nuaMC.hide();
683
			nuaMC.close();
701
			nuaMC.close();
684
			nuaMC = null;
702
			nuaMC = null;
685
		}
703
		}
686
		else {
704
		else {
687
			nuaMC = new NuageMotsClesVue(this);
705
			nuaMC = new NuageMotsClesVue(this);
688
			nuaMC.show(filtres.getMotsClesObsVue().getElement());
706
			nuaMC.show(filtres.getMotsClesObsVue().getElement());
689
		}
707
		}
690
	}
708
	}
691
 
709
 
692
 
710
 
693
	public void AjouterMotsClesEnMasse(String motsAAjouter) {
711
	public void AjouterMotsClesEnMasse(String motsAAjouter) {
694
		
712
		
695
		String[] numObs = listeObservation.getIdSelectionnees();
713
		String[] numObs = listeObservation.getIdSelectionnees();
696
		String numObsApl = "" ;
714
		String numObsApl = "" ;
697
		
715
		
698
		if(numObs.length < 1) {
716
		if(numObs.length < 1) {
699
			return;
717
			return;
700
		}
718
		}
701
		
719
		
702
		for(int i = 0 ; i < numObs.length ; i++) {
720
		for(int i = 0 ; i < numObs.length ; i++) {
703
			numObsApl += numObs[i] ;
721
			numObsApl += numObs[i] ;
704
			if(i != numObs.length - 1) {
722
			if(i != numObs.length - 1) {
705
				numObsApl +="," ;
723
				numObsApl +="," ;
706
			}
724
			}
707
		}
725
		}
708
		
726
		
709
		motsAAjouter = motsAAjouter.replace("\n", " ");
727
		motsAAjouter = motsAAjouter.replace("\n", " ");
710
		motsAAjouter = motsAAjouter.replace(" ", ";");
728
		motsAAjouter = motsAAjouter.replace(" ", ";");
711
		observationModele.ajouterMotsCles(listeObservation,numObsApl,motsAAjouter);
729
		observationModele.ajouterMotsCles(listeObservation,numObsApl,motsAAjouter);
712
		
730
		
713
	}
731
	}
714
 
732
 
715
 
733
 
716
	public void afficherSaisieMotsCles(Element e) {
734
	public void afficherSaisieMotsCles(Element e) {
717
		
735
		
718
		SaisieMotsClesVue suaMC = new SaisieMotsClesVue(this);
736
		SaisieMotsClesVue suaMC = new SaisieMotsClesVue(this);
719
		suaMC.show(e.getId());
737
		suaMC.show(e.getId());
720
		
738
		
721
	}*/
739
	}*/
722
	
740
	
723
}
741
}