Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 61 Rev 63
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
3
 
4
import org.tela_botanica.client.CarnetEnLigneMediateur;
4
import org.tela_botanica.client.CarnetEnLigneMediateur;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.modeles.ListeObservation;
6
import org.tela_botanica.client.modeles.ListeObservation;
7
import org.tela_botanica.client.modeles.MotsClesAsynchroneDAO;
7
import org.tela_botanica.client.modeles.MotsClesAsynchroneDAO;
8
import org.tela_botanica.client.modeles.Observation;
8
import org.tela_botanica.client.modeles.Observation;
9
import org.tela_botanica.client.vues.ArbreLocaliteObservationFiltreVue;
9
import org.tela_botanica.client.vues.ArbreLocaliteObservationFiltreVue;
10
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
10
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
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.PanneauFiltresObservationVues;
15
import org.tela_botanica.client.vues.PanneauFiltresObservationVues;
16
import org.tela_botanica.client.vues.PanneauFiltresVues;
16
import org.tela_botanica.client.vues.PanneauFiltresVues;
17
 
17
 
18
import com.google.gwt.core.client.GWT;
18
import com.google.gwt.core.client.GWT;
19
import com.google.gwt.user.client.Window;
19
import com.google.gwt.user.client.Window;
20
import com.gwtext.client.core.EventObject;
20
import com.gwtext.client.core.EventObject;
21
import com.gwtext.client.core.RegionPosition;
21
import com.gwtext.client.core.RegionPosition;
22
import com.gwtext.client.data.Record;
22
import com.gwtext.client.data.Record;
23
import com.gwtext.client.widgets.Panel;
23
import com.gwtext.client.widgets.Panel;
24
import com.gwtext.client.widgets.TabPanel;
24
import com.gwtext.client.widgets.TabPanel;
25
import com.gwtext.client.widgets.layout.AnchorLayout;
25
import com.gwtext.client.widgets.layout.AnchorLayout;
26
import com.gwtext.client.widgets.layout.AnchorLayoutData;
26
import com.gwtext.client.widgets.layout.AnchorLayoutData;
27
import com.gwtext.client.widgets.layout.BorderLayout;
27
import com.gwtext.client.widgets.layout.BorderLayout;
28
import com.gwtext.client.widgets.layout.BorderLayoutData;
28
import com.gwtext.client.widgets.layout.BorderLayoutData;
29
import com.gwtext.client.widgets.layout.RowLayout;
29
import com.gwtext.client.widgets.layout.RowLayout;
30
import com.gwtext.client.widgets.layout.RowLayoutData;
30
import com.gwtext.client.widgets.layout.RowLayoutData;
31
 
31
 
32
 
32
 
33
/**
33
/**
34
 * Mediateur gérant les interactions entre vues et les echanges de données
34
 * Mediateur gérant les interactions entre vues et les echanges de données
35
 * C'est un singleton. 
35
 * C'est un singleton. 
36
 * @author aurelien
36
 * @author aurelien
37
 *
37
 *
38
 */
38
 */
