Subversion Repositories eFlore/Applications.coel

Rev

Rev 1779 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1637 aurelien 1
package org.tela_botanica.client.vues.structure;
2
 
3
import java.util.ArrayList;
4
import java.util.List;
5
 
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.modeles.Information;
9
import org.tela_botanica.client.modeles.Valeur;
10
import org.tela_botanica.client.modeles.ValeurListe;
11
import org.tela_botanica.client.modeles.structure.StructureConservation;
12
import org.tela_botanica.client.synchronisation.Sequenceur;
13
import org.tela_botanica.client.vues.Formulaire;
14
import org.tela_botanica.client.vues.FormulaireOnglet;
15
 
16
import com.extjs.gxt.ui.client.event.BaseEvent;
17
import com.extjs.gxt.ui.client.event.ComponentEvent;
18
import com.extjs.gxt.ui.client.event.Events;
19
import com.extjs.gxt.ui.client.event.Listener;
20
import com.extjs.gxt.ui.client.widget.Component;
21
import com.extjs.gxt.ui.client.widget.ContentPanel;
22
import com.extjs.gxt.ui.client.widget.Html;
23
import com.extjs.gxt.ui.client.widget.LayoutContainer;
24
import com.extjs.gxt.ui.client.widget.form.CheckBox;
25
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
26
import com.extjs.gxt.ui.client.widget.form.LabelField;
27
import com.extjs.gxt.ui.client.widget.form.Radio;
28
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
29
import com.extjs.gxt.ui.client.widget.form.TextArea;
30
import com.extjs.gxt.ui.client.widget.form.TextField;
31
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
32
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
33
import com.google.gwt.core.client.GWT;
34
import com.google.gwt.user.client.Window;
35
 
