Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 9 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9 Rev 49
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
-
 
4
 
-
 
-
 
3
 
5
 
4
import java.util.Iterator;
6
import org.tela_botanica.client.CarnetEnLigneMediateur;
5
import org.tela_botanica.client.CarnetEnLigneMediateur;
-
 
6
import org.tela_botanica.client.interfaces.FournisseurListe;
7
import org.tela_botanica.client.interfaces.iMediateur;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.iRetourObservation;
8
import org.tela_botanica.client.modeles.ListeObservation;
-
 
9
import org.tela_botanica.client.modeles.Observation;
-
 
10
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
-
 
11
import org.tela_botanica.client.vues.ListeObservationVue;
9
import org.tela_botanica.client.modeles.Observation;
12
 
-
 
13
import com.gwtext.client.data.ArrayReader;
10
 
14
import com.gwtext.client.data.FieldDef;
-
 
15
import com.gwtext.client.data.MemoryProxy;
-
 
16
import com.gwtext.client.data.RecordDef;
11
import com.google.gwt.user.client.Window;
17
import com.gwtext.client.data.Store;
12
import com.google.gwt.user.client.ui.RootPanel;
-
 
13
import com.google.gwt.user.client.ui.VerticalPanel;
18
import com.gwtext.client.data.StringFieldDef;
14
 
-
 
-
 
19
import com.gwtext.client.widgets.Panel;
-
 
20
import com.gwtext.client.widgets.TabPanel;
-
 
21
 
-
 
22
/**
-
 
23
 * Mediateur gérant les interactions entre vues et les echanges de données
-
 
24
 * C'est un singleton. 
-
 
25
 * @author aurelien
-
 
26
 *
-
 
27
 */
-
 
