Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 47 Rev 48
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
-
 
4
import java.util.Iterator;
3
 
5
import org.tela_botanica.client.CarnetEnLigneMediateur;
-
 
6
import org.tela_botanica.client.interfaces.FournisseurListe;
4
import org.tela_botanica.client.CarnetEnLigneMediateur;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.modeles.ListeObservation;
6
import org.tela_botanica.client.modeles.ListeObservation;
9
import org.tela_botanica.client.modeles.Observation;
7
import org.tela_botanica.client.modeles.Observation;
10
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
8
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
11
import org.tela_botanica.client.vues.ListeObservationVue;
9
import org.tela_botanica.client.vues.ListeObservationVue;
12
 
-
 
13
import com.google.gwt.user.client.Window;
-
 
14
import com.gwtext.client.core.EventObject;
10
import com.gwtext.client.core.EventObject;
15
import com.gwtext.client.data.ArrayReader;
-
 
16
import com.gwtext.client.data.FieldDef;
-
 
17
import com.gwtext.client.data.MemoryProxy;
-
 
18
import com.gwtext.client.data.RecordDef;
-
 
19
import com.gwtext.client.data.Store;
-
 
20
import com.gwtext.client.data.StringFieldDef;
-
 
21
import com.gwtext.client.widgets.Panel;
11
import com.gwtext.client.widgets.Panel;
22
import com.gwtext.client.widgets.TabPanel;
-
 
-
 
12
 
23
 
13
 
24
/**
14
/**
25
 * Mediateur gérant les interactions entre vues et les echanges de données
15
 * Mediateur gérant les interactions entre vues et les echanges de données
26
 * C'est un singleton. 
16
 * C'est un singleton. 
27
 * @author aurelien
17
 * @author aurelien
28
 *
18
 *
29
 */
19
 */