36
public class StructureFormConservation extends FormulaireOnglet implements Rafraichissable {
37
 
38
	private StructureConservation conservation = null;
39
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
40
	private LayoutContainer localStockageTrukCp = null;
41
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
42
	private LayoutContainer meubleStockageTrukCp = null;
43
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
44
	private LayoutContainer parametreStockageTrukCp = null;
45
	private LayoutContainer collectionAutreTrukCp = null;
46
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
47
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
48
	private LayoutContainer opRestauTrukCp = null;
49
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
50
	private LayoutContainer autreMaterielTrukCp = null;
51
	private RadioGroup formationMarkRGrpChp = null;
52
	private RadioGroup interetFormationMarkRGrpChp = null;
53
	private RadioGroup collectionCommuneMarkRGrpChp = null;
54
	private RadioGroup accesControleMarkRGrpChp = null;
55
	private RadioGroup restaurationMarkRGrpChp = null;
56
	private RadioGroup traitementMarkRGrpChp = null;
57
	private RadioGroup collectionAcquisitionMarkRGrpChp = null;
58
	private RadioGroup echantillonAcquisitionMarkRGrpChp = null;
59
	private LayoutContainer traitementTrukCp = null;
60
	private CheckBoxGroup traitementTrukCacGrpChp = null;
61
	private LayoutContainer poisonTraitementTrukCp = null;
62
	private LayoutContainer insecteTraitementTrukCp = null;
63
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
64
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
65
	private TextField<String> formationChp = null;
66
	private RadioGroup materielConservationCeRGrpChp = null;
67
	private LayoutContainer materielConservationCp = null;
68
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
69
	private LabelField traitementAcquisitionMarkLabel = null;
70
	private TextField<String> localStockageAutreChp = null;
71
	private TextField<String> meubleStockageAutreChp = null;
72
	private TextField<String> parametreStockageAutreChp = null;
73
	private TextField<String> collectionAutreAutreChp = null;
74
	private TextField<String> opRestauAutreChp = null;
75
	private TextField<String> autreMaterielAutreChp = null;
76
	private TextField<String> traitementAutreChp = null;
77
	private TextField<String> poisonTraitementAutreChp = null;
78
	private TextField<String> insecteTraitementAutreChp = null;
79
 
80
	private String ID = "conservation";
81
	private Formulaire formulaireCourant = null;
82
	private Mediateur mediateur = null;
83
	private Sequenceur sequenceur = null;
84
 
85
	public StructureFormConservation(Mediateur mediateur, Formulaire formulaireCourant, Sequenceur sequenceur) {
86
 
87
		initialiserOnglet(formulaireCourant);
88
 
89
		this.mediateur = mediateur;
90
		this.formulaireCourant = formulaireCourant;
91
		this.sequenceur = sequenceur;
92
 
93
		setId(ID);
94
		setText(Mediateur.i18nC.structureInfoConservation());
95
		FormulaireOnglet.parametrer(this);
96
 
97
		this.setLayout(Formulaire.creerFormLayout(650, LabelAlign.TOP));
98
		Listener<ComponentEvent> ecouteurSelection = new Listener<ComponentEvent>() {
99
			public void handleEvent(ComponentEvent be) {
100
				peupler();
101
				layout();
102
			}
103
		};
104
		this.addListener(Events.Select, ecouteurSelection);
105
 
106
		formationMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
1779 aurelien 107
		formationMarkRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservation ?");
1637 aurelien 108
		this.add(formationMarkRGrpChp);
109
 
110
		formationChp = new TextArea();
111
		formationChp.hide();
112
		formationChp.addListener(Events.Hide, new Listener<BaseEvent>() {
113
 
114
			public void handleEvent(BaseEvent be) {
115
				((TextArea) be.getSource()).setValue("");
116
			}
117
 
118
		});
119
		formationChp.setFieldLabel("Si oui, lesquelles ?");
120
		this.add(formationChp);
121
 
122
		interetFormationMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
123
		interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
1779 aurelien 124
		interetFormationMarkRGrpChp.setHeight(35);
1637 aurelien 125
		this.add(interetFormationMarkRGrpChp);
126
 
127
		localStockageTrukCacGrpChp = new CheckBoxGroup();
128
		localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
129
		localStockageTrukCp = Formulaire.creerChoixMultipleCp();
130
		this.add(localStockageTrukCp);
131
		mediateur.obtenirListeValeurEtRafraichir(this, "localStockage", sequenceur);
132
 
133
		meubleStockageTrukCp = Formulaire.creerChoixMultipleCp();
134
		meubleStockageTrukCacGrpChp = new CheckBoxGroup();
135
		meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
136
		this.add(meubleStockageTrukCp);
137
		mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage", sequenceur);
138
 
139
		parametreStockageTrukCp = Formulaire.creerChoixMultipleCp();
140
		parametreStockageTrukCacGrpChp = new CheckBoxGroup();
141
		parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
142
		this.add(parametreStockageTrukCp);
143
		mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage", sequenceur);
144
 
145
		collectionCommuneMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
146
		collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
147
		this.add(collectionCommuneMarkRGrpChp);
148
 
149
		collectionAutreTrukCp = Formulaire.creerChoixMultipleCp();
150
		collectionAutreTrukCacGrpChp = new CheckBoxGroup();
151
		collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
152
		collectionAutreTrukCp.hide();
153
		this.add(collectionAutreTrukCp);
154
		mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection", sequenceur);
155
 
156
		accesControleMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
157
		accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
158
		this.add(accesControleMarkRGrpChp);
159
 
160
		restaurationMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
161
		restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
162
		this.add(restaurationMarkRGrpChp);
163
 
164
		opRestauTrukCp = Formulaire.creerChoixMultipleCp();
165
		opRestauTrukCacGrpChp = new CheckBoxGroup();
166
		opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
167
		opRestauTrukCp.hide();
168
		this.add(opRestauTrukCp);
169
		mediateur.obtenirListeValeurEtRafraichir(this, "opRestau", sequenceur);
170
 
171
		// Création d'un ContentPanel vide et du groupe de bouton radio
172
		// Le groupe de bouton radio recevra les boutons au moment de la réception des données (rafraichir()) et ser à ce moment là ajouter au ContenetPanel
173
		materielConservationCp = Formulaire.creerChoixMultipleCp();
174
		this.add(materielConservationCp);
175
		materielConservationCeRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
176
		materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
177
		materielConservationCeRGrpChp.setToolTip(new ToolTipConfig("Matériel de conservation", "matériel spécialisé pour la conservation des archives ou du patrimoine fragile. Ce matériel possède des propriétés mécaniques et chimiques qui font qu'il résiste dans le temps et que sa dégradation n'entraîne pas de dommages sur le matériel qu'il aide à conserver. Exemples : papier neutre, papier gommé, etc..."));
178
		mediateur.obtenirListeValeurEtRafraichir(this, "onep", sequenceur);
179
 
180
		autreMaterielTrukCp = Formulaire.creerChoixMultipleCp();
181
		autreMaterielTrukCacGrpChp = new CheckBoxGroup();
182
		autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
183
		autreMaterielTrukCp.hide();
184
		this.add(autreMaterielTrukCp);
185
		mediateur.obtenirListeValeurEtRafraichir(this, "autreMateriel", sequenceur);
186
 
187
		traitementMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
188
		traitementMarkRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
189
		this.add(traitementMarkRGrpChp);
190
 
191
		traitementTrukCp = Formulaire.creerChoixMultipleCp();
192
		traitementTrukCp.hide();
193
		traitementTrukCacGrpChp = new CheckBoxGroup();
194
		traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
195
		this.add(traitementTrukCp);
196
		mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement", sequenceur);
197
 
198
		collectionAcquisitionMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
199
		collectionAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
200
		this.add(collectionAcquisitionMarkRGrpChp);
201
 
202
		echantillonAcquisitionMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
203
		echantillonAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
204
		this.add(echantillonAcquisitionMarkRGrpChp);
205
 
206
		traitementAcquisitionMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
207
		traitementAcquisitionMarkRGrpChp.hide();
208
		traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
209
		this.add(traitementAcquisitionMarkRGrpChp);
210
 
211
		traitementAcquisitionMarkLabel = new LabelField();
212
		traitementAcquisitionMarkLabel.hide();
213
		traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
214
		this.add(traitementAcquisitionMarkLabel);
215
 
216
		poisonTraitementTrukCp = Formulaire.creerChoixMultipleCp();
217
		poisonTraitementTrukCp.hide();
218
		poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
219
		poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
220
		poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
221
		poisonTraitementTrukCacGrpChp.setLabelSeparator("");
222
		this.add(poisonTraitementTrukCp);
223
		mediateur.obtenirListeValeurEtRafraichir(this, "poisonTraitement", sequenceur);
224
 
225
		insecteTraitementTrukCp = Formulaire.creerChoixMultipleCp();
226
		insecteTraitementTrukCp.hide();
227
		insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
228
		insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
229
		insecteTraitementTrukCacGrpChp.setLabelSeparator("");
230
		insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
231
		this.add(insecteTraitementTrukCp);
232
		mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement", sequenceur);
233
 
234
		this.add(new Html("<br />"));
235
	}
236
 
237
	@Override
238
	public void rafraichir(Object nouvellesDonnees) {
239
		if (nouvellesDonnees instanceof ValeurListe) {
240
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
241
			rafraichirValeurListe(listeValeurs);
242
		} else if (nouvellesDonnees instanceof Information) {
243
			Information info = (Information) nouvellesDonnees;
244
			rafraichirInformation(info);
245
		}
246
	}
247
 
248
	public void rafraichirInformation(Information info) {
249
		if (info.getDonnee(1) != null) {
250
			conservation = (StructureConservation) info.getDonnee(1);
251
			peupler();
252
		}
253
	}
254
 
255
	public void rafraichirValeurListe(ValeurListe listeValeurs) {
256
		List<Valeur> liste = listeValeurs.toList();
257
		if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
258
			localStockageAutreChp = new TextField<String>();
259
			Formulaire.creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, localStockageAutreChp);
260
		}
