Subversion Repositories eFlore/Applications.cel

Rev

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

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