Subversion Repositories eFlore/Applications.coel

Rev

Rev 1693 | Go to most recent revision | Details | 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.modeles.structure.StructureValorisation;
13
import org.tela_botanica.client.synchronisation.Sequenceur;
14
import org.tela_botanica.client.vues.Formulaire;
15
import org.tela_botanica.client.vues.FormulaireOnglet;
16
 
17
import com.extjs.gxt.ui.client.event.BaseEvent;
18
import com.extjs.gxt.ui.client.event.ComponentEvent;
19
import com.extjs.gxt.ui.client.event.Events;
20
import com.extjs.gxt.ui.client.event.Listener;
21
import com.extjs.gxt.ui.client.widget.Component;
22
import com.extjs.gxt.ui.client.widget.ContentPanel;
23
import com.extjs.gxt.ui.client.widget.Html;
24
import com.extjs.gxt.ui.client.widget.LayoutContainer;
25
import com.extjs.gxt.ui.client.widget.form.CheckBox;
26
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
27
import com.extjs.gxt.ui.client.widget.form.LabelField;
28
import com.extjs.gxt.ui.client.widget.form.Radio;
29
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
30
import com.extjs.gxt.ui.client.widget.form.TextArea;
31
import com.extjs.gxt.ui.client.widget.form.TextField;
32
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
33
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
34
import com.google.gwt.core.client.GWT;
35
import com.google.gwt.user.client.Window;
36
 