28
public class ObservationMediateur implements Rafraichissable {
-
 
29
	
-
 
30
	/**
-
 
31
	 * booleen qui verifie l'unicite de l'instance (donc static)
-
 
32
	 */
-
 
33
	private static boolean estInstancie = false ;  
-
 
34
	
-
 
35
	/** Mediateur general de l'application carnet en ligne
-
 
36
	 * 
-
 
37
	 * 
-
 
38
	 */
-
 
39
	
-
 
40
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
15
public class ObservationMediateur implements iMediateur{
41
	
-
 
42
	
-
 
43
	/**
-
 
44
	 * modele de données
-
 
45
	 */
-
 
46
	private ObservationModele observationModele = null ;
-
 
47
	
-
 
48
	
-
 
49
	/**
-
 
50
	 * panneau principal des Observation (onglet "observation")
-
 
51
	 */
-
 
52
	private final Panel panneauPrincipalObservation = new Panel("Observation");
-
 
53
	
-
 
54
	/**
-
 
55
	 * panneau a onglet pour la liste
-
 
56
	 */ 
-
 
57
	private TabPanel ongletsObservation = null ;
-
 
58
	
-
 
59
	/**
-
 
60
	 * conteneur du panneau a onglets
-
 
61
	 */
-
 
62
	private Panel panneauMenuEtOngletsObservation = null ;
-
 
63
	
16
 
64
	/**
-
 
65
	 * liste détaillée des Observations
-
 
66
	 */
-
 
67
	private ListeObservationVue listeObservation = null ;
-
 
68
	
17
 
69
	/**
-
 
70
	 * Saisie des Observations
-
 
71
	 */
18
	// Evenenements
72
	
-
 
73
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
-
 
74
	/**
-
 
75
	 * l'indice du dernier onglet sélectionné
-
 
76
	 */
-
 
77
	private int dernierIndexOnglet = 0 ; 
-
 
78
	
-
 
79
	/**
19
	final static public  int NOMBRE_OBSERVATION=1;
-
 
20
 
-
 
21
	final static public  int LISTE_OBSERVATION=2;
-
 
22
	
-
 
23
	
-
 
24
	private CarnetEnLigneMediateur carnetEnLigneMediateur=null;  // Mediateur General
-
 
25
	private final ObservationModele observationModele=new ObservationModele();
-
 
-
 
80
	 * booleen explicitant s'il y a une selection en cours
-
 
81
	 */
-
 
82
	private boolean selection = false ;
-
 
83
	
-
 
84
	
-
 
85
 
26
 
86
	/**
-
 
87
	 * 
-
 
88
	 * Numéro de page en cours
-
 
89
	 */
-
 
90
	private int pageEncours = 0 ;
-
 
91
	/**
-
 
92
	 * Nombre de pages totales
-
 
93
	 */
-
 
94
	private int pageMax = 1 ;
-
 
95
	/**
-
 
96
	 * Taille de page (par défaut 20)
-
 
97
	 */
-
 
98
	private int taillePage = 20 ;
-
 
99
	/**
-
 
100
	 * Nombre d'éléments total correspondant à la requete
-
 
101
	 */
-
 
102
	private int nbElements = 0 ;
-
 
103
	
-
 
104
	
-
 
105
	/**
-
 
106
	 * Le store contenant les données à afficher, que le modèle transmet au médiateur quand il le demande
27
	private Observation observation=null; 
107
	 */
-
 
108
	private Store st = null ;
-
 
109
	
28
 
110
	
-
 
111
	
-
 
112
	
-
 
113
	/**
-
 
114
	 * La liste des observations affichées en cours (verifier utilité)
-
 
115
	 */
-
 
116
	
-
 
117
	private ListeObservation cacheObservation = new ListeObservation(0) ;
-
 
118
	/**
-
 
119
	
29
	// Variable interne 
120
	
-
 
121
	
-
 
122
	/**
-
 
123
	 * constructeur privé (on accède a la classe par la méthode getInstance
-
 
124
	 */
-
 
125
	
-
 
126
	
-
 
127
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
30
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
-
 
-
 
128
	{
-
 
129
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
-
 
130
	
31
 
131
	
-
 
132
		
-
 
133
		// Demande d'identification
-
 
134
//		afficherMenuId() ;
-
 
135
 
-
 
136
		
-
 
137
		// on crée un modèle
-
 
138
		observationModele = ObservationModele.Instance(this);
-
 
139
		
-
 
140
		
-
 
141
		// on gère la mise en page du panneau principal
-
 
142
		//panneauPrincipalObservation.setLayout(new BorderLayout());
-
 
143
		
-
 
144
		// on crée le panneau qui contient les differentes onglets ainsi que le menu supérieur
-
 
145
	//	panneauMenuEtOngletsObservation = new Panel("gg") ;
-
 
146
	//	panneauMenuEtOngletsObservation.setLayout(new BorderLayout()) ;
32
	// Composants graphiques
147
		
-
 
148
		// le panneau à onglet qui contient la vue
-
 
149
		//ongletsObservation = new TabPanel();
-
 
150
		
-
 
151
		
33
	
-
 
-
 
152
		// la liste des observations
34
	private EtatConnexionVue etatConnexionVue=null; // Vue Etat de la connexion utilisateur
153
		
-
 
154
		//Panel panneauListeObservation = new Panel("Liste");
-
 
155
		
-
 
156
		listeObservation = new ListeObservationVue(this);
-
 
157
		
35
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null; // Formulaire de connexion utilisateur
158
		
-
 
159
		// Le formulaire de saisie / modification d'observation
-
 
160
		
-
 
161
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
-
 
162
 
-
 
163
		
-
 
164
		//panneauListeObservation.setLayout(new FitLayout());
-
 
165
		//panneauListeObservation.setSize(600,600);
-
 
166
		//panneauListeObservation.add(listeObservation);
-
 
167
		
36
	private ListeObservationsVue listeObservationsVue = null;  // Liste de releves
168
		
37
 
-
 
38
    // 
-
 
39
		
-
 
40
	
-
 
41
	public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {
-
 
42
		
-
 
43
 
169
		// on ajoute les panneaux au panneau à onglets
44
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
-
 
45
		
-
 
46
		etatConnexionVue=new EtatConnexionVue(this);
170
		//ongletsObservation.add(panneauListeObservation);
47
		listeObservationsVue=new ListeObservationsVue(this);
-
 
-
 
171
		
48
		
172
		
49
		VerticalPanel panel=new VerticalPanel();
-
 
50
		
173
		// les onglets au centre
-
 
174
//		panneauMenuEtOngletsObservation.add(ongletsObservation,regionCentre);
-
 
175
		
-
 
176
		// on ajoute le panneau qui contient le menu et les onglets d'images au centre
-
 
177
		//panneauPrincipalObservation.add(panneauMenuEtOngletsObservation,regionCentre);
-
 
178
		
-
 
179
		panneauPrincipalObservation.add(formulaireSaisieObservationVue);
-
 
180
	
-
 
181
		panneauPrincipalObservation.add(listeObservation);
-
 
182
		
-
 
183
	
-
 
184
	
-
 
185
 
-
 
186
	}
51
		panel.add(etatConnexionVue);
-
 
-
 
187
 
52
	
188
 
-
 
189
	/**
-
 
190
	 * Retourne une instance de manière unique
-
 
191
	 * @return l'instance unique du médiateur
53
		panel.add(listeObservationsVue);
192
	 */
-
 
193
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
-
 
194
	{
-
 
195
			if(!estInstancie)
54
	
196
			{
55
 
-
 
56
		RootPanel.get().add(panel);
-
 
57
		
197
				estInstancie = true ;
58
		onInitialisation();
198
				return new ObservationMediateur(carnetEnLigneMediateur) ;
59
		
199
			}
60
	}
-
 
61
 
-
 
62
	
-
 
63
	/// Methodes privees 
-
 
64
 
-
 
65
	/**
-
 
66
	 * 
-
 
67
	 * Initialisations
-
 
68
	 * 
200
			else
-
 
201
			{
-
 
202
				return null ;
69
	 */
203
				
70
	
-
 
71
	private void onInitialisation() {
-
 
72
	
204
			}
73
	
205
	}
74
		afficheEtatConnexion();
206
	
75
		onFiltrageListeObservation("all","all","all");
207
	
76
		
208
	
77
	
209
	/**
78
	}
210
	 * envoie au modèle une demande de mise a jour
79
	
211
	 */
80
	// Filtre  selection lieu
212
 
81
	
213
 
82
	/**
214
	public void obtenirNombreObservation() {
83
	 * Action sur selection d'un lieu : affichage de la liste des taxons correspondants au filtrage
215
		
84
	 */
216
	
85
	
217
			listeObservation.masquerChargement();
86
	public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {
218
		    observationModele.obtenirNombreObservation(this) ;
87
 
219
		
88
		// Positionnement Filtre affichage
220
	}
89
		listeObservationsVue.setIdLocation(id_loc);
221
	
90
		listeObservationsVue.setLocalite(loc);
222
	/**
91
		listeObservationsVue.setLieudit(lieu);
223
	 * envoie au modèle une demande de mise a jour
92
		listeObservationsVue.initialiser();
224
	 */
93
 
225
 
94
		// Affichage des filtres
226
 
95
		listeObservationsVue.displayFilter();
227
	public void obtenirListeObservation() {
96
 
228
		
97
		
229
 
98
	}
230
			observationModele.obtenirListeObservation(this, taillePage, pageEncours) ;
99
	
231
		
100
 
232
	}
101
 
233
 
102
 
234
 
103
	
-
 
104
	/// UTILISATEUR
235
	
105
 
236
		
-
 
237
	
106
	
238
	/**
-
 
239
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
107
	/**
240
	 * sous forme de tableau [nom, valeur]
108
	 *  Affichage etat de la connexion
-
 
109
	 */
-
 
110
	
241
	 * @return Les noms et valeurs des filtres
111
	
-
 
112
	private void afficheEtatConnexion() {
-
 
113
		 if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
242
	 */
114
			    etatConnexionVue.setEtat(texteDeconnexion,false);
-
 
115
		 }
243
	public String[][] renvoyerFiltres()
116
		 else {
-
 
-
 
244
	{
-
 
245
		String[][] valeursFiltres = { {"location","Saint-Martin-de-Londres"} } ;
117
		    etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)",true);
246
		
-
 
247
		
-
 
248
		return valeursFiltres ;
-
 
249
	}
-
 
250
 
118
		 }