39
public class ObservationMediateur {
39
public class ObservationMediateur {
40
	
40
	
41
	/**
41
	/**
42
	 * booleen qui verifie l'unicite de l'instance (donc static)
42
	 * booleen qui verifie l'unicite de l'instance (donc static)
43
	 */
43
	 */
44
	private static boolean estInstancie = false ;
44
	private static boolean estInstancie = false ;
45
 
45
 
46
	/**
46
	/**
47
	 * pointeur sur le médiateur (pour le pattern singleton)
47
	 * pointeur sur le médiateur (pour le pattern singleton)
48
	 */
48
	 */
49
	private static ObservationMediateur thisMediateur = null ;  
49
	private static ObservationMediateur thisMediateur = null ;  
50
	
50
	
51
	/** Mediateur general de l'application carnet en ligne
51
	/** Mediateur general de l'application carnet en ligne
52
	 * 
52
	 * 
53
	 * 
53
	 * 
54
	 */
54
	 */
55
	
55
	
56
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
56
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
57
	
57
	
58
	
58
	
59
	/**
59
	/**
60
	 * modele de données
60
	 * modele de données
61
	 */
61
	 */
62
	private ObservationModele observationModele = null ;
62
	private ObservationModele observationModele = null ;
63
	
63
	
64
	
64
	
65
	/**
65
	/**
66
	 * panneau principal des Observation (onglet "observation")
66
	 * panneau principal des Observation (onglet "observation")
67
	 */
67
	 */
68
	private final Panel panneauPrincipalObservation = new Panel("Observation");
68
	private final Panel panneauPrincipalObservation = new Panel("Observation");
69
	
69
	
70
	
70
	
71
	/**
71
	/**
72
	 * liste détaillée des Observations
72
	 * liste détaillée des Observations
73
	 */
73
	 */
74
	private ListeObservationVue listeObservation = null ;
74
	private ListeObservationVue listeObservation = null ;
75
	
75
	
76
	/**
76
	/**
77
	 * Saisie des Observations
77
	 * Saisie des Observations
78
	 */
78
	 */
79
	
79
	
80
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
80
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
81
	
81
	
82
	
82
	
83
 
83
 
84
	/**
84
	/**
85
	 * booleen explicitant s'il y a une selection en cours
85
	 * booleen explicitant s'il y a une selection en cours
86
	 */
86
	 */
87
	private boolean selection = false ;
87
	private boolean selection = false ;
88
 
88
 
89
	
89
	
90
	
90
	
91
	/**
91
	/**
92
	 * La liste des observations affichées en cours (verifier utilité)
92
	 * La liste des observations affichées en cours (verifier utilité)
93
	 */
93
	 */
94
	
94
	
95
	private ListeObservation cacheObservation = new ListeObservation(0) ;
95
	private ListeObservation cacheObservation = new ListeObservation(0) ;
96
	/**
96
	/**
97
	
97
	
98
	
98
	
99
	/**
99
	/**
100
	 * panneau conteneur pour le panneau  des informations lies à l'observation
100
	 * panneau conteneur pour le panneau  des informations lies à l'observation
101
	 */
101
	 */
102
	
102
	
103
  	private Panel details = new Panel("Détails");
103
  	private Panel details = new Panel("Détails");
104
 
104
 
105
 
105
 
106
 
106
 
107
	/**
107
	/**
108
	 * panneau conteneur pour le panneau des filtres
108
	 * panneau conteneur pour le panneau des filtres
109
	 */
109
	 */
110
	
110
	
111
  	private PanneauFiltresObservationVues filtres = null;
111
  	private PanneauFiltresObservationVues filtres = null;
112
 
112
 
113
	
113
	
114
  	
114
  	
115
  	/** 
115
  	/** 
116
  	 * panneau d'information de repartition sur le nom selectionné 
116
  	 * panneau d'information de repartition sur le nom selectionné 
117
  	 * 
117
  	 * 
118
  	 */
118
  	 */
119
  	
119
  	
120
  	private InformationRepartitionVue informationRepartitionVue=null;
120
  	private InformationRepartitionVue informationRepartitionVue=null;
121
  	
121
  	
122
  	
122
  	
123
  	/** 
123
  	/** 
124
  	 * panneau d'affichage d'une image generique associe au nom selectionne 
124
  	 * panneau d'affichage d'une image generique associe au nom selectionne 
125
  	 * 
125
  	 * 
126
  	 */
126
  	 */
127
  	
127
  	
128
  	private ImageGeneriqueVue imageGeneriqueVue=null;
128
  	private ImageGeneriqueVue imageGeneriqueVue=null;
129
 
129
 
130
	private ArbreLocaliteObservationFiltreVue localitesFiltres=null;
130
	private ArbreLocaliteObservationFiltreVue localitesFiltres=null;
131
  	
131
  	
132
  	
132
  	
133
	/**
133
	/**
134
	 * constructeur privé (on accède a la classe par la méthode getInstance
134
	 * constructeur privé (on accède a la classe par la méthode getInstance
135
	 */
135
	 */
136
	
136
	
137
	
137
	
138
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
138
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
139
	{
139
	{
140
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
140
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
141
		
141
		
142
		
142
		
143
		// on crée un modèle
143
		// on crée un modèle
144
		observationModele = ObservationModele.Instance(this);
144
		observationModele = ObservationModele.Instance(this);
145
		
145
		
146
		
146
		
147
	
147
	
148
		listeObservation = new ListeObservationVue(this);
148
		listeObservation = new ListeObservationVue(this);
149
		listeObservation.setTitle("Observations");
149
		listeObservation.setTitle("Observations");
150
		
150
		
151
		// quelques variables de position pour les borderlayouts
151
		// quelques variables de position pour les borderlayouts
152
		final BorderLayoutData regionNord = new BorderLayoutData(
152
		final BorderLayoutData regionNord = new BorderLayoutData(
153
				RegionPosition.NORTH);
153
				RegionPosition.NORTH);
154
 
154
 
155
		final BorderLayoutData regionCentre = new BorderLayoutData(
155
		final BorderLayoutData regionCentre = new BorderLayoutData(
156
				RegionPosition.CENTER);
156
				RegionPosition.CENTER);
157
 
157
 
158
		  
158
		  
159
		final BorderLayoutData regionEst = new BorderLayoutData(
159
		final BorderLayoutData regionEst = new BorderLayoutData(
160
				RegionPosition.EAST);
160
				RegionPosition.EAST);
161
	
161
	
162
			
162
			
163
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted
163
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted
164
			regionEst.setSplit(true);
164
			regionEst.setSplit(true);
165
		}
165
		}
166
 
166
 
167
		final BorderLayoutData regionOuest = new BorderLayoutData(
167
		final BorderLayoutData regionOuest = new BorderLayoutData(
168
				RegionPosition.WEST);
168
				RegionPosition.WEST);
169
		
169
		
170
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted			
170
		if (GWT.isScript()) {  // FIXME : ne fonctionne pas en mode hosted			
171
			regionOuest.setSplit(true);
171
			regionOuest.setSplit(true);
172
		}
172
		}
173
		
173
		
174
		panneauPrincipalObservation.setLayout(new BorderLayout()) ;
174
		panneauPrincipalObservation.setLayout(new BorderLayout()) ;
175
		
175
		
176
		
176
		
177
		// Le formulaire de saisie / modification d'observation
177
		// Le formulaire de saisie / modification d'observation
178
		
178
		
179
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
179
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
180
		formulaireSaisieObservationVue.setTitle("Saisie");
180
		formulaireSaisieObservationVue.setTitle("Saisie");
181
		formulaireSaisieObservationVue.setTitleCollapse(true);
181
		formulaireSaisieObservationVue.setTitleCollapse(true);
182
	 	formulaireSaisieObservationVue.setCollapsible(true) ;
182
	 	formulaireSaisieObservationVue.setCollapsible(true) ;
183
		
183
		
184
 
184
 
185
		Panel centre = new Panel();
185
		Panel centre = new Panel();
186
		centre.setLayout(new RowLayout()) ;
186
		centre.setLayout(new RowLayout()) ;
187
		
187
		
188
		centre.add(formulaireSaisieObservationVue) ;
188
		centre.add(formulaireSaisieObservationVue) ;
189
		centre.add(listeObservation);
189
		centre.add(listeObservation);
190
		
190
		
191
		formulaireSaisieObservationVue.setHeight("30%") ;
191
		formulaireSaisieObservationVue.setHeight("30%") ;
192
		listeObservation.setHeight("95%") ;
192
		listeObservation.setHeight("95%") ;
193
		
193
		
194
		
194
		
195
 
195
 
196
		// on initialise le volet qui contient les details
196
		// on initialise le volet qui contient les details
197
		details.setWidth("15%");
197
		details.setWidth("15%");
198
		details.setTitleCollapse(true);
198
		details.setTitleCollapse(true);
199
		details.setCollapsible(true);
199
		details.setCollapsible(true);
200
		details.setLayout(new RowLayout());
200
		details.setLayout(new RowLayout());
201
		
201
		
202
		
202
		
203
		
203
		
204
		// Information de repartition
204
		// Information de repartition
205
		informationRepartitionVue=new InformationRepartitionVue(this);
205
		informationRepartitionVue=new InformationRepartitionVue(this);
206
		// TODO : calcul de la hauteur automatique par le panel ?
206
		// TODO : calcul de la hauteur automatique par le panel ?
207
		informationRepartitionVue.setHeight(160);
207
		informationRepartitionVue.setHeight(160);
208
		details.add(informationRepartitionVue);
208
		details.add(informationRepartitionVue);
209
		
209
		
210
		
210
		
211
		// Image generique
211
		// Image generique
212
		imageGeneriqueVue=new ImageGeneriqueVue(this);
212
		imageGeneriqueVue=new ImageGeneriqueVue(this);
213
		// TODO : calcul de la hauteur automatique par le panel ?
213
		// TODO : calcul de la hauteur automatique par le panel ?
214
		
214
		
215
		imageGeneriqueVue.setHeight(160);
215
		imageGeneriqueVue.setHeight(160);
216
		details.add(imageGeneriqueVue);
216
		details.add(imageGeneriqueVue);
217
		
217
		
218
		
218
		
219
		// on crée le panneau des filtres
219
		// on crée le panneau des filtres
220
		filtres = new PanneauFiltresObservationVues(this);
220
		filtres = new PanneauFiltresObservationVues(this);
221
		
221
		
222
		// on initialise le volet qui contient les filtres
222
		// on initialise le volet qui contient les filtres
223
		filtres.setWidth("15%");
223
		filtres.setWidth("15%");
224
		filtres.setTitleCollapse(true);
224
		filtres.setTitleCollapse(true);
225
		filtres.setCollapsible(true);
225
		filtres.setCollapsible(true);
226
		
226
		
227
	
227
	
228
 
228
 
229
 
229
 
230
		panneauPrincipalObservation.add(details,regionEst);
230
		panneauPrincipalObservation.add(details,regionEst);
231
		panneauPrincipalObservation.add(filtres,regionOuest);
231
		panneauPrincipalObservation.add(filtres,regionOuest);
232
		panneauPrincipalObservation.add(centre,regionCentre);
232
		panneauPrincipalObservation.add(centre,regionCentre);
233
 
233
 
234
		
234
		
235
 
235
 
236
 
236
 
237
		
237
		
238
	}