37
public class StructureFormConservation extends FormulaireOnglet implements Rafraichissable {
38
 
39
	private StructureConservation conservation = null;
40
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
41
	private LayoutContainer localStockageTrukCp = null;
42
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
43
	private LayoutContainer meubleStockageTrukCp = null;
44
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
45
	private LayoutContainer parametreStockageTrukCp = null;
46
	private LayoutContainer collectionAutreTrukCp = null;
47
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
48
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
49
	private LayoutContainer opRestauTrukCp = null;
50
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
51
	private LayoutContainer autreMaterielTrukCp = null;
52
	private RadioGroup formationMarkRGrpChp = null;
53
	private RadioGroup interetFormationMarkRGrpChp = null;
54
	private RadioGroup collectionCommuneMarkRGrpChp = null;
55
	private RadioGroup accesControleMarkRGrpChp = null;
56
	private RadioGroup restaurationMarkRGrpChp = null;
57
	private RadioGroup traitementMarkRGrpChp = null;
58
	private RadioGroup collectionAcquisitionMarkRGrpChp = null;
59
	private RadioGroup echantillonAcquisitionMarkRGrpChp = null;
60
	private LayoutContainer traitementTrukCp = null;
61
	private CheckBoxGroup traitementTrukCacGrpChp = null;
62
	private LayoutContainer poisonTraitementTrukCp = null;
63
	private LayoutContainer insecteTraitementTrukCp = null;
64
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
65
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
66
	private TextField<String> formationChp = null;
67
	private RadioGroup materielConservationCeRGrpChp = null;
68
	private LayoutContainer materielConservationCp = null;
69
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
70
	private LabelField traitementAcquisitionMarkLabel = null;
71
	private TextField<String> localStockageAutreChp = null;
72
	private TextField<String> meubleStockageAutreChp = null;
73
	private TextField<String> parametreStockageAutreChp = null;
74
	private TextField<String> collectionAutreAutreChp = null;
75
	private TextField<String> opRestauAutreChp = null;
76
	private TextField<String> autreMaterielAutreChp = null;
77
	private TextField<String> traitementAutreChp = null;
78
	private TextField<String> poisonTraitementAutreChp = null;
79
	private TextField<String> insecteTraitementAutreChp = null;
80
 
81
	private String ID = "conservation";
82
	private Formulaire formulaireCourant = null;
83
	private Mediateur mediateur = null;
84
	private Sequenceur sequenceur = null;
85
 
86
	public StructureFormConservation(Mediateur mediateur, Formulaire formulaireCourant, Sequenceur sequenceur) {
87
 
88
		initialiserOnglet(formulaireCourant);
89
 
90
		this.mediateur = mediateur;
91
		this.formulaireCourant = formulaireCourant;
92
		this.sequenceur = sequenceur;
93
 
94
		setId(ID);
95
		setText(Mediateur.i18nC.structureInfoConservation());
96
		FormulaireOnglet.parametrer(this);
97
 
98
		this.setLayout(Formulaire.creerFormLayout(650, LabelAlign.TOP));
99
		Listener<ComponentEvent> ecouteurSelection = new Listener<ComponentEvent>() {
100
			public void handleEvent(ComponentEvent be) {
101
				peupler();
102
				layout();
103
			}
104
		};
105
		this.addListener(Events.Select, ecouteurSelection);
106
 
107
		formationMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
108
		formationMarkRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
109
		this.add(formationMarkRGrpChp);
110
 
111
		formationChp = new TextArea();
112
		formationChp.hide();
113
		formationChp.addListener(Events.Hide, new Listener<BaseEvent>() {
114
 
115
			public void handleEvent(BaseEvent be) {
116
				((TextArea) be.getSource()).setValue("");
117
			}
118
 
119
		});
120
		formationChp.setFieldLabel("Si oui, lesquelles ?");
121
		this.add(formationChp);
122
 
123
		interetFormationMarkRGrpChp = formulaireCourant.creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
124
		interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
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"))) {
281
			formulaireCourant.creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
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
323
			if (formationMarkRGrpChp.getValue() != null) {
324
				conservationCollectee.setFormation(formationMarkRGrpChp.getValue().getValueAttribute());
325
			}
326
			// FORMATION INFO
327
			conservationCollectee.setFormationInfo(formationChp.getValue());
328
			// FORMATION INTERET
329
			if (interetFormationMarkRGrpChp.getValue() != null) {
330
				conservationCollectee.setFormationInteret(interetFormationMarkRGrpChp.getValue().getValueAttribute());
331
			}
332
 
333
			// STOCKAGE LOCAL
334
			conservationCollectee.setStockageLocal(creerChaineDenormalisee(localStockageTrukCacGrpChp.getValues()));
335
			conservationCollectee.setStockageLocal("AUTRE", localStockageAutreChp.getValue());
336
 
337
			// STOCKAGE MEUBLE
338
			conservationCollectee.setStockageMeuble(creerChaineDenormalisee(meubleStockageTrukCacGrpChp.getValues()));
339
			conservationCollectee.setStockageMeuble("AUTRE", meubleStockageAutreChp.getValue());
340
 
341
			// STOCKAGE PAREMETRE
342
			conservationCollectee.setStockageParametre(creerChaineDenormalisee(parametreStockageTrukCacGrpChp.getValues()));
343
			conservationCollectee.setStockageParametre("AUTRE", parametreStockageAutreChp.getValue());
344
 
345
			// COLLECTION COMMUNE
346
			if (collectionCommuneMarkRGrpChp.getValue() != null) {
347
				conservationCollectee.setCollectionCommune(collectionCommuneMarkRGrpChp.getValue().getValueAttribute());
348
			}
349
			// COLLECTION AUTRE
350
			conservationCollectee.setCollectionAutre(creerChaineDenormalisee(collectionAutreTrukCacGrpChp.getValues()));
351
			conservationCollectee.setCollectionAutre("AUTRE", collectionAutreAutreChp.getValue());
352
 
353
			// ACCÈS CONTROLÉ
354
			if (accesControleMarkRGrpChp.getValue() != null) {
355
				conservationCollectee.setAccesControle(accesControleMarkRGrpChp.getValue().getValueAttribute());
356
			}
357
 
358
			// RESTAURATION
359
			if (restaurationMarkRGrpChp.getValue() != null) {
360
				conservationCollectee.setRestauration(restaurationMarkRGrpChp.getValue().getValueAttribute());
361
			}
362
			// RESTAURATION OPÉRATION
363
			conservationCollectee.setRestaurationOperation(creerChaineDenormalisee(opRestauTrukCacGrpChp.getValues()));
364
			conservationCollectee.setRestaurationOperation("AUTRE", opRestauAutreChp.getValue());
365
 
366
			// MATERIEL CONSERVATION
367
			if (materielConservationCeRGrpChp.getValue() != null) {
368
				conservationCollectee.setMaterielConservation(materielConservationCeRGrpChp.getValue().getValueAttribute());
369
 
370
				// MATERIEL AUTRE
371
				conservationCollectee.setMaterielAutre(creerChaineDenormalisee(autreMaterielTrukCacGrpChp.getValues()));
372
				conservationCollectee.setMaterielAutre("AUTRE", autreMaterielAutreChp.getValue());
373
			}
374
 
375
			// TRAITEMENT
376
			if (traitementMarkRGrpChp.getValue() != null) {
377
				conservationCollectee.setTraitement(traitementMarkRGrpChp.getValue().getValueAttribute());
378
			}
379
			// TRAIEMENTS
380
			conservationCollectee.setTraitements(creerChaineDenormalisee(traitementTrukCacGrpChp.getValues()));
381
			conservationCollectee.setTraitements("AUTRE", traitementAutreChp.getValue());
382
 
383
 
384
			// ACQUISITION COLLECTION
385
			if (collectionAcquisitionMarkRGrpChp.getValue() != null) {
386
				conservationCollectee.setAcquisitionCollection(collectionAcquisitionMarkRGrpChp.getValue().getValueAttribute());
387
			}
388
 
389
			// ACQUISITION ECHANTILLON
390
			if (echantillonAcquisitionMarkRGrpChp.getValue() != null) {
391
				conservationCollectee.setAcquisitionEchantillon(echantillonAcquisitionMarkRGrpChp.getValue().getValueAttribute());
392
			}
393
			// ACQUISITION TRAITEMENT
394
			if (traitementAcquisitionMarkRGrpChp.getValue() != null) {
395
				conservationCollectee.setAcquisitionTraitement(traitementAcquisitionMarkRGrpChp.getValue().getValueAttribute());
396
			}
397
			// ACQUISITION TRAITEMENT POISON
398
			conservationCollectee.setAcquisitionTraitementPoison(creerChaineDenormalisee(poisonTraitementTrukCacGrpChp.getValues()));
399
			conservationCollectee.setAcquisitionTraitementPoison("AUTRE", poisonTraitementAutreChp.getValue());
400
			// ACQUISITION TRAITEMENT INSECTE
401
			conservationCollectee.setAcquisitionTraitementInsecte(creerChaineDenormalisee(insecteTraitementTrukCacGrpChp.getValues()));
402
			conservationCollectee.setAcquisitionTraitementInsecte("AUTRE", insecteTraitementAutreChp.getValue());
403
 
404
			// Retour de l'objet
405
			if (!conservationCollectee.comparer(conservation)) {
406
				GWT.log("Collecte différent de Retour", null);
407
				conservationARetourner = conservation = conservationCollectee;
408
			}
409
		}
410
		return conservationARetourner;
411
	}