30
public class ObservationMediateur {
20
public class ObservationMediateur {
31
	
21
	
32
	/**
22
	/**
33
	 * booleen qui verifie l'unicite de l'instance (donc static)
23
	 * booleen qui verifie l'unicite de l'instance (donc static)
34
	 */
24
	 */
35
	private static boolean estInstancie = false ;
25
	private static boolean estInstancie = false ;
36
 
26
 
37
	/**
27
	/**
38
	 * pointeur sur le médiateur (pour le pattern singleton)
28
	 * pointeur sur le médiateur (pour le pattern singleton)
39
	 */
29
	 */
40
	private static ObservationMediateur thisMediateur = null ;  
30
	private static ObservationMediateur thisMediateur = null ;  
41
	
31
	
42
	/** Mediateur general de l'application carnet en ligne
32
	/** Mediateur general de l'application carnet en ligne
43
	 * 
33
	 * 
44
	 * 
34
	 * 
45
	 */
35
	 */
46
	
36
	
47
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
37
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
48
	
38
	
49
	
39
	
50
	/**
40
	/**
51
	 * modele de données
41
	 * modele de données
52
	 */
42
	 */
53
	private ObservationModele observationModele = null ;
43
	private ObservationModele observationModele = null ;
54
	
44
	
55
	
45
	
56
	/**
46
	/**
57
	 * panneau principal des Observation (onglet "observation")
47
	 * panneau principal des Observation (onglet "observation")
58
	 */
48
	 */
59
	private final Panel panneauPrincipalObservation = new Panel("Observation");
49
	private final Panel panneauPrincipalObservation = new Panel("Observation");
60
	
-
 
61
	/**
-
 
62
	 * panneau a onglet pour la liste
-
 
63
	 */ 
-
 
64
	private TabPanel ongletsObservation = null ;
-
 
65
	
-
 
66
	/**
-
 
67
	 * conteneur du panneau a onglets
-
 
68
	 */
-
 
69
	private Panel panneauMenuEtOngletsObservation = null ;
50
	
70
	
51
	
71
	/**
52
	/**
72
	 * liste détaillée des Observations
53
	 * liste détaillée des Observations
73
	 */
54
	 */
74
	private ListeObservationVue listeObservation = null ;
55
	private ListeObservationVue listeObservation = null ;
75
	
56
	
76
	/**
57
	/**
77
	 * Saisie des Observations
58
	 * Saisie des Observations
78
	 */
59
	 */
79
	
60
	
80
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
61
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
81
	/**
-
 
82
	 * l'indice du dernier onglet sélectionné
-
 
83
	 */
-
 
84
	private int dernierIndexOnglet = 0 ; 
-
 
-
 
62
	
-
 
63
	
85
	
64
 
86
	/**
65
	/**
87
	 * booleen explicitant s'il y a une selection en cours
66
	 * booleen explicitant s'il y a une selection en cours
88
	 */
67
	 */
89
	private boolean selection = false ;
68
	private boolean selection = false ;
90
 
69
 
91
	
70
	
92
	
71
	
93
	/**
72
	/**
94
	 * Le store contenant les données à afficher, que le modèle transmet au médiateur quand il le demande
-
 
95
	 */
-
 
96
	private Store st = null ;
-
 
97
	
-
 
98
	
-
 
99
	
-
 
100
	
-
 
101
	/**
-
 
102
	 * La liste des observations affichées en cours (verifier utilité)
73
	 * La liste des observations affichées en cours (verifier utilité)
103
	 */
74
	 */
104
	
75
	
105
	private ListeObservation cacheObservation = new ListeObservation(0) ;
76
	private ListeObservation cacheObservation = new ListeObservation(0) ;
106
	/**
77
	/**
107
	
78
	
108
	
79
	
109
	
80
	
110
	/**
81
	/**
111
	 * constructeur privé (on accède a la classe par la méthode getInstance
82
	 * constructeur privé (on accède a la classe par la méthode getInstance
112
	 */
83
	 */
113
	
84
	
114
	
85
	
115
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
86
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
116
	{
87
	{
117
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
88
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
118
		
89
		
119
		// on crée un modèle
90
		// on crée un modèle
120
		observationModele = ObservationModele.Instance(this);
91
		observationModele = ObservationModele.Instance(this);
121
		
92
		
122
		
-
 
123
		// on gère la mise en page du panneau principal
-
 
124
		//panneauPrincipalObservation.setLayout(new BorderLayout());
93
		
125
		
-
 
126
		// on crée le panneau qui contient les differentes onglets ainsi que le menu supérieur
-
 
127
	//	panneauMenuEtOngletsObservation = new Panel("gg") ;
-
 
128
	//	panneauMenuEtOngletsObservation.setLayout(new BorderLayout()) ;
-
 
129
		
-
 
130
		// le panneau à onglet qui contient la vue
-
 
131
		//ongletsObservation = new TabPanel();
-
 
132
		
-
 
133
		
-
 
134
		// la liste des observations
-
 
135
		
-
 
136
		//Panel panneauListeObservation = new Panel("Liste");
-
 
137
		
94
	
138
		listeObservation = new ListeObservationVue(this);
95
		listeObservation = new ListeObservationVue(this);
139
		
96
		
140
		
97
		
141
		// Le formulaire de saisie / modification d'observation
98
		// Le formulaire de saisie / modification d'observation
142
		
99
		
143
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
100
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
144
 
101
 
145
		
-
 
146
		//panneauListeObservation.setLayout(new FitLayout());
-
 
147
		//panneauListeObservation.setSize(600,600);
-
 
148
		//panneauListeObservation.add(listeObservation);
-
 
149
		
-
 
150
		
-
 
151
		// on ajoute les panneaux au panneau à onglets
-
 
152
		//ongletsObservation.add(panneauListeObservation);
-
 
153
		
-
 
154
		
-
 
155
		// les onglets au centre
-
 
156
//		panneauMenuEtOngletsObservation.add(ongletsObservation,regionCentre);
-
 
157
		
-
 
158
		// on ajoute le panneau qui contient le menu et les onglets d'images au centre
-
 
159
		//panneauPrincipalObservation.add(panneauMenuEtOngletsObservation,regionCentre);
-
 
160
		
102
		
161
		panneauPrincipalObservation.add(formulaireSaisieObservationVue);
103
		panneauPrincipalObservation.add(formulaireSaisieObservationVue);
162
	
104
	
163
		panneauPrincipalObservation.add(listeObservation);
105
		panneauPrincipalObservation.add(listeObservation);
164
		
106
		
165
	
107
	
166
	
108
	
167
 
109
 
168
	}
110
	}
169
 
111
 
170
 
112
 
171
	/**
113
	/**
172
	 * Retourne une instance de manière unique
114
	 * Retourne une instance de manière unique
173
	 * @return l'instance unique du médiateur
115
	 * @return l'instance unique du médiateur
174
	 */
116
	 */
175
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
117
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
176
	{
118
	{
177
			if(!estInstancie || thisMediateur == null)
119
			if(!estInstancie || thisMediateur == null)
178
			{
120
			{
179
				estInstancie = true ;
121
				estInstancie = true ;
180
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
122
				thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
181
			}
123
			}
182
			
124
			
183
			return thisMediateur ;	
125
			return thisMediateur ;	
184
	}
126
	}
185
	
127
	
186
	
128
	
187
	
129
	
188
	/**
130
	/**
189
	 * envoie au modèle une demande de mise a jour
131
	 * envoie au modèle une demande de mise a jour
190
	 */
132
	 */
191
 
133
 
192
 
134
 
193
	public void obtenirNombreObservation() {
135
	public void obtenirNombreObservation() {
194
		
136
		
195
	
137
	
196
			listeObservation.masquerChargement();
138
			listeObservation.masquerChargement();
197
		    observationModele.obtenirNombreObservation(listeObservation) ;
139
		    observationModele.obtenirNombreObservation(listeObservation) ;
198
		
140
		
199
	}
141
	}
200
	
142
	
201
	/**
143
	/**
202
	 * envoie au modèle une demande de mise a jour
144
	 * envoie au modèle une demande de mise a jour
203
	 */
145
	 */
204
 
146
 
205
 
147
 
206
	public void obtenirListeObservation() {
148
	public void obtenirListeObservation() {
207
		
149
		
208
 
150
 
209
			observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
151
			observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
210
			
152
			
211
			
153
			
212
	}	
154
	}	
213
	
155
	
214
	/**
156
	/**
215
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
157
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
216
	 * sous forme de tableau [nom, valeur]
158
	 * sous forme de tableau [nom, valeur]
217
	 * @return Les noms et valeurs des filtres
159
	 * @return Les noms et valeurs des filtres
218
	 */
160
	 */
219
	public String[][] renvoyerFiltres()
161
	public String[][] renvoyerFiltres()
220
	{
162
	{
221
		String[][] valeursFiltres = { {"",""} } ;
163
		String[][] valeursFiltres = { {"",""} } ;
222
		
164
		
223
		
165
		
224
		return valeursFiltres ;
166
		return valeursFiltres ;
225
	}
167
	}
226
 
168
 
227
 
169
 
228
	public String getIdentifiant() {
170
	public String getIdentifiant() {
229
		
171
		
230
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
172
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
231
	
173
	
232
	}
174
	}
233
 
175
 
234
 
176
 
235
	public Panel getPanneauPrincipalObservation() {
177
	public Panel getPanneauPrincipalObservation() {
236
		return panneauPrincipalObservation;
178
		return panneauPrincipalObservation;
237
	}
179
	}
238
	
-
 
239
	
180
	
240
	
-
 
241
	
-
 
242
	
-
 
243
	/**
-
 
244
	 * Met à jour les barre d'outils avec des nouvelles valeurs
-
 
245
	 * @param pageMax le nombre de pages
-
 
246
	 * @param pageEncours la page en cours
-
 
247
	 * @param taillePage la taille de page
-
 
248
	 * @param nbElement le nombre d'élements par page
-
 
249
	 */
-
 
250
	public void changerPageMaxEtCourante(int pageMax, int pageEncours, int taillePage, int nbElement) 
-
 
251
	{
-
 
252
				
-
 
253
		int[] pages = {pageMax,pageEncours, taillePage, nbElement} ;
-
 
254
		listeObservation.getToolBarVue().rafraichir(pages, false) ;
-
 
255
		
-
 
256
	}
-
 
257
	
-
 
258
	
181
 
259
 
182
 
260
 
183
 
261
	/**
184
	/**
262
	 *  
185
	 *  
263
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
186
	 * Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne 
264
	 * @param r : la vue demandeuse de donnee
187
	 * @param r : la vue demandeuse de donnee
265
	 * @param critere : les criteres de selection
188
	 * @param critere : les criteres de selection
266
	 */
189
	 */
267
	
190
	
268
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
191
	public void obtenirListeReferentielCommune(Rafraichissable r, String critere) {
269
		
192
		
270
		observationModele.obtenirListeReferentielCommune(r,critere) ;
193
		observationModele.obtenirListeReferentielCommune(r,critere) ;
271
 
194
 
272
		
195
		
273
	}
196
	}
274
	
197
	
275
	/**
198
	/**
276
	 *  
199
	 *  
277
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
200
	 * Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne 
278
	 * @param r : la vue demandeuse de donnee
201
	 * @param r : la vue demandeuse de donnee
279
	 * @param critere : les criteres de selection
202
	 * @param critere : les criteres de selection
280
	 */
203
	 */
281
	
204
	
282
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
205
	public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
283
		
206
		
284
		observationModele.obtenirListeReferentielNom(r,critere) ;
207
		observationModele.obtenirListeReferentielNom(r,critere) ;
285
 
208
 
286
		
209
		
287
	}
