Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 60 Rev 61
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
		
-
 
280
 
279
		
281
			observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
-
 
282
			
280
		observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
283
			
281
			
284
	}	
282
	}	
-
 
283
	
-
 
284
	public void obtenirListeObservation(Rafraichissable r) {
-
 
285
		
-
 
286
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
-
 
287
	}
285
	
288
	
286
	/**
289
	/**
287
	 * 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
288
	 * sous forme de tableau [nom, valeur]
291
	 * sous forme de tableau [nom, valeur]
289
	 * @return Les noms et valeurs des filtres
292
	 * @return Les noms et valeurs des filtres
290
	 */
293
	 */
291
	public String[][] renvoyerFiltres()
294
	public String[][] renvoyerFiltres()
292
	{
295
	{
293
		String[][] valeursFiltres = { {"",""} } ;
296
		String[][] valeursFiltres = { {"",""} } ;
294
		
297
		
295
		
298
		
296
		return valeursFiltres ;
299
		return valeursFiltres ;
297
	}
300
	}
298
 
301
 
299
 
302
 
300
	
303
	
301
	/**
304
	/**
302
	 * Retourne l'identifiant de l'utilisateur connecte
305
	 * Retourne l'identifiant de l'utilisateur connecte
303
	 * @return : identifiant de l'utilisateur connecte
306
	 * @return : identifiant de l'utilisateur connecte
304
	 */
307
	 */
305
	public String getIdentifiant() {
308
	public String getIdentifiant() {
306
		
309
		
307
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
310
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
308
	
311
	
309
	}
312
	}
310
 
313
 
311
 
314
 
312
	/**
315
	/**
313
	 * 
316
	 * 
314
	 * @return
317
	 * @return
315
	 * 
318
	 * 
316
	 */
319
	 */
317
	
320
	
318
	public Panel getPanneauPrincipalObservation() {
321
	public Panel getPanneauPrincipalObservation() {
319
		return panneauPrincipalObservation;
322
		return panneauPrincipalObservation;
320
	}
323
	}
321
	
324
	
322
 
325
 
323
 
326
 
324
 
327
 
325
	/**
328
	/**
326
	 *  
329
	 *  
327
	 * 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 
328
	 * @param r : la vue demandeuse de donnee
331
	 * @param r : la vue demandeuse de donnee
329
	 * @param critere : les criteres de selection
332
	 * @param critere : les criteres de selection
330
	 */
333
	 */
331
	
334
	
332
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
335
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
333
		
336
		
334
		observationModele.obtenirListeReferentielCommune(r,critere) ;
337
		observationModele.obtenirListeReferentielCommune(r,critere) ;
335
 
338
 
336
		
339
		
337
	}
340
	}
338
	
341
	
339
	/**
342
	/**
340
	 *  
343
	 *  
341
	 * 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 
342
	 * @param r : la vue demandeuse de donnee
345
	 * @param r : la vue demandeuse de donnee
343
	 * @param critere : les criteres de selection
346
	 * @param critere : les criteres de selection
344
	 */
347
	 */
345
	
348
	
346
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
349
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
347
		
350
		
348
		observationModele.obtenirListeReferentielNom(r,critere) ;
351
		observationModele.obtenirListeReferentielNom(r,critere) ;
349
 
352
 
350
		
353
		
351
	}
354
	}
352
 
355
 
353
	
356
	
354
	/**
357
	/**
355
	 * TODO : afficher un message du type "observation ajouté".  
358
	 * TODO : afficher un message du type "observation ajouté".  
356
	 * Lance la creation d'une observation
359
	 * Lance la creation d'une observation
357
	 * @param obs : l'observation saisie
360
	 * @param obs : l'observation saisie
358
	 */
361
	 */
359
	
362
	
360
	
363
	
361
	
364
	
362
	public void ajouterObservation(Observation obs) {
365
	public void ajouterObservation(Observation obs) {
363
	
366
	
364
		
367
		
365
	  // On raffraichi la liste d'observation 
368
	  // On raffraichi la liste d'observation 
366
	  observationModele.ajouterObservation(listeObservation, obs) ;
369
	  observationModele.ajouterObservation(listeObservation, obs) ;
367
		
370
		
368
	}
371
	}
369
	
372
	
370
	
373
	
371
	
374
	
372
	/**
375
	/**
373
	 * 
376
	 * 
374
	 * 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 
375
	 * 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
376
	 * médiateur gère alors les conséquences
379
	 * médiateur gère alors les conséquences
377
	 * 
380
	 * 
378
	 * @param rowIndex
381
	 * @param rowIndex
379
	 *            le numéro de ligne selectionné
382
	 *            le numéro de ligne selectionné
380
	 */
383
	 */
381
	
384
	
382
	public void clicListeObservation(int rowIndex) {
385
	public void clicListeObservation(int rowIndex) {
383
	
386
	
384
		
387
		
385
		// Affichage de la carte de repartition correspondante
388
		// Affichage de la carte de repartition correspondante
386
		
389
		
387
		Record rd = listeObservation.getSelectionModel().getSelected();
390
		Record rd = listeObservation.getSelectionModel().getSelected();
388
		String numeroNomenclaturalSaisiObservation = rd.getAsString("numeroNomenclaturalSaisi_observation");
391
		String numeroNomenclaturalSaisiObservation = rd.getAsString("numeroNomenclaturalSaisi_observation");
389
		
392
		
390
		
393
		
391
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
394
		observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
392
 
395
 
393
 
396
 
394
		// Affichage de l'image correspondante
397
		// Affichage de l'image correspondante
395
				
398
				
396
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
399
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
397
 
400
 
398
 
401
 
399
	}
402
	}
400
	
403
	
401
	
404
	
402
		
405
		
403
 
406
 
404
 
407
 
405
	public void montrerContextMenu(EventObject e) {
408
	public void montrerContextMenu(EventObject e) {
406
		
409
		
407
		
410
		
408
		
411
		
409
	}
412
	}
410
 
413
 
411
	public void doubleClicListeObservation(int rowIndex) {
414
	public void doubleClicListeObservation(int rowIndex) {
412
		
415
		
413
		
416
		
414
	}
417
	}
415
 
418
 
416
 
419
 
417
	public PanneauFiltresObservationVues getPanneauFiltres() {
420
	public PanneauFiltresObservationVues getPanneauFiltres() {
418
		
421
		
419
		return filtres;
422
		return filtres;
420
		
423
		
421
	}
424
	}
422
 
425
 
423
 
426
 
424
	/**
427
	/**
425
	 * 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
426
	 * 
429
	 * 
427
	 * @param r
430
	 * @param r
428
	 *            le raffraichissable qui a demandé la mise à jour
431
	 *            le raffraichissable qui a demandé la mise à jour
429
	 */
432
	 */
430
	public void obtenirArbreLocalites(Rafraichissable r) {
433
	public void obtenirArbreLocalites(Rafraichissable r) {
431
		
434
		
432
		observationModele.obtenirArbreLocalites(r);
435
		observationModele.obtenirArbreLocalites(r);
433
		
436
		
434
	}
437
	}
435
 
438
 
436
	
439
	
437
	
440
	
438
 
441
 
439
	
442
	
440
	
443
	
441
}
444
}