412
 
413
	private String creerChaineDenormalisee(List<CheckBox> liste) {
414
		return ((StructureForm)formulaireCourant).creerChaineDenormalisee(liste);
415
	}
416
 
417
	private void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
418
		((StructureForm)formulaireCourant).peuplerCasesACocher(donnees, groupeCac, champAutre);
419
	}
420
 
421
	private void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
422
		((StructureForm)formulaireCourant).peuplerBoutonsRadio(valeur, groupeBr);
423
	}
424
 
425
	public void afficherChampSupplementaires(Radio radioBtn) {
426
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
427
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
428
		String valeurPourAfficher = "oui";
429
 
430
		// Construction de la liste des composants à afficher/cacher
431
		String radioGroupeNom = radioBtn.getGroup().getName();
432
		ArrayList<Object> composants = new ArrayList<Object>();
433
		if (radioGroupeNom.equals("formation_mark_grp")) {
434
			composants.add(formationChp);
435
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
436
			composants.add(collectionAutreTrukCp);
437
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
438
			composants.add(opRestauTrukCp);
439
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
440
			composants.add(traitementTrukCp);
441
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
442
			composants.add(traitementAcquisitionMarkRGrpChp);
443
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
444
			composants.add(traitementAcquisitionMarkLabel);
445
			composants.add(poisonTraitementTrukCp);
446
			composants.add(insecteTraitementTrukCp);
447
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
448
			composants.add(autreMaterielTrukCp);
449
			valeurPourAfficher = "non";
450
		}
451
 
452
		// Nous affichons/cachons les composant de la liste
453
		final int nbreComposants = composants.size();
454
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
455
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
456
		for (int i = 0; i < nbreComposants; i++) {
457
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
458
			String type = radioBtn.getBoxLabel().toLowerCase();
459
			//GWT.log(type, null);
460
			if (radioBtn.getValue() == true) {
461
				if (type.equals(valeurPourAfficher)) {
462
					((Component) composants.get(i)).show();
463
				} else {
464
					((Component) composants.get(i)).hide();
465
				}
466
			}
467
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
468
			if (composants.get(i) instanceof ContentPanel) {
469
				((ContentPanel) composants.get(i)).layout();
470
			}
471
		}
472
	}