238
	}
239
 
239
 
240
 
240
 
241
	/**
241
	/**
242
	 * Retourne une instance de manière unique
242
	 * Retourne une instance de manière unique
243
	 * @return l'instance unique du médiateur
243
	 * @return l'instance unique du médiateur
244
	 */
244
	 */
245
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
245
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
246
	{
246
	{
247
			if(!estInstancie || thisMediateur == null)
247
			if(!estInstancie || thisMediateur == null)
248
			{
248
			{
249
				estInstancie = true ;
249
				estInstancie = true ;
250
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
250
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
251
			}
251
			}
252
			
252
			
253
			return thisMediateur ;	
253
			return thisMediateur ;	
254
	}
254
	}
255
	
255
	
256
	
256
	
257
	
257
	
258
	/**
258
	/**
259
	 * Demande au modele le nombre d'Observation à afficher
259
	 * Demande au modele le nombre d'Observation à afficher
260
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
260
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
261
	 */
261
	 */
262
 
262
 
263
	public void obtenirNombreObservation() {
263
	public void obtenirNombreObservation() {
264
		
264
		
265
	
265
	
266
		  observationModele.obtenirNombreObservation(listeObservation) ;
266
		  observationModele.obtenirNombreObservation(listeObservation) ;
267
		
267
		
268
	}
268
	}