261
		if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
262
			meubleStockageAutreChp = new TextField<String>();
263
			Formulaire.creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, meubleStockageAutreChp);
264
		}
265
		if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
266
			parametreStockageAutreChp = new TextField<String>();
267
			Formulaire.creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, parametreStockageAutreChp);
268
		}
269
		if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
270
			if (collectionAutreTrukCp != null && collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
271
				collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
272
				collectionAutreAutreChp = new TextField<String>();
273
				Formulaire.creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, collectionAutreAutreChp);
274
			}
275
		}
276
		if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
277
			opRestauAutreChp = new TextField<String>();
278
			Formulaire.creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, opRestauAutreChp);
279
		}
280
		if (listeValeurs.getId().equals(config.getListeId("onep"))) {
1779 aurelien 281
			formulaireCourant.creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, Formulaire.trierListeOuiNonEnPartie(listeValeurs));
1637 aurelien 282
			materielConservationCp.add(materielConservationCeRGrpChp);
283
			materielConservationCp.layout();
284
		}
285
		if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
286
			autreMaterielAutreChp = new TextField<String>();
287
			Formulaire.creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, autreMaterielAutreChp);
288
		}
289
		if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
290
			poisonTraitementAutreChp = new TextField<String>();
291
			Formulaire.creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, poisonTraitementAutreChp);