473
 
474
	public void peupler() {
475
		if(conservation == null) {
476
			initialiserConservation();
477
		}
478
		if (formulaireCourant.mode.equals(Formulaire.MODE_AJOUTER)) {
479
			// Indique que l'onglet a pu être modifié pour la méthode collecter...
480
			this.setData("acces", true);
481
			// Initialisation de l'objet Structure
482
			conservation = new StructureConservation();
483
		}
484
		if (formulaireCourant.mode.equals(Formulaire.MODE_MODIFIER) && conservation != null) {
485
			// FORMATION
486
			// Bouton oui, à toujours l'index 0 donc on teste en fonction...
487
			((Radio) formationMarkRGrpChp.get((conservation.getFormation().equals("1") ? 0 : 1))).setValue(true);
488
			// FORMATION INFO
489
			formationChp.setValue(conservation.getFormationInfo());
490
			// FORMATION INTERET
491
			((Radio) interetFormationMarkRGrpChp.get((conservation.getFormationInteret().equals("1") ? 0 : 1))).setValue(true);
492
 
493
			// STOCKAGE LOCAL
494
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
495
 
496
			// STOCKAGE MEUBLE
497
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
498
 
499
			// STOCKAGE PAREMETRE
500
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
501
 
502
			// COLLECTION COMMUNE
503
			((Radio) collectionCommuneMarkRGrpChp.get((conservation.getCollectionCommune().equals("1") ? 0 : 1))).setValue(true);
504
			// COLLECTION AUTRE
505
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
506
 
507
			// ACCÈS CONTROLÉ
508
			((Radio) accesControleMarkRGrpChp.get((conservation.getAccesControle().equals("1") ? 0 : 1))).setValue(true);
509
 
510
			// RESTAURATION
511
			((Radio) restaurationMarkRGrpChp.get((conservation.getRestauration().equals("1") ? 0 : 1))).setValue(true);
512
			// RESTAURATION OPÉRATION
513
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
514
 
515
			// MATERIEL CONSERVATION
516
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
517
 
518
			// MATERIEL AUTRE
519
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
520
 
521
			// TRAITEMENT
522
			((Radio) traitementMarkRGrpChp.get((conservation.getTraitement().equals("1") ? 0 : 1))).setValue(true);
523
			// TRAITEMENTS
524
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
525
 
526
			// ACQUISITION COLLECTION
527
			((Radio) collectionAcquisitionMarkRGrpChp.get((conservation.getAcquisitionCollection().equals("1") ? 0 : 1))).setValue(true);
528
 
529
			// ACQUISITION ECHANTILLON
530
			((Radio) echantillonAcquisitionMarkRGrpChp.get((conservation.getAcquisitionEchantillon().equals("1") ? 0 : 1))).setValue(true);
531
 
532
			// ACQUISITION TRAITEMENT
533
			((Radio) traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1))).setValue(true);
534
			// ACQUISITION TRAITEMENT POISON
535
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
536
			// ACQUISITION TRAITEMENT INSECTE
537
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
538
 
539
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
540
			this.setData("acces", true);
541
		}
542
	}
543
}