210
	}
288
 
211
 
289
	
212
	
290
	/**
213
	/**
291
	 *  
214
	 *  
292
	 * Lance la creation d'une observation  
215
	 * Lance la creation d'une observation  
293
	 * @param r : la vue demandeuse de donnee
216
	 * @param r : la vue demandeuse de donnee
294
	 * @param critere : les criteres de selection
217
	 * @param critere : les criteres de selection
295
	 */
218
	 */
296
	
219
	
297
	public void ajouterObservation(Observation obs) {
220
	public void ajouterObservation(Observation obs) {
298
		
221
		
299
	//	observationModele.ajouterObservation(this, obs) ;
222
	//	observationModele.ajouterObservation(this, obs) ;
300
		
223
		
301
	}
224
	}
302
	
225
	
303
	public void clicListeObservation(int rowIndex) {
226
	public void clicListeObservation(int rowIndex) {
304
		
227
		
305
	}
228
	}
306
 
229
 
307
 
230
 
308
	public void montrerContextMenu(EventObject e) {
231
	public void montrerContextMenu(EventObject e) {
309
		
232
		
310
		
233
		
311
		
234
		
312
	}
235
	}
313
 
236
 
314
	public void doubleClicListeObservation(int rowIndex) {
237
	public void doubleClicListeObservation(int rowIndex) {
315
		
238
		
316
		
239
		
317
	}
240
	}
318
 
241
 
319
	
242
	
320
	
243
	
321
 
244
 
322
	
245
	
323
	
246
	
324
}
247
}