292
		}
293
		if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
294
			if (traitementTrukCp != null && traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
295
				traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
296
				traitementAutreChp = new TextField<String>();
297
				Formulaire.creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, traitementAutreChp);
298
			}
299
			if (insecteTraitementTrukCp != null && insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
300
				insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
301
				insecteTraitementAutreChp = new TextField<String>();
302
				Formulaire.creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, insecteTraitementAutreChp);
303
			}
304
		}
305
	}
306
 
307
	private void initialiserConservation() {
308
		conservation = ((StructureForm)formulaireCourant).conservation;
309
	}
310
 
311
	public StructureConservation collecter() {
312
 
313
		if(conservation == null) {
314
			initialiserConservation();
315
		}
316
 
317
		StructureConservation conservationARetourner = null;
318
		if (this.getData("acces").equals(true)) {
319
			// Création de l'objet
320
			StructureConservation conservationCollectee = (StructureConservation) conservation.cloner(new StructureConservation());
321
 
322
			// FORMATION
1693 raphael 323
			conservationCollectee.setFormation(formationMarkRGrpChp.getValue() == null ?
324
							   null :
325
							   formationMarkRGrpChp.getValue().getValueAttribute());
326
 
1637 aurelien 327
			// FORMATION INFO
328
			conservationCollectee.setFormationInfo(formationChp.getValue());
329
			// FORMATION INTERET
1693 raphael 330
			conservationCollectee.setFormationInteret(interetFormationMarkRGrpChp.getValue() == null ?
331
								  null :
332
								  interetFormationMarkRGrpChp.getValue().getValueAttribute());
1637 aurelien 333
 
334
			// STOCKAGE LOCAL
335
			conservationCollectee.setStockageLocal(creerChaineDenormalisee(localStockageTrukCacGrpChp.getValues()));
336
			conservationCollectee.setStockageLocal("AUTRE", localStockageAutreChp.getValue());
337
 
338
			// STOCKAGE MEUBLE
339
			conservationCollectee.setStockageMeuble(creerChaineDenormalisee(meubleStockageTrukCacGrpChp.getValues()));
340
			conservationCollectee.setStockageMeuble("AUTRE", meubleStockageAutreChp.getValue());
341
 
342
			// STOCKAGE PAREMETRE
343
			conservationCollectee.setStockageParametre(creerChaineDenormalisee(parametreStockageTrukCacGrpChp.getValues()));
344
			conservationCollectee.setStockageParametre("AUTRE", parametreStockageAutreChp.getValue());
345
 
346
			// COLLECTION COMMUNE
347
			if (collectionCommuneMarkRGrpChp.getValue() != null) {
348
				conservationCollectee.setCollectionCommune(collectionCommuneMarkRGrpChp.getValue().getValueAttribute());
349
			}
350
			// COLLECTION AUTRE
351
			conservationCollectee.setCollectionAutre(creerChaineDenormalisee(collectionAutreTrukCacGrpChp.getValues()));
352
			conservationCollectee.setCollectionAutre("AUTRE", collectionAutreAutreChp.getValue());
353
 
354
			// ACCÈS CONTROLÉ
355
			if (accesControleMarkRGrpChp.getValue() != null) {
356
				conservationCollectee.setAccesControle(accesControleMarkRGrpChp.getValue().getValueAttribute());
357
			}
358
 
359
			// RESTAURATION
360
			if (restaurationMarkRGrpChp.getValue() != null) {
361
				conservationCollectee.setRestauration(restaurationMarkRGrpChp.getValue().getValueAttribute());
362
			}
363
			// RESTAURATION OPÉRATION
364
			conservationCollectee.setRestaurationOperation(creerChaineDenormalisee(opRestauTrukCacGrpChp.getValues()));
365
			conservationCollectee.setRestaurationOperation("AUTRE", opRestauAutreChp.getValue());
366
 
367
			// MATERIEL CONSERVATION
368
			if (materielConservationCeRGrpChp.getValue() != null) {
369
				conservationCollectee.setMaterielConservation(materielConservationCeRGrpChp.getValue().getValueAttribute());
370
 
371
				// MATERIEL AUTRE
372
				conservationCollectee.setMaterielAutre(creerChaineDenormalisee(autreMaterielTrukCacGrpChp.getValues()));
373
				conservationCollectee.setMaterielAutre("AUTRE", autreMaterielAutreChp.getValue());
374
			}
375
 
376
			// TRAITEMENT
377
			if (traitementMarkRGrpChp.getValue() != null) {
378
				conservationCollectee.setTraitement(traitementMarkRGrpChp.getValue().getValueAttribute());
379
			}
380
			// TRAIEMENTS
381
			conservationCollectee.setTraitements(creerChaineDenormalisee(traitementTrukCacGrpChp.getValues()));
382
			conservationCollectee.setTraitements("AUTRE", traitementAutreChp.getValue());
383
 
384
 
385
			// ACQUISITION COLLECTION
386
			if (collectionAcquisitionMarkRGrpChp.getValue() != null) {
387
				conservationCollectee.setAcquisitionCollection(collectionAcquisitionMarkRGrpChp.getValue().getValueAttribute());
388
			}
389
 
390
			// ACQUISITION ECHANTILLON
391
			if (echantillonAcquisitionMarkRGrpChp.getValue() != null) {
392
				conservationCollectee.setAcquisitionEchantillon(echantillonAcquisitionMarkRGrpChp.getValue().getValueAttribute());
393
			}
394
			// ACQUISITION TRAITEMENT
395
			if (traitementAcquisitionMarkRGrpChp.getValue() != null) {
396
				conservationCollectee.setAcquisitionTraitement(traitementAcquisitionMarkRGrpChp.getValue().getValueAttribute());
397
			}
398
			// ACQUISITION TRAITEMENT POISON
399
			conservationCollectee.setAcquisitionTraitementPoison(creerChaineDenormalisee(poisonTraitementTrukCacGrpChp.getValues()));
400
			conservationCollectee.setAcquisitionTraitementPoison("AUTRE", poisonTraitementAutreChp.getValue());
401
			// ACQUISITION TRAITEMENT INSECTE
402
			conservationCollectee.setAcquisitionTraitementInsecte(creerChaineDenormalisee(insecteTraitementTrukCacGrpChp.getValues()));
403
			conservationCollectee.setAcquisitionTraitementInsecte("AUTRE", insecteTraitementAutreChp.getValue());
404
 
405
			// Retour de l'objet
406
			if (!conservationCollectee.comparer(conservation)) {
407
				GWT.log("Collecte différent de Retour", null);
408
				conservationARetourner = conservation = conservationCollectee;
409
			}
410
		}
411
		return conservationARetourner;
412
	}