269
 
269
 
270
	
270
	
271
	/**
271
	/**
272
	 * Demande au modele le detail  dess Observations à afficher
272
	 * Demande au modele le detail  dess Observations à afficher
273
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
273
	 * TODO : grouper cette demande avec la demande d'affichage de liste ? 
274
	 * @param r : la vue demandeuse de donnee
274
	 * @param r : la vue demandeuse de donnee
275
	 */
275
	 */
276
 
276
 
277
 
277
 
278
	public void obtenirListeObservation() {
278
	public void obtenirListeObservation() {
279
		
279
		
280
		observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
280
		observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
281
			
281
			
282
	}	
282
	}	
283
	
283
	
284
	public void obtenirListeObservation(Rafraichissable r) {
284
	public void obtenirListeObservation(Rafraichissable r) {
285
		
285
		
286
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
286
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
287
	}
287
	}
288
	
288
	
289
	/**
289
	/**
290
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
290
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
291
	 * sous forme de tableau [nom, valeur]
291
	 * sous forme de tableau [nom, valeur]
292
	 * @return Les noms et valeurs des filtres
292
	 * @return Les noms et valeurs des filtres
293
	 */
293
	 */
294
	public String[][] renvoyerFiltres()
294
	public String[][] renvoyerFiltres()