251
 
-
 
252
	public String getIdentifiant() {
119
		
253
		
-
 
254
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
120
	}
255
	
121
 
256
	}
122
	
-
 
-
 
257
 
-
 
258
 
-
 
259
	public Panel getPanneauPrincipalObservation() {
-
 
260
		return panneauPrincipalObservation;
123
	/**
261
	}
-
 
262
	
-
 
263
	
-
 
264
	
-
 
265
	// TODO : plutot dans la listevu non ?
-
 
266
 
-
 
267
	public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
-
 
268
	
-
 
269
		
-
 
270
		
-
 
271
//		 si l'on a reçu une liste d'observation
-
 
272
		if(nouvelleDonnees instanceof ListeObservation)
-
 
273
		{
-
 
274
			
-
 
275
				ListeObservation data = (ListeObservation) nouvelleDonnees ;
-
 
276
				Object[][] observationData = new Object[data.size()][8];
-
 
277
				int i = 0 ;
-
 
278
				
-
 
279
				if(data.size() == 0)
-
 
280
				{
-
 
281
					pageEncours = 0 ;
-
 
282
				}
-
 
283
				
-
 
284
				// on la parse et on récupère les informations quiç nous interessent
-
 
285
				for (Iterator it = data.keySet().iterator(); it.hasNext();) 
-
 
286
				{
-
 
287
					
-
 
288
					Observation obs=(Observation) data.get(it.next());
-
 
289
					
-
 
290
					observationData[i][0]= obs.getTransmis();
-
 
291
					observationData[i][1]= obs.getNomSaisi();
-
 
292
					observationData[i][2]= obs.getNomRetenu();
-
 
293
					observationData[i][3]= obs.getLieudit();
-
 
294
					observationData[i][4]= obs.getDate();
-
 
295
					observationData[i][5]= obs.getNumeroOrdre();
-
 
296
					
124
	 * 
297
					
-
 
298
 
-
 
299
					
-
 
300
										
-
 
301
					i++ ;
125
	 * Affichage boite de connexion
302
				}
-
 
303
		
-
 
304
				// creation du store qui les contient
-
 
305
				
-
 
306
				FieldDef defEtatObservation = new StringFieldDef("etat_observation");
126
	 *
307
				FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
127
	 */
308
				FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
-
 
309
				FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
128
	
310
				FieldDef defDateObservation = new StringFieldDef("date_observation");
-
 
311
				FieldDef defOrdreObservation = new StringFieldDef("ordre_observation");
129
	public void afficherDialogueConnexion() {
312
				
130
		
313
				// on associe le store
-
 
314
 
-
 
315
				FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
-
 
316
						defLieuObservation, defDateObservation, defOrdreObservation };
-
 
317
				
-
 
318
				RecordDef rd = new RecordDef(defTab);
131
		  // TODO : singleton ? 
319
				
-
 
320
				final MemoryProxy dataProxy = new MemoryProxy(observationData);
-
 
321
				final ArrayReader reader = new ArrayReader(rd);
-
 
322
		
-
 
323
				final Store observationStore = new Store(dataProxy, reader);
-
 
324
				
-
 
325
				
-
 
326
				st = observationStore ;
-
 
327
				st.load() ;
-
 
328
				
-
 
329
				// par défaut le store est trié sur l'ordre d'observations
-
 
330
				st.sort("ordre_observation") ;
-
 
331
 
-
 
332
			
-
 
333
				// si on doit répandre les données, on notifie le médiateur qui les distribuera à son tour
-
 
334
				if(repandreRafraichissement)
-
 
335
				{
-
 
336
					listeObservation.rafraichir(st, false) ;					
-
 
337
				}
-
 
338
				
-
 
339
		}