413
 
414
	private String creerChaineDenormalisee(List<CheckBox> liste) {
415
		return ((StructureForm)formulaireCourant).creerChaineDenormalisee(liste);
416
	}
417
 
418
	private void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
419
		((StructureForm)formulaireCourant).peuplerCasesACocher(donnees, groupeCac, champAutre);
420
	}
421
 
422
	private void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
423
		((StructureForm)formulaireCourant).peuplerBoutonsRadio(valeur, groupeBr);
424
	}
425
 
426
	public void afficherChampSupplementaires(Radio radioBtn) {
427
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
428
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
429
		String valeurPourAfficher = "oui";
430
 
431
		// Construction de la liste des composants à afficher/cacher
432
		String radioGroupeNom = radioBtn.getGroup().getName();
433
		ArrayList<Object> composants = new ArrayList<Object>();
434
		if (radioGroupeNom.equals("formation_mark_grp")) {
435
			composants.add(formationChp);
436
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
437
			composants.add(collectionAutreTrukCp);
438
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
439
			composants.add(opRestauTrukCp);
440
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
441
			composants.add(traitementTrukCp);
442
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
443
			composants.add(traitementAcquisitionMarkRGrpChp);
444
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
445
			composants.add(traitementAcquisitionMarkLabel);
446
			composants.add(poisonTraitementTrukCp);
447
			composants.add(insecteTraitementTrukCp);
448
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
449
			composants.add(autreMaterielTrukCp);
450
			valeurPourAfficher = "non";
451
		}
452
 
453
		// Nous affichons/cachons les composant de la liste
454
		final int nbreComposants = composants.size();
455
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
456
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
457
		for (int i = 0; i < nbreComposants; i++) {
458
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
459
			String type = radioBtn.getBoxLabel().toLowerCase();
460
			//GWT.log(type, null);
461
			if (radioBtn.getValue() == true) {
462
				if (type.equals(valeurPourAfficher)) {
463
					((Component) composants.get(i)).show();
464
				} else {
465
					((Component) composants.get(i)).hide();
466
				}
467
			}
468
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
469
			if (composants.get(i) instanceof ContentPanel) {
470
				((ContentPanel) composants.get(i)).layout();
471
			}
472
		}
473
	}