295
	{
295
	{
296
		String[][] valeursFiltres = { {"",""} } ;
296
		String[][] valeursFiltres = { {"",""} } ;
297
		
297
		
298
		
298
		
299
		return valeursFiltres ;
299
		return valeursFiltres ;
300
	}
300
	}
301
 
301
 
302
 
302
 
303
	
303
	
304
	/**
304
	/**
305
	 * Retourne l'identifiant de l'utilisateur connecte
305
	 * Retourne l'identifiant de l'utilisateur connecte
306
	 * @return : identifiant de l'utilisateur connecte
306
	 * @return : identifiant de l'utilisateur connecte
307
	 */
307
	 */
308
	public String getIdentifiant() {
308
	public String getIdentifiant() {
309
		
309
		
310
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
310
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
311
	
311
	
312
	}
312
	}
313
 
313
 
314
 
314
 
315
	/**
315
	/**
316
	 * 
316
	 * 
317
	 * @return
317
	 * @return
318
	 * 
318
	 * 
319
	 */
319
	 */
320
	
320
	
321
	public Panel getPanneauPrincipalObservation() {
321
	public Panel getPanneauPrincipalObservation() {
322
		return panneauPrincipalObservation;
322
		return panneauPrincipalObservation;
323
	}
323
	}
324
	
324
	
325
 
325
 
326
 
326
 
327
 
327
 
328
	/**
328
	/**
329
	 *  
329
	 *  
330
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
330
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
331
	 * @param r : la vue demandeuse de donnee
331
	 * @param r : la vue demandeuse de donnee
332
	 * @param critere : les criteres de selection
332
	 * @param critere : les criteres de selection
333
	 */
333
	 */
334
	
334
	
335
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
335
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
336
		
336
		
337
		observationModele.obtenirListeReferentielCommune(r,critere) ;
337
		observationModele.obtenirListeReferentielCommune(r,critere) ;
338
 
338
 
339
		
339
		
340
	}
340
	}
341
	
341
	
342
	/**
342
	/**
343
	 *  
343
	 *  
344
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
344
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
345
	 * @param r : la vue demandeuse de donnee
345
	 * @param r : la vue demandeuse de donnee
346
	 * @param critere : les criteres de selection
346
	 * @param critere : les criteres de selection
347
	 */
347
	 */
348
	
348
	
349
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
349
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
350
		
350
		
351
		observationModele.obtenirListeReferentielNom(r,critere) ;
351
		observationModele.obtenirListeReferentielNom(r,critere) ;
352
 
352
 
353
		
353
		
354
	}
354
	}
355
 
355
 
356
	
356
	
357
	/**
357
	/**
358
	 * TODO : afficher un message du type "observation ajouté".  
358
	 * TODO : afficher un message du type "observation ajouté".  
359
	 * Lance la creation d'une observation
359
	 * Lance la creation d'une observation
360
	 * @param obs : l'observation saisie
360
	 * @param obs : l'observation saisie
361
	 */
361
	 */
362
	
362
	
363
	
363
	
364
	
364
	