-
 
340
		
-
 
341
		
-
 
342
		// Si on reçoit un tableau d'entiers
-
 
343
		// c'est un tableau d'un seul entier qui est le nombre d'observation correspondant aux critères
-
 
344
		if(nouvelleDonnees instanceof int[])
-
 
345
		{
-
 
346
			int[] pages = (int[])nouvelleDonnees ;
-
 
347
			
-
 
348
			// on calcule le nombre de pages nécessaires et on les met à jour dans le modèle
132
		  formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);
349
			pageMax  = calculerNbPages(pages[0]) ;
-
 
350
			nbElements = pages[0] ;
-
 
351
			
133
 
352
			// et on notifie de le mediateur du changement des valeurs
-
 
353
			changerPageMaxEtCourante(pageMax,pageEncours,taillePage,pages[0]) ;
-
 
354
			
134
		  // Position it roughly in the middle of the screen.
355
			obtenirListeObservation();
-
 
356
		}
-
 
357
	}
135
		  int left = (Window.getClientWidth() - 512) / 2;
358
	
-
 
359
	
136
		  int top = (Window.getClientHeight() - 256) / 2;
360
	/**
137
		  formulaireDeConnexionVue.setPopupPosition(left, top);
-
 
138
		  formulaireDeConnexionVue.show();
-
 
-
 
361
	 * Met à jour les barre d'outils avec des nouvelles valeurs
-
 
362
	 * @param pageMax le nombre de pages
-
 
363
	 * @param pageEncours la page en cours
-
 
364
	 * @param taillePage la taille de page
-
 
365
	 * @param nbElement le nombre d'élements par page
-
 
366
	 */