474
 
475
	public void peupler() {
476
		if(conservation == null) {
477
			initialiserConservation();
478
		}
479
		if (formulaireCourant.mode.equals(Formulaire.MODE_AJOUTER)) {
480
			// Indique que l'onglet a pu être modifié pour la méthode collecter...
481
			this.setData("acces", true);
482
			// Initialisation de l'objet Structure
483
			conservation = new StructureConservation();
484
		}
485
		if (formulaireCourant.mode.equals(Formulaire.MODE_MODIFIER) && conservation != null) {
486
			// FORMATION
1694 raphael 487
			// Bouton oui, à toujours l'index 0, mais dans le modèle, value == 0
488
			// donc ^ 1, car 0 ^ 1 = 1 et 1 ^ 1 = 0
1693 raphael 489
			if(conservation.getFormation() != null) {
1694 raphael 490
				((Radio) formationMarkRGrpChp.get(conservation.getFormation() ^ 1)).setValue(true);
1693 raphael 491
			}
492
 
1637 aurelien 493
			// FORMATION INFO
494
			formationChp.setValue(conservation.getFormationInfo());
495
			// FORMATION INTERET
1693 raphael 496
			if(conservation.getFormationInteret() != null) {
1694 raphael 497
				((Radio) interetFormationMarkRGrpChp.get(conservation.getFormationInteret() ^ 1)).setValue(true);
1693 raphael 498
			}
1637 aurelien 499
 
500
			// STOCKAGE LOCAL
501
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
502
 
503
			// STOCKAGE MEUBLE
504
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
505
 
506
			// STOCKAGE PAREMETRE
507
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
508
 
509
			// COLLECTION COMMUNE
1695 raphael 510
			if(conservation.getCollectionCommune() != null) {
511
				((Radio) collectionCommuneMarkRGrpChp.get(conservation.getCollectionCommune() ^ 1)).setValue(true);
512
			}
1637 aurelien 513
			// COLLECTION AUTRE
514
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
515
 
516
			// ACCÈS CONTROLÉ
1695 raphael 517
			if(conservation.getAccesControle() != null) {
518
				((Radio) accesControleMarkRGrpChp.get(conservation.getAccesControle() ^ 1)).setValue(true);
519
			}
1637 aurelien 520
 
521
			// RESTAURATION
1695 raphael 522
			if(conservation.getRestauration() != null) {
523
				((Radio) restaurationMarkRGrpChp.get(conservation.getRestauration() ^ 1)).setValue(true);
524
			}
1637 aurelien 525
			// RESTAURATION OPÉRATION
526
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
527
 
528
			// MATERIEL CONSERVATION
529
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
530
 
531
			// MATERIEL AUTRE
532
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
533
 
534
			// TRAITEMENT
1695 raphael 535
			if(conservation.getTraitement() != null) {
536
				((Radio) traitementMarkRGrpChp.get(conservation.getTraitement() ^ 1)).setValue(true);
537
			}
1637 aurelien 538
			// TRAITEMENTS
539
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
540
 
541
			// ACQUISITION COLLECTION
1695 raphael 542
			if(conservation.getAcquisitionCollection() != null) {
543
				((Radio) collectionAcquisitionMarkRGrpChp.get(conservation.getAcquisitionCollection() ^ 1)).setValue(true);
544
			}
1637 aurelien 545
 
546
			// ACQUISITION ECHANTILLON
1695 raphael 547
			if(conservation.getAcquisitionEchantillon() != null) {
548
				((Radio) echantillonAcquisitionMarkRGrpChp.get(conservation.getAcquisitionEchantillon() ^ 1)).setValue(true);
549
			}
1637 aurelien 550
 
551
			// ACQUISITION TRAITEMENT
552
			((Radio) traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1))).setValue(true);
553
			// ACQUISITION TRAITEMENT POISON
554
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
555
			// ACQUISITION TRAITEMENT INSECTE
556
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
557
 
558
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
559
			this.setData("acces", true);
560
		}
561
	}
562
}