365
	public void ajouterObservation(Observation obs) {
365
	public void ajouterObservation(Observation obs) {
366
	
366
	
367
		
367
		
368
	  // On raffraichi la liste d'observation 
368
	  // On raffraichi la liste d'observation 
369
	  observationModele.ajouterObservation(listeObservation, obs) ;
369
	  observationModele.ajouterObservation(listeObservation, obs) ;
370
		
370
		
371
	}
371
	}
372
	
372
	
373
	
373
	
374
	
374
	
375
	/**
375
	/**
376
	 * 
376
	 * 
377
	 * TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation 
377
	 * TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation 
378
	 * est appelé lors d'un clic de souris sur un enregistrement de la liste le
378
	 * est appelé lors d'un clic de souris sur un enregistrement de la liste le
379
	 * médiateur gère alors les conséquences
379
	 * médiateur gère alors les conséquences
380
	 * 
380
	 * 
381
	 * @param rowIndex
381
	 * @param rowIndex
382
	 *            le numéro de ligne selectionné
382
	 *            le numéro de ligne selectionné
383
	 */
383
	 */
384
	
384
	
385
	public void clicListeObservation(int rowIndex) {
385
	public void clicListeObservation(int rowIndex) {
386
	
386
	
387
		
387
		
388
		// Affichage de la carte de repartition correspondante
388
		// Affichage de la carte de repartition correspondante
389
		
389
		
390
		Record rd = listeObservation.getSelectionModel().getSelected();
390
		Record rd = listeObservation.getSelectionModel().getSelected();
391
		String numeroNomenclaturalSaisiObservation = rd.getAsString("numeroNomenclaturalSaisi_observation");
391
		String numeroNomenclaturalSaisiObservation = rd.getAsString("numeroNomenclaturalSaisi_observation");
392
		
392
		
393
		
393
		
394
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
394
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
395
 
395
 
396
 
396
 
397
		// Affichage de l'image correspondante
397
		// Affichage de l'image correspondante
398
				
398
				
399
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
399
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
400
 
400
 
401
 
401
 
402
	}
402
	}
403
	
403
	
404
	
404
	
405
		
405
		
406
 
406
 
407
 
407
 
408
	public void montrerContextMenu(EventObject e) {
408
	public void montrerContextMenu(EventObject e) {
409
		
409
		
410
		
410
		
411
		
411
		
412
	}
412
	}
413
 
413
 
414
	public void doubleClicListeObservation(int rowIndex) {
414
	public void doubleClicListeObservation(int rowIndex) {
415
		
415
		
416
		
416
		
417
	}
417
	}
418
 
418
 
419
 
419
 
420
	public PanneauFiltresObservationVues getPanneauFiltres() {
420
	public PanneauFiltresObservationVues getPanneauFiltres() {
421
		
421
		
422
		return filtres;
422
		return filtres;
423
		
423
		
424
	}
424
	}
425
 
425
 
426
 
426
 
427
	/**
427
	/**
428
	 * Envoie au modèle une demande pour obtenir l'arbre des localites
428
	 * Envoie au modèle une demande pour obtenir l'arbre des localites
429
	 * 
429
	 * 
430
	 * @param r
430
	 * @param r
431
	 *            le raffraichissable qui a demandé la mise à jour
431
	 *            le raffraichissable qui a demandé la mise à jour
432
	 */
432
	 */
433
	public void obtenirArbreLocalites(Rafraichissable r) {
433
	public void obtenirArbreLocalites(Rafraichissable r) {
434
		
434
		
435
		observationModele.obtenirArbreLocalites(r);
435
		observationModele.obtenirArbreLocalites(r);
436
		
436
		
437
	}
437
	}
-
 
438
 
-
 
439
 
-
 
440
	public void donneesRafraichies(Object nouvelleDonnees) {
-
 
441
		
-
 
442
		carnetEnLigneMediateur.donneesRafraichies(nouvelleDonnees) ;
-
 
443
		
-
 
444
	}
438
 
445
 
439
	
446
	
440
	
447
	
441
 
448
 
442
	
449
	
443
	
450
	
444
}
451
}