-
 
367
	public void changerPageMaxEtCourante(int pageMax, int pageEncours, int taillePage, int nbElement) 
-
 
368
	{
-
 
369
				
-
 
370
		int[] pages = {pageMax,pageEncours, taillePage, nbElement} ;
-
 
371
		listeObservation.getToolBarVue().rafraichir(pages, false) ;
-
 
372
		
-
 
373
	}
-
 
374
	
-
 
375
	
-
 
376
	
-
 
377
	/**
-
 
378
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements donnés en fonction de la taille de page
-
 
379
	 * en cours
-
 
380
	 * @param nbElements le nombre d'élements total
-
 
381
	 * @return le nombre de pages 
139
		
382
	 */
140
	}
383
	public int calculerNbPages(int nbElements)
141
 
384
	{
142
	
385
		// A cause de la betise de java pour les conversion implicite on fait quelques conversions manuellement
143
	/**
386
		// pour eviter qu'il arrondisse mal la division
144
	 * Deconnexion de l'utilisateur en cours 
387
		// nombre de pages = (nombre d'element / taille de la page) arrondie à l'entier superieur
145
	 */
388
		
-
 
389
		double nPage = (1.0*nbElements)/(1.0*taillePage) ; 
146
	
390
		double nPageRound = Math.ceil(nPage) ;
-
 
391
		Double nPageInt = new Double(nPageRound) ;
-
 
392
		
-
 
393
		// on convertit en entier
-
 
394
		return nPageInt.intValue() ; 
147
	public void deconnecterUtilisateur() {
395
	}
-
 
396
 
148
		
397
	
-
 
398
	/**
149
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);
399
	 * Recalcule la page en cours lors du changement du nombre d'élements
150
		carnetEnLigneMediateur.deconnecterUtilisateur();
400
	 * @param nbElements le nombre d'élements total
151
	
-
 
152
	}
401
	 * @return la nouvelle page encours
153
 
-
 
154
 
402
	 */
-
 
403
	public int calculerPageCourante(int nbElements)
-
 
404
	{
-
 
405
		// on calcule le nombre de page
-
 
406
		int nouvelNbPages = calculerNbPages(nbElements) ;
-
 
407
		// la nouvelle page en cours
-
 
408
		double nPageCourante = (1.0*pageEncours)/(1.0*pageMax) * (1.0*nouvelNbPages) ;
-
 
409
		
-
 
410
		// on arrondit au supérieur
-
 
411
		double nPageRound = Math.ceil(nPageCourante) ;
-
 
412
		Double nPageInt = new Double(nPageRound) ;
-
 
413
		
155
	/**
414
		// on convertit en entier
-
 
415
		return Math.abs(nPageInt.intValue()) ; 
-
 
416
	}
-
 
417
	
-
 
418
 
-
 
419
	/**
156
	 * Tentative de connexion utilisateur
420
	 * Appelle le modèle pour lui demander les données d'une page à afficher
157
	 * @param login
421
	 * @param pageCourante le numéro de page à affciher
158
	 * @param password
-
 
-
 
422
	 */
159
	 */
423
	public void changerNumeroPage(int pageCourante) {
-
 
424
		
-
 
425
		
-
 
426
		
160
	
427
		pageEncours = pageCourante ;
161
	
-
 
162
	public void connecterUtilisateur(String login, String password) {
428
		
163
		
429
		// On lance le chargerment des observations
164
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);
-
 
165
		carnetEnLigneMediateur.connecterUtilisateur(login, password);
-
 
166
 
-
 
167
	}
-
 
168
 
430
		obtenirNombreObservation();
169
 
431
		
-
 
432
		listeObservation.getToolBarVue().changerPageCourante(pageCourante);
170
 
433
		
171
	/// OBSERVATION
-
 
172
	
-
 
173
	/**
-
 
174
	 * Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours
434
	}
175
	 * 
-
 
176
	 */
-
 
177
	
-
 
178
	
-
 
179
	public void getNombreObservation (String identifiantLocalite, String localite, String annee,  String mois,  String jour, String lieudit, String rechercheLibre ) {
-
 
180
		
-
 
181
 
-
 
182
		observationModele.getNombreObservation(
-
 
183
				new iRetourObservation() {
-
 
184
					public void onRetour(Observation obs) {
-
 
185
						observation=obs;
-
 
186
						//fireEvent(NOMBRE_OBSERVATION); 
-
 
187
					}
-
 
188
 
-
 
189
					
-
 
190
				}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre
-
 
-
 
435
	
-
 
436
	
-
 
437
	/**
-
 
438
	 * Appelle le modèle pour qu'il change la taille de page utilisée
-
 
439
	 * @param nouvelleTaillePage la nouvelle taille de page
191
				
440
	 */
192
		);
-
 
193
		
-
 
194
		
441
	
195
		  
442
	public void changerTaillePage(int nouvelleTaillePage)
196
	}
443
	{
197
 
444
	
198
	 public void getListeObservation (String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur) {
445
		taillePage = nouvelleTaillePage ;
199
 
446
		pageEncours = calculerPageCourante(nbElements) ;
200
			
447
 
201
			observationModele.getListeObservation(
448
		// 	On lance le chargerment des observations
202
					new iRetourObservation() {
449
		obtenirNombreObservation();
203
						public void onRetour(Observation obs) {
450
		
204
							observation=obs;
451
		
205
							//fireEvent(LISTE_OBSERVATION); 
452
		// et on met à jour la taille de page dans les barres d'outils
206
						}
453
		listeObservation.getToolBarVue().selectionnerTaillePage(nouvelleTaillePage);
207
 
454
		
208
						
455
		
209
					}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre, debut, longueur
456
	}
210
					
457
 
211
			);
458
 
212
 
459
	// Retourne le fournisseur de donnee en referentiel Commune. doit posseder la methode obtenirListeDonnees()
213
	}
460
	
214
 
461
	public FournisseurListe obtenirFournisseurReferentielCommune() {
215
 
462
		
216
			
463
		return observationModele.obtenirFournisseurReferentielCommune() ;
217
	 public Observation getObservation() {
464
 
218
			return observation;
465
		
219
	}
466
	}
220
 
467
 
221
 
468
 
222
	
469
	
223
 
-
 
224
	/// EVENEMENTS 
-
 
225
	
-
 
226
/**
-
 
227
 * Evenements
-
 
228
 * 
-
 
229
 */	
-
 
230
	/*
-
 
231
	public void handleEvent(BaseEvent be) {
-
 
232
		switch (be.type) {
-
 
233
			case CarnetEnLigneMediateur.DECONNEXION:
-
 
234
				afficheEtatConnexion();
-
 
235
				break;
-
 
236
			case CarnetEnLigneMediateur.CONNEXION:
-
 
237
				if (carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
-
 
238
					formulaireDeConnexionVue.hide(); 
-
 
239
					afficheEtatConnexion();
-
 
240
				}
-
 
241
				else {
-
 
242
					formulaireDeConnexionVue.afficherMessageAlerte(); // Erreur identification
-
 
243
				}
-
 
244
				break;
-
 
245
		}
-
 
246
	}
-
 
247
 
-
 
248
*/
470
 
249
 
-
 
250
 
-
 
251
 
-
 
252
 
-
 
253
 
-
 
254
			
471
	
255
 
472
	
256
}
473
}