Subversion Repositories eFlore/Applications.coel

Rev

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
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
487
			// Bouton oui, à toujours l'index 0 donc on teste en fonction...
1693 raphael 488
			if(conservation.getFormation() != null) {
489
				((Radio) formationMarkRGrpChp.get(conservation.getFormation())).setValue(true);
490
			}
491
 
1637 aurelien 492
			// FORMATION INFO
493
			formationChp.setValue(conservation.getFormationInfo());
494
			// FORMATION INTERET
1693 raphael 495
			if(conservation.getFormationInteret() != null) {
496
				((Radio) interetFormationMarkRGrpChp.get(conservation.getFormationInteret())).setValue(true);
497
			}
1637 aurelien 498
 
499
			// STOCKAGE LOCAL
500
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
501
 
502
			// STOCKAGE MEUBLE
503
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
504
 
505
			// STOCKAGE PAREMETRE
506
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
507
 
508
			// COLLECTION COMMUNE
509
			((Radio) collectionCommuneMarkRGrpChp.get((conservation.getCollectionCommune().equals("1") ? 0 : 1))).setValue(true);
510
			// COLLECTION AUTRE
511
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
512
 
513
			// ACCÈS CONTROLÉ
514
			((Radio) accesControleMarkRGrpChp.get((conservation.getAccesControle().equals("1") ? 0 : 1))).setValue(true);
515
 
516
			// RESTAURATION
517
			((Radio) restaurationMarkRGrpChp.get((conservation.getRestauration().equals("1") ? 0 : 1))).setValue(true);
518
			// RESTAURATION OPÉRATION
519
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
520
 
521
			// MATERIEL CONSERVATION
522
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
523
 
524
			// MATERIEL AUTRE
525
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
526
 
527
			// TRAITEMENT
528
			((Radio) traitementMarkRGrpChp.get((conservation.getTraitement().equals("1") ? 0 : 1))).setValue(true);
529
			// TRAITEMENTS
530
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
531
 
532
			// ACQUISITION COLLECTION
533
			((Radio) collectionAcquisitionMarkRGrpChp.get((conservation.getAcquisitionCollection().equals("1") ? 0 : 1))).setValue(true);
534
 
535
			// ACQUISITION ECHANTILLON
536
			((Radio) echantillonAcquisitionMarkRGrpChp.get((conservation.getAcquisitionEchantillon().equals("1") ? 0 : 1))).setValue(true);
537
 
538
			// ACQUISITION TRAITEMENT
539
			((Radio) traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1))).setValue(true);
540
			// ACQUISITION TRAITEMENT POISON
541
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
542
			// ACQUISITION TRAITEMENT INSECTE
543
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
544
 
545
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
546
			this.setData("acces", true);
547
		}
548
	}
549
}