Subversion Repositories eFlore/Applications.coel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
69 jpm 1
package org.tela_botanica.client.vues;
2
 
91 jpm 3
import java.util.ArrayList;
4
import java.util.Iterator;
69 jpm 5
import java.util.List;
6
 
172 jp_milcent 7
import org.tela_botanica.client.ComposantId;
119 jpm 8
import org.tela_botanica.client.Mediateur;
91 jpm 9
import org.tela_botanica.client.Modele;
10
import org.tela_botanica.client.RegistreId;
115 jpm 11
import org.tela_botanica.client.i18n.Constantes;
69 jpm 12
import org.tela_botanica.client.interfaces.Rafraichissable;
91 jpm 13
import org.tela_botanica.client.modeles.Configuration;
153 jpm 14
import org.tela_botanica.client.modeles.Information;
100 jpm 15
import org.tela_botanica.client.modeles.InterneValeur;
16
import org.tela_botanica.client.modeles.InterneValeurListe;
102 jpm 17
import org.tela_botanica.client.modeles.Personne;
119 jpm 18
import org.tela_botanica.client.modeles.Structure;
91 jpm 19
import org.tela_botanica.client.modeles.Valeur;
20
import org.tela_botanica.client.modeles.ValeurListe;
69 jpm 21
 
111 jpm 22
import com.extjs.gxt.ui.client.Events;
91 jpm 23
import com.extjs.gxt.ui.client.Registry;
69 jpm 24
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
110 jpm 25
import com.extjs.gxt.ui.client.Style.Scroll;
111 jpm 26
import com.extjs.gxt.ui.client.event.ComponentEvent;
27
import com.extjs.gxt.ui.client.event.Listener;
100 jpm 28
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
29
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
103 jpm 30
import com.extjs.gxt.ui.client.event.SelectionListener;
31
import com.extjs.gxt.ui.client.event.ToolBarEvent;
69 jpm 32
import com.extjs.gxt.ui.client.store.ListStore;
172 jp_milcent 33
import com.extjs.gxt.ui.client.store.Store;
111 jpm 34
import com.extjs.gxt.ui.client.widget.Component;
102 jpm 35
import com.extjs.gxt.ui.client.widget.ContentPanel;
153 jpm 36
import com.extjs.gxt.ui.client.widget.Info;
69 jpm 37
import com.extjs.gxt.ui.client.widget.LayoutContainer;
100 jpm 38
import com.extjs.gxt.ui.client.widget.TabItem;
39
import com.extjs.gxt.ui.client.widget.TabPanel;
69 jpm 40
import com.extjs.gxt.ui.client.widget.button.Button;
108 jpm 41
import com.extjs.gxt.ui.client.widget.form.CheckBox;
42
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
69 jpm 43
import com.extjs.gxt.ui.client.widget.form.ComboBox;
100 jpm 44
import com.extjs.gxt.ui.client.widget.form.DateField;
119 jpm 45
import com.extjs.gxt.ui.client.widget.form.Field;
100 jpm 46
import com.extjs.gxt.ui.client.widget.form.FieldSet;
69 jpm 47
import com.extjs.gxt.ui.client.widget.form.FormPanel;
172 jp_milcent 48
import com.extjs.gxt.ui.client.widget.form.HiddenField;
103 jpm 49
import com.extjs.gxt.ui.client.widget.form.LabelField;
102 jpm 50
import com.extjs.gxt.ui.client.widget.form.NumberField;
109 jpm 51
import com.extjs.gxt.ui.client.widget.form.Radio;
52
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
164 jp_milcent 53
import com.extjs.gxt.ui.client.widget.form.TextArea;
69 jpm 54
import com.extjs.gxt.ui.client.widget.form.TextField;
55
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
56
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
102 jpm 57
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
58
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
59
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
60
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
61
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
62
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
69 jpm 63
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
64
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
65
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
66
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
100 jpm 67
import com.extjs.gxt.ui.client.widget.layout.FormData;
69 jpm 68
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
110 jpm 69
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
102 jpm 70
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
71
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
72
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
91 jpm 73
import com.google.gwt.core.client.GWT;
100 jpm 74
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 75
import com.google.gwt.i18n.client.NumberFormat;
133 jpm 76
import com.google.gwt.user.client.Window;
69 jpm 77
 
78
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
115 jpm 79
 
80
	private Constantes i18nC = null;
119 jpm 81
	private Mediateur mediateur = null;
82
	private Modele modele = null ;
83
 
156 jp_milcent 84
	private String mode = "AJOUT";
119 jpm 85
	private FormPanel structureFormPanneau;
133 jpm 86
	private int tabIndex = 100;
115 jpm 87
 
91 jpm 88
	private ListStore<Valeur> magazinLstpr = null;
89
	private ComboBox<Valeur> comboLstpr = null;
90
	private ListStore<Valeur> magazinLstpu = null;
91
	private ComboBox<Valeur> comboLstpu = null;
103 jpm 92
	private ListStore<Valeur> magazinLiStatut = null;
93
	private ComboBox<Valeur> comboLiStatut = null;
94
	private ListStore<Valeur> magazinLiFonction = null;
95
	private ComboBox<Valeur> comboLiFonction = null;
100 jpm 96
	private ComboBox<InterneValeur> comboAcronyme = null;
97
	private TextField<String> ihChp = null;
98
	private TextField<String> mnhnChp = null;
99
	private ComboBox<InterneValeur> comboTypeStructure = null;
108 jpm 100
	private TabItem personnelOnglet = null;
103 jpm 101
	private EditorGrid<Personne> grillePersonnel = null;
102
	private ListStore<Personne> personnelGrilleMagazin = null;
103
	private LabelField nbreTotalPersonnelChp = null;
108 jpm 104
	private TabItem conservationOnglet = null;
115 jpm 105
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
106
	private ContentPanel localStockageTrukCp = null;
107
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
108
	private ContentPanel meubleStockageTrukCp = null;
109
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
110
	private ContentPanel parametreStockageTrukCp = null;
111 jpm 111
	private ContentPanel collectionAutreTrukCp = null;
112
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
115 jpm 113
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
111 jpm 114
	private ContentPanel opRestauTrukCp = null;
115 jpm 115
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
116
	private ContentPanel autreMaterielTrukCp = null;
111 jpm 117
	private ContentPanel traitementTrukCp = null;
118
	private CheckBoxGroup traitementTrukCacGrpChp = null;
115 jpm 119
	private ContentPanel poisonTraitementTrukCp = null;
111 jpm 120
	private ContentPanel insecteTraitementTrukCp = null;
121
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
115 jpm 122
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
111 jpm 123
	private TabItem valorisationOnglet = null;
115 jpm 124
	private ContentPanel actionTrukCp = null;
125
	private CheckBoxGroup actionTrukCacGrpChp = null;
126
	private ContentPanel autreCollectionTrukCp = null;
119 jpm 127
	private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
115 jpm 128
	private ContentPanel provenanceRechercheTrukCp = null;
129
	private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
130
	private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
119 jpm 131
	private ContentPanel typeRechercheTrukCp = null;
115 jpm 132
	private TextField<String> futureActionChp = null;
133
	private TextField<String> sansMotifAccesChp = null;
134
	private TextField<String> avecMotifAccesChp = null;
135
	private TextField<String> formationChp = null;
136
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
137
	private LabelField traitementAcquisitionMarkLabel = null;
138
	private RadioGroup materielConservationCeRGrpChp = null;
119 jpm 139
 
140
	private RadioGroup actionMarkRGrpChp;
141
	private TextField<String> nomStructureChp;
142
	private DateField dateFondationChp;
164 jp_milcent 143
	private TextArea adrChp;
119 jpm 144
	private TextField<String> cpChp;
145
	private TextField<String> villeChp;
146
	private TextField<String> regionChp;
147
	private TextField<String> telChp;
148
	private TextField<String> faxChp;
149
	private TextField<String> emailChp;
150
	private TextField<String> urlChp;
164 jp_milcent 151
	private ListStore<Valeur> magazinPays;
152
	private ComboBox<Valeur> comboPays;
172 jp_milcent 153
	private HiddenField<String> idStructureChp;
91 jpm 154
 
69 jpm 155
	public FormStructureVue() {
100 jpm 156
		//+-----------------------------------------------------------------------------------------------------------+
157
		// Initialisation de variables
115 jpm 158
		i18nC = GWT.create(Constantes.class);
69 jpm 159
		setLayout(new FitLayout());
119 jpm 160
		modele = Registry.get(RegistreId.MODELE);
161
		mediateur = Registry.get(RegistreId.MEDIATEUR);
162
 
100 jpm 163
		//+-----------------------------------------------------------------------------------------------------------+
110 jpm 164
		// Création du panneau du FORMULAIRE GÉNÉRAL
119 jpm 165
		structureFormPanneau = new FormPanel();
166
		structureFormPanneau.setFrame(true);
167
		structureFormPanneau.setIconStyle("icone-form-ajouter");
168
		structureFormPanneau.setCollapsible(false);
156 jp_milcent 169
		structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau());
119 jpm 170
		structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER);
171
		structureFormPanneau.setLayout(new FlowLayout());
100 jpm 172
 
110 jpm 173
		//+-----------------------------------------------------------------------------------------------------------+
100 jpm 174
		// Création des onglets
102 jpm 175
		TabPanel onglets = new TabPanel();
110 jpm 176
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
177
		onglets.setHeight("100%");
69 jpm 178
 
100 jpm 179
		//+-----------------------------------------------------------------------------------------------------------+
180
		// Onlget formulaire IDENTIFICATION
110 jpm 181
		onglets.add(creerOngletIdentification());
69 jpm 182
 
100 jpm 183
		//+-----------------------------------------------------------------------------------------------------------+
184
		// Onlget formulaire PERSONNEL
103 jpm 185
		onglets.add(creerOngletPersonnel());
91 jpm 186
 
100 jpm 187
		//+-----------------------------------------------------------------------------------------------------------+
188
		// Onlget formulaire CONSERVATION
108 jpm 189
		onglets.add(creerOngletConservation());
100 jpm 190
 
191
		//+-----------------------------------------------------------------------------------------------------------+
192
		// Onlget formulaire VALORISATION
111 jpm 193
		onglets.add(creerOngletValorisation());
100 jpm 194
 
195
		//+-----------------------------------------------------------------------------------------------------------+
196
		// Gestion du FORMULAIRE GÉNÉRAL
197
 
119 jpm 198
		// Sélection de l'onglet par défaut
199
		//onglets.setSelection(valorisationOnglet);
200
		// Ajout des onglets au formulaire général
201
		structureFormPanneau.add(onglets);
69 jpm 202
 
203
		// Ajout des boutons au panneau formulaire
204
		Button annulerBtn = new Button("Annuler");
172 jp_milcent 205
		annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
206
 
207
			@Override
208
			public void componentSelected(ComponentEvent ce) {
209
				mediateur.clicMenu("Institutions");
210
			}
211
 
212
		});
119 jpm 213
		structureFormPanneau.addButton(annulerBtn);
69 jpm 214
		Button validerBtn = new Button("Valider");
119 jpm 215
		validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
216
 
217
			@Override
218
			public void componentSelected(ComponentEvent ce) {
219
				soumettreFormulaire();
220
			}
221
 
222
		});
223
		structureFormPanneau.addButton(validerBtn);
69 jpm 224
 
225
		// Ajout du panneau Formulaire à la disposition générale
119 jpm 226
		add(structureFormPanneau);
69 jpm 227
	}
108 jpm 228
 
119 jpm 229
	private void soumettreFormulaire() {
230
		GWT.log("Soumission du formulaire", null);
156 jp_milcent 231
		Structure structure = collecterDonnees();
232
		if (mode == "AJOUT") {
164 jp_milcent 233
			//mediateur.ajouterStructure(this, structure);
172 jp_milcent 234
			GWT.log("Structure non ajouté :"+structure.toString(), null);
156 jp_milcent 235
		} else if (mode == "MODIF") {
236
			mediateur.modifierStructure(this, structure);
237
		}
119 jpm 238
	}
239
 
156 jp_milcent 240
	private Structure collecterDonnees() {
119 jpm 241
		Structure structure = new Structure();
172 jp_milcent 242
		structure.setId(idStructureChp.getValue());
119 jpm 243
		structure.setNom(nomStructureChp.getValue());
164 jp_milcent 244
		// Récupération de l'acronyme (= identifiant alternatif)
245
		structure.setIdAlternatif(null);
246
		if (comboAcronyme.getValue() != null) {
247
			String typeAcronyme = comboAcronyme.getValue().getAbr();
248
			GWT.log("Acronyme : "+typeAcronyme, null);
249
			if (typeAcronyme == "IH") {
250
				structure.setIdAlternatif(typeAcronyme+"##"+ihChp.getValue());
251
			} else if (typeAcronyme == "MNHN") {
252
				structure.setIdAlternatif(typeAcronyme+"##"+mnhnChp.getValue());
253
			}
254
		}
255
		// Récupération statut de la structure
256
		structure.setTypePublic(null);
257
		structure.setTypePrive(null);
258
		if (comboTypeStructure.getValue() != null) {
259
			String typeStructure = comboTypeStructure.getValue().getAbr();
260
			GWT.log("Statut : "+typeStructure, null);
261
			if (typeStructure == "stpu") {
262
				structure.setTypePublic(comboLstpu.getValue().getId());
263
			} else if (typeStructure == "stpr") {
264
				structure.setTypePrive(comboLstpr.getValue().getId());
265
			}
266
		}
156 jp_milcent 267
		structure.setDateFondation(dateFondationChp.getValue());
164 jp_milcent 268
 
119 jpm 269
		structure.setAdresse(adrChp.getValue());
270
		structure.setCodePostal(cpChp.getValue());
271
		structure.setVille(villeChp.getValue());
272
		structure.setRegion(regionChp.getValue());
164 jp_milcent 273
		structure.setPays(null);
274
		if (comboPays.getValue() != null) {
275
			structure.setPays(comboPays.getValue().getAbreviation());
172 jp_milcent 276
		} else if (comboPays.getRawValue() != "") {
277
			structure.setPays(comboPays.getRawValue());
164 jp_milcent 278
		}
119 jpm 279
 
280
		structure.setTelephone(telChp.getValue());
281
		structure.setFax(faxChp.getValue());
282
		structure.setCourriel(emailChp.getValue());
283
		structure.setUrl(urlChp.getValue());
284
 
156 jp_milcent 285
		return structure;
119 jpm 286
	}
287
 
156 jp_milcent 288
	private void peuplerFormulaire(Structure str) {
172 jp_milcent 289
		idStructureChp.setValue(str.getId());
156 jp_milcent 290
		nomStructureChp.setValue(str.getNom());
172 jp_milcent 291
		if (!str.getTypePrive().isEmpty()) {
292
			if (str.getTypePrive().matches("^[0-9]+$")) {
293
				comboTypeStructure.setValue(InterneValeurListe.getTypePrivee());
294
				comboLstpr.setValue(comboLstpr.getStore().findModel("id_valeur", str.getTypePrive()));
295
			}
296
		} else if (!str.getTypePublic().isEmpty()) {
297
			if (str.getTypePublic().matches("^[0-9]+$")) {
298
				comboTypeStructure.setValue(InterneValeurListe.getTypePublique());
299
				comboLstpu.setValue(comboLstpu.getStore().findModel("id_valeur", str.getTypePublic()));
300
			}
301
		}
156 jp_milcent 302
		dateFondationChp.setValue(str.getDateFondation());
303
 
304
		adrChp.setValue(str.getAdresse());
305
		cpChp.setValue(str.getCodePostal());
306
		villeChp.setValue(str.getVille());
307
		regionChp.setValue(str.getRegion());
172 jp_milcent 308
		if (str.getPays().matches("^[A-Z]{2}$")) {
309
			comboPays.setValue(comboPays.getStore().findModel("abreviation", str.getPays()));
310
		} else {
311
			comboPays.setRawValue(str.getPays());
312
		}
156 jp_milcent 313
 
314
		telChp.setValue(str.getTelephone());
315
		faxChp.setValue(str.getFax());
316
		emailChp.setValue(str.getCourriel());
164 jp_milcent 317
		urlChp.setValue(str.getUrl("WEB"));
156 jp_milcent 318
	}
319
 
111 jpm 320
	private TabItem creerOngletValorisation() {
321
		valorisationOnglet = new TabItem();
322
		valorisationOnglet.setText("Valorisation");
323
		valorisationOnglet.setScrollMode(Scroll.AUTO);
324
		valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
325
 
119 jpm 326
		actionMarkRGrpChp = creerChoixUniqueRadioGroupe("action_mark", "ouiNon");
111 jpm 327
		actionMarkRGrpChp.setFieldLabel("Avez-vous réalisé des actions de valorisation de vos collections botaniques ou avez-vous été sollicités pour la valorisation de ces collections ?");
328
		valorisationOnglet.add(actionMarkRGrpChp);
329
 
119 jpm 330
 
111 jpm 331
		actionTrukCp = creerChoixMultipleCp("actionValorisation");
332
		actionTrukCp.hide();
115 jpm 333
		actionTrukCacGrpChp = new CheckBoxGroup();
334
		actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 335
		valorisationOnglet.add(actionTrukCp);
336
 
337
		TextField<String> publicationChp = new TextField<String>();
338
		publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
339
		valorisationOnglet.add(publicationChp);
340
 
341
		autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
119 jpm 342
		autreCollectionTrukCacGrpChp = new CheckBoxGroup();
343
		autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
111 jpm 344
		valorisationOnglet.add(autreCollectionTrukCp);
345
 
115 jpm 346
		RadioGroup futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
111 jpm 347
		futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
348
		valorisationOnglet.add(futureActionMarkRGrpChp);
349
 
350
		futureActionChp = new TextField<String>();
351
		futureActionChp.setFieldLabel("Si oui, lesquelles ?");
352
		futureActionChp.hide();
353
		valorisationOnglet.add(futureActionChp);
354
 
115 jpm 355
		RadioGroup rechercheMarkRGrpChp = creerChoixUniqueRadioGroupe("recherche_mark", "ouiNon");
111 jpm 356
		rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
357
		valorisationOnglet.add(rechercheMarkRGrpChp);
358
 
359
		provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
360
		provenanceRechercheTrukCp.hide();
115 jpm 361
		provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
362
		provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
111 jpm 363
		valorisationOnglet.add(provenanceRechercheTrukCp);
364
 
119 jpm 365
		typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
366
		typeRechercheTrukCp.hide();
115 jpm 367
		typeRechercheTrukCacGrpChp = new CheckBoxGroup();
368
		typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
119 jpm 369
		valorisationOnglet.add(typeRechercheTrukCp);
111 jpm 370
 
115 jpm 371
		RadioGroup sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
111 jpm 372
		sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
373
		valorisationOnglet.add(sansMotifAccesMarkRGrpChp);
374
 
375
		sansMotifAccesChp = new TextField<String>();
376
		sansMotifAccesChp.hide();
377
		sansMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les consulter ?");
378
		valorisationOnglet.add(sansMotifAccesChp);
379
 
115 jpm 380
		RadioGroup avecMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("avec_motif_acces_mark", "ouiNon");
111 jpm 381
		avecMotifAccesMarkRGrpChp.setFieldLabel("Peut-on visiter vos collections botaniques avec des objectifs de recherches scientifiques ?");
382
		valorisationOnglet.add(avecMotifAccesMarkRGrpChp);
383
 
115 jpm 384
		valorisationOnglet.add(avecMotifAccesChp = new TextField<String>());
111 jpm 385
		avecMotifAccesChp.hide();
386
		avecMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les visiter ?");
387
 
388
		return valorisationOnglet;
389
	}
390
 
108 jpm 391
	private TabItem creerOngletConservation() {
392
		conservationOnglet = new TabItem();
393
		conservationOnglet.setText("Conservation");
110 jpm 394
		conservationOnglet.setScrollMode(Scroll.AUTO);
108 jpm 395
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
396
 
115 jpm 397
		RadioGroup markFormationRGrpChp = creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
109 jpm 398
		markFormationRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
399
		conservationOnglet.add(markFormationRGrpChp);
108 jpm 400
 
111 jpm 401
		formationChp = new TextField<String>();
402
		formationChp.hide();
403
		formationChp.setFieldLabel("Si oui, lesquelles ?");
108 jpm 404
		conservationOnglet.add(formationChp);
405
 
115 jpm 406
		RadioGroup markInteretFormationRGrpChp = creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
109 jpm 407
		markInteretFormationRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
408
		conservationOnglet.add(markInteretFormationRGrpChp);
108 jpm 409
 
115 jpm 410
		localStockageTrukCp = creerChoixMultipleCp("localStockage");
411
		localStockageTrukCacGrpChp = new CheckBoxGroup();
412
		localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
413
		conservationOnglet.add(localStockageTrukCp);
108 jpm 414
 
115 jpm 415
		meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
416
		meubleStockageTrukCacGrpChp = new CheckBoxGroup();
417
		meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
418
		conservationOnglet.add(meubleStockageTrukCp);
108 jpm 419
 
115 jpm 420
		parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
421
		parametreStockageTrukCacGrpChp = new CheckBoxGroup();
422
		parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
423
		conservationOnglet.add(parametreStockageTrukCp);
109 jpm 424
 
115 jpm 425
		RadioGroup collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
111 jpm 426
		collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
427
		conservationOnglet.add(collectionCommuneMarkRGrpChp);
109 jpm 428
 
111 jpm 429
		collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
115 jpm 430
		collectionAutreTrukCacGrpChp = new CheckBoxGroup();
431
		collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 432
		collectionAutreTrukCp.hide();
433
		conservationOnglet.add(collectionAutreTrukCp);
110 jpm 434
 
115 jpm 435
		RadioGroup accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
436
		accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
437
		conservationOnglet.add(accesControleMarkRGrpChp);
110 jpm 438
 
115 jpm 439
		RadioGroup restaurationMarkRGrpChp = creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
440
		restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
441
		conservationOnglet.add(restaurationMarkRGrpChp);
110 jpm 442
 
111 jpm 443
		opRestauTrukCp = creerChoixMultipleCp("opRestau");
115 jpm 444
		opRestauTrukCacGrpChp = new CheckBoxGroup();
445
		opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 446
		opRestauTrukCp.hide();
447
		conservationOnglet.add(opRestauTrukCp);
110 jpm 448
 
115 jpm 449
		materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
450
		materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
451
		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..."));
452
		conservationOnglet.add(materielConservationCeRGrpChp);
110 jpm 453
 
115 jpm 454
		autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
455
		autreMaterielTrukCp.hide();
456
		autreMaterielTrukCacGrpChp = new CheckBoxGroup();
457
		autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
458
		conservationOnglet.add(autreMaterielTrukCp);
110 jpm 459
 
115 jpm 460
		RadioGroup markTraitementRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
110 jpm 461
		markTraitementRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
462
		conservationOnglet.add(markTraitementRGrpChp);
463
 
111 jpm 464
		traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
115 jpm 465
		traitementTrukCp.hide();
466
		traitementTrukCacGrpChp = new CheckBoxGroup();
467
		traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
111 jpm 468
		conservationOnglet.add(traitementTrukCp);
110 jpm 469
 
115 jpm 470
		RadioGroup markCollectionAcquisitionRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
110 jpm 471
		markCollectionAcquisitionRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
472
		conservationOnglet.add(markCollectionAcquisitionRGrpChp);
473
 
115 jpm 474
		RadioGroup markEchantillonAcquisitionRGrpChp = creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
110 jpm 475
		markEchantillonAcquisitionRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
476
		conservationOnglet.add(markEchantillonAcquisitionRGrpChp);
477
 
115 jpm 478
		traitementAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
479
		traitementAcquisitionMarkRGrpChp.hide();
480
		traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
481
		conservationOnglet.add(traitementAcquisitionMarkRGrpChp);
110 jpm 482
 
115 jpm 483
		traitementAcquisitionMarkLabel = new LabelField();
484
		traitementAcquisitionMarkLabel.hide();
485
		traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
486
		conservationOnglet.add(traitementAcquisitionMarkLabel);
110 jpm 487
 
115 jpm 488
		poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
489
		poisonTraitementTrukCp.hide();
490
		poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
491
		poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
492
		poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
493
		poisonTraitementTrukCacGrpChp.setLabelSeparator("");
494
		conservationOnglet.add(poisonTraitementTrukCp);
110 jpm 495
 
111 jpm 496
		insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
115 jpm 497
		insecteTraitementTrukCp.hide();
498
		insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
499
		insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
500
		insecteTraitementTrukCacGrpChp.setLabelSeparator("");
501
		insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
111 jpm 502
		conservationOnglet.add(insecteTraitementTrukCp);
110 jpm 503
 
108 jpm 504
		return conservationOnglet;
505
	}
506
 
103 jpm 507
	private TabItem creerOngletPersonnel() {
108 jpm 508
		personnelOnglet = new TabItem();
103 jpm 509
		personnelOnglet.setText("Personnel");
110 jpm 510
		personnelOnglet.setScrollMode(Scroll.AUTO);
511
		personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, null));
103 jpm 512
 
513
		NumberField nbreTotalPersonneStructureChp = new NumberField();
514
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
515
		nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
516
		nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
517
		personnelOnglet.add(nbreTotalPersonneStructureChp);
518
 
519
		personnelOnglet.add(this.creerGrillePersonnel());
520
 
521
		nbreTotalPersonnelChp = new LabelField();
522
		nbreTotalPersonnelChp.setFieldLabel("Nombre de personne travaillant sur les collections");
523
		nbreTotalPersonnelChp.setLabelSeparator(":");
524
		nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
525
		personnelOnglet.add(nbreTotalPersonnelChp);
526
 
527
		return personnelOnglet;
528
	}
529
 
102 jpm 530
	private ContentPanel creerGrillePersonnel() {
103 jpm 531
 
102 jpm 532
		List<Personne> personnes = new ArrayList<Personne>();
533
		personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));
534
		personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));
535
 
103 jpm 536
		personnelGrilleMagazin = new ListStore<Personne>();
537
		personnelGrilleMagazin.add(personnes);
538
 
102 jpm 539
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
540
 
541
		CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();
542
		configs.add(sm.getColumn());
103 jpm 543
 
544
		ColumnConfig column = new ColumnConfig("ce_truk_fonction", "Fonction", 100);
119 jpm 545
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
103 jpm 546
		magazinLiFonction = new ListStore<Valeur>();
547
		magazinLiFonction.add(new ArrayList<Valeur>());
548
 
549
		comboLiFonction = new ComboBox<Valeur>();
550
		comboLiFonction.setTriggerAction(TriggerAction.ALL);
551
		comboLiFonction.setEditable(true);
552
		comboLiFonction.setDisplayField("nom");
553
		//comboLiStatut.setEmptyText("Sélectionez une fonction...");
554
		comboLiFonction.setStore(magazinLiFonction);
555
 
556
		CellEditor fonctionEditor = new CellEditor(comboLiFonction) {
557
			@Override
558
			public Object preProcessValue(Object value) {
559
				if (value == null) {
560
					return value;
561
				}
562
				//GWT.log("pre : "+value.toString(), null);
563
				return comboLiFonction.getStore().findModel("nom", (String) value);
564
			}
565
 
566
			@Override
567
			public Object postProcessValue(Object value) {
568
				if (value == null) {
569
					return value;
570
				}
571
				//GWT.log("post : "+value.toString(), null);
572
				return ((Valeur) value).get("nom");
573
			}
574
		};
575
		column.setEditor(fonctionEditor);
102 jpm 576
		configs.add(column);
577
 
578
		column = new ColumnConfig();
579
		column.setId("prenom");
103 jpm 580
		column.setHeader("Prénom");
581
		column.setWidth(100);
582
		TextField<String> prenomChp = new TextField<String>();
583
		prenomChp.setAllowBlank(false);
584
		prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
585
		prenomChp.setAutoValidate(true);
586
		column.setEditor(new CellEditor(prenomChp));
102 jpm 587
		configs.add(column);
588
 
589
		column = new ColumnConfig();
590
		column.setId("nom");
591
		column.setHeader("Nom");
103 jpm 592
		column.setWidth(100);
593
		TextField<String> nomChp = new TextField<String>();
594
		nomChp.setAllowBlank(false);
595
		nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
596
		nomChp.setAutoValidate(true);
597
		column.setEditor(new CellEditor(nomChp));
102 jpm 598
		configs.add(column);
599
 
103 jpm 600
		column = new ColumnConfig("tel", "Téléphone", 100);
601
		TextField<String> telChp = new TextField<String>();
602
		column.setEditor(new CellEditor(telChp));
102 jpm 603
		configs.add(column);
604
 
605
		column = new ColumnConfig("fax", "Fax", 100);
103 jpm 606
		TextField<String> faxChp = new TextField<String>();
607
		column.setEditor(new CellEditor(faxChp));
102 jpm 608
		configs.add(column);
609
 
103 jpm 610
		column = new ColumnConfig("courriel", "Courriel", 100);
611
		TextField<String> emailChp = new TextField<String>();
612
		column.setEditor(new CellEditor(emailChp));
102 jpm 613
		configs.add(column);
614
 
119 jpm 615
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
103 jpm 616
		magazinLiStatut = new ListStore<Valeur>();
617
		magazinLiStatut.add(new ArrayList<Valeur>());
618
 
619
		comboLiStatut = new ComboBox<Valeur>();
620
		comboLiStatut.setTriggerAction(TriggerAction.ALL);
621
		comboLiStatut.setEditable(false);
622
		comboLiStatut.setDisplayField("nom");
623
		comboLiStatut.setEmptyText("Sélectionez un statut...");
624
		comboLiStatut.setStore(magazinLiStatut);
625
 
626
		CellEditor statutEditor = new CellEditor(comboLiStatut) {
627
			@Override
628
			public Object preProcessValue(Object value) {
629
				if (value == null) {
630
					return value;
631
				}
632
				//GWT.log("pre : "+value.toString(), null);
633
				return comboLiStatut.getStore().findModel("nom", (String) value);
634
			}
635
 
636
			@Override
637
			public Object postProcessValue(Object value) {
638
				if (value == null) {
639
					return value;
640
				}
641
				//GWT.log("post : "+value.toString(), null);
642
				return ((Valeur) value).get("nom");
643
			}
644
		};
645
		column = new ColumnConfig("statut", "Statut", 100);
646
		column.setEditor(statutEditor);
102 jpm 647
		configs.add(column);
648
 
103 jpm 649
		column = new ColumnConfig("tps_w", "Temps travail", 100);
650
		column.setNumberFormat(NumberFormat.getFormat("##"));
651
		NumberField tpsWChp = new NumberField();
652
		tpsWChp.setFormat(NumberFormat.getFormat("##"));
653
		tpsWChp.setToolTip("Ce champ doit contenir un nombre");
654
		column.setEditor(new CellEditor(tpsWChp));
655
		configs.add(column);
656
 
657
		column = new ColumnConfig("specialites", "Spécialités botaniques", 150);
658
		TextField<String> speChp = new TextField<String>();
659
		column.setEditor(new CellEditor(speChp));
660
		configs.add(column);
661
 
662
		CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 60);
102 jpm 663
		configs.add(checkColumn);
664
 
665
		ContentPanel cp = new ContentPanel();
666
		cp.setHeading("Personnes travaillant sur les collections");
110 jpm 667
		cp.setIconStyle("icone-table");
668
		cp.setScrollMode(Scroll.AUTO);
103 jpm 669
		cp.setLayout(new FitLayout());
110 jpm 670
		cp.setSize(1100, 200);
102 jpm 671
		cp.setFrame(true);
672
 
673
		ToolBar toolBar = new ToolBar();
103 jpm 674
 
675
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
676
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
677
			@Override
678
			public void componentSelected(ToolBarEvent ce) {
679
				Personne personne = new Personne();
680
				grillePersonnel.stopEditing();
681
				personnelGrilleMagazin.insert(personne, 0);
682
				grillePersonnel.startEditing(0, 0);
683
				// Mise à jour du nombre de personnel travaillant sur les collections
684
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
685
				// Activation du bouton supprimer si la grille contient un élément
686
				if (grillePersonnel.getStore().getCount() > 0) {
687
					ce.component.enable();
688
				}
689
			}
690
		});
691
		toolBar.add(ajouterPersonnelBtn);
692
		toolBar.add(new SeparatorToolItem());
693
		TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
694
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
695
			@Override
696
			public void componentSelected(ToolBarEvent ce) {
697
				grillePersonnel.getStore().remove(grillePersonnel.getStore().getAt(0));
698
				// Mise à jour du nombre de personnel travaillant sur les collections
699
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
700
				// Désactivation du bouton supprimer si la grille contient plus d'élément
701
				if (grillePersonnel.getStore().getCount() == 0) {
702
					ce.item.disable();
703
				}
704
			}
705
		});
706
		toolBar.add(supprimerPersonnelBtn);
102 jpm 707
		cp.setTopComponent(toolBar);
708
 
709
		ColumnModel cm = new ColumnModel(configs);
710
 
103 jpm 711
		grillePersonnel = new EditorGrid<Personne>(personnelGrilleMagazin, cm);
712
		grillePersonnel.setBorders(true);
713
		grillePersonnel.setSelectionModel(sm);
714
		grillePersonnel.addPlugin(sm);
715
		grillePersonnel.addPlugin(checkColumn);
110 jpm 716
  		grillePersonnel.setAutoExpandColumn("specialites");
102 jpm 717
 
103 jpm 718
		cp.add(grillePersonnel);
102 jpm 719
		return cp;
720
	}
721
 
110 jpm 722
	private TabItem creerOngletIdentification() {
723
		//+-----------------------------------------------------------------------------------------------------------+
724
		// Onlget formulaire IDENTIFICATION
725
		TabItem identificationOnglet = new TabItem();
726
		identificationOnglet.setText("Identification");
727
		identificationOnglet.setLayout(new FormLayout());
728
 
729
		//+-----------------------------------------------------------------------------------------------------------+
172 jp_milcent 730
		// Champs cachés
731
		idStructureChp = new HiddenField<String>();
732
 
733
		//+-----------------------------------------------------------------------------------------------------------+
110 jpm 734
		// Fieldset IDENTITÉ
735
		FieldSet fieldSetIdentite = new FieldSet();
736
		fieldSetIdentite.setHeading("Identité");
737
		fieldSetIdentite.setCollapsible(true);
738
		fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
739
 
119 jpm 740
		nomStructureChp = new TextField<String>();
133 jpm 741
		nomStructureChp.setTabIndex(100);
110 jpm 742
		nomStructureChp.setFieldLabel("Nom de la structure");
743
		nomStructureChp.setAllowBlank(false);
744
		nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
745
		fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
746
 
747
		// Création du sous-formulaire : Acronyme
748
		LayoutContainer ligne = new LayoutContainer();
749
		ligne.setLayout(new ColumnLayout());
750
		LayoutContainer gauche = new LayoutContainer();
751
		gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
752
		LayoutContainer droite = new LayoutContainer();
753
		droite.setLayout(creerFormLayout(0, null, 0));
754
 
755
		ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();
756
		acronymes.add(InterneValeurListe.getTypeAcronyme());
757
 
133 jpm 758
		comboAcronyme = new ComboBox<InterneValeur>();
759
		comboAcronyme.setTabIndex(101);
110 jpm 760
		comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
761
		comboAcronyme.setFieldLabel("Acronymes");
762
		comboAcronyme.setDisplayField("nom");
763
		comboAcronyme.setStore(acronymes);
764
		comboAcronyme.setEditable(false);
765
		comboAcronyme.setTypeAhead(true);
766
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
767
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
768
			@Override
769
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
770
				String acronymeAbr = se.getSelectedItem().getAbr();
771
				if (acronymeAbr.equals("IH")) {
772
					mnhnChp.hide();
773
					ihChp.show();
774
				} else if (acronymeAbr.equals("MNHN")) {
775
					ihChp.hide();
776
					mnhnChp.show();
777
				} else if (acronymeAbr.equals("")) {
778
					ihChp.hide();
779
					mnhnChp.hide();
780
					comboAcronyme.clearSelections();
781
				}
782
			}
783
        });
784
		gauche.add(comboAcronyme);
785
 
786
		ihChp = new TextField<String>();
787
		//ihChp.setEmptyText("Index Herbariorum");
133 jpm 788
		ihChp.setTabIndex(102);
110 jpm 789
		ihChp.setLabelSeparator("");
790
		ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
791
		ihChp.hide();
792
		droite.add(ihChp);
793
 
133 jpm 794
		mnhnChp = new TextField<String>();
795
		mnhnChp.setTabIndex(103);
110 jpm 796
		//mnhnChp.setEmptyText("MNHN");
797
		mnhnChp.setLabelSeparator("");
798
		mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
799
		mnhnChp.hide();
800
		droite.add(mnhnChp);
801
 
802
		ligne.add(gauche, new ColumnData(0.5));
803
		ligne.add(droite, new ColumnData(0.5));
804
		fieldSetIdentite.add(ligne);
805
 
806
		// Création du sous-formulaire : Type de Structure
807
		LayoutContainer ligneTs = new LayoutContainer();
808
		ligneTs.setLayout(new ColumnLayout());
809
 
810
		LayoutContainer gaucheTs = new LayoutContainer();
811
		gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
812
 
813
		LayoutContainer droiteTs = new LayoutContainer();
814
		droiteTs.setLayout(creerFormLayout(0, null, 0));
815
 
816
		ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();
817
		typesStructure.add(InterneValeurListe.getTypeStructure());
818
 
133 jpm 819
		comboTypeStructure = new ComboBox<InterneValeur>();
820
		comboTypeStructure.setTabIndex(104);
110 jpm 821
		comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
822
		comboTypeStructure.setFieldLabel("Statut des structures");
823
		comboTypeStructure.setDisplayField("nom");
824
		comboTypeStructure.setStore(typesStructure);
825
		comboTypeStructure.setEditable(false);
826
		comboTypeStructure.setTypeAhead(true);
827
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
828
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
829
			@Override
830
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
831
				String typeAbr = se.getSelectedItem().getAbr();
832
				if (typeAbr.equals("stpu")) {
833
					comboLstpr.hide();
834
					comboLstpu.show();
835
				} else if (typeAbr.equals("stpr")) {
836
					comboLstpu.hide();
837
					comboLstpr.show();
838
				} else if (typeAbr.equals("")) {
839
					comboLstpr.hide();
840
					comboLstpu.hide();
841
					comboTypeStructure.clearSelections();
842
				}
843
			}
844
        });
845
		gaucheTs.add(comboTypeStructure);
846
 
119 jpm 847
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
110 jpm 848
		magazinLstpu = new ListStore<Valeur>();
849
		magazinLstpu.add(new ArrayList<Valeur>());
133 jpm 850
		comboLstpu = new ComboBox<Valeur>();
851
		comboLstpu.setTabIndex(105);
110 jpm 852
		//comboLstpu.setFieldLabel("Statut des structures publiques");
853
		comboLstpu.setLabelSeparator("");
854
		comboLstpu.setDisplayField("nom");
855
		comboLstpu.setEditable(false);
856
		comboLstpu.setTriggerAction(TriggerAction.ALL);
857
		comboLstpu.setStore(magazinLstpu);
858
		comboLstpu.hide();
859
		droiteTs.add(comboLstpu);
860
 
119 jpm 861
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
110 jpm 862
		magazinLstpr = new ListStore<Valeur>();
863
		magazinLstpr.add(new ArrayList<Valeur>());
133 jpm 864
		comboLstpr = new ComboBox<Valeur>();
865
		comboLstpr.setTabIndex(106);
110 jpm 866
		//comboLstpr.setFieldLabel("Statut des structures privées");
867
		comboLstpr.setLabelSeparator("");
868
		comboLstpr.setDisplayField("nom");
869
		comboLstpr.setEditable(false);
870
		comboLstpr.setTriggerAction(TriggerAction.ALL);
871
		comboLstpr.setStore(magazinLstpr);
872
		comboLstpr.hide();
873
		droiteTs.add(comboLstpr);
874
 
875
		ligneTs.add(gaucheTs, new ColumnData(0.5));
876
		ligneTs.add(droiteTs, new ColumnData(0.5));
877
		fieldSetIdentite.add(ligneTs);
878
 
119 jpm 879
		dateFondationChp = new DateField();
133 jpm 880
		dateFondationChp.setTabIndex(107);
110 jpm 881
		dateFondationChp.setFieldLabel("Date de fondation");
882
		dateFondationChp.getPropertyEditor().getFormat();
883
		dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
884
		dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
885
		fieldSetIdentite.add(dateFondationChp);
886
 
887
		identificationOnglet.add(fieldSetIdentite);
888
 
889
		//+-----------------------------------------------------------------------------------------------------------+
890
		// Fieldset ADRESSE
891
		LayoutContainer principalFdAdresse = new LayoutContainer();
892
		principalFdAdresse.setLayout(new ColumnLayout());
893
 
894
		LayoutContainer gaucheFdAdresse = new LayoutContainer();
895
		gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
896
 
897
		LayoutContainer droiteFdAdresse = new LayoutContainer();
898
		droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
899
 
900
		FieldSet fieldSetAdresse = new FieldSet();
901
		fieldSetAdresse.setHeading("Adresse");
902
		fieldSetAdresse.setCollapsible(true);
903
 
904
		fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
905
 
164 jp_milcent 906
		adrChp = new TextArea();
133 jpm 907
		adrChp.setTabIndex(108);
110 jpm 908
		adrChp.setFieldLabel("Adresse");
909
		fieldSetAdresse.add(adrChp, new FormData(550, 0));
910
 
133 jpm 911
		cpChp = new TextField<String>();
912
		cpChp.setTabIndex(109);
110 jpm 913
		cpChp.setFieldLabel("Code postal");
914
		gaucheFdAdresse.add(cpChp);
915
 
133 jpm 916
		villeChp = new TextField<String>();
917
		villeChp.setTabIndex(110);
110 jpm 918
		villeChp.setFieldLabel("Ville");
919
		droiteFdAdresse.add(villeChp);
920
 
133 jpm 921
		regionChp = new TextField<String>();
922
		regionChp.setTabIndex(111);
110 jpm 923
		regionChp.setFieldLabel("Région");
924
		gaucheFdAdresse.add(regionChp);
925
 
164 jp_milcent 926
		//paysChp = new TextField<String>();
927
		//paysChp.setTabIndex(112);
928
		//paysChp.setFieldLabel("Pays");
929
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays"));
930
		magazinPays = new ListStore<Valeur>();
931
		magazinPays.add(new ArrayList<Valeur>());
932
		comboPays = new ComboBox<Valeur>();
933
		comboPays.setTabIndex(112);
934
		comboPays.setFieldLabel("Pays");
172 jp_milcent 935
		comboPays.setEmptyText("Sélectioner un pays...");
164 jp_milcent 936
		comboPays.setEditable(true);
937
		comboPays.setLabelSeparator("");
938
		comboPays.setDisplayField("nom");
172 jp_milcent 939
		comboPays.setTemplate(getTemplatePays());
940
		comboPays.setTypeAhead(true);
164 jp_milcent 941
		comboPays.setTriggerAction(TriggerAction.ALL);
942
		comboPays.setStore(magazinPays);
943
		droiteFdAdresse.add(comboPays);
110 jpm 944
 
945
		principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
946
		principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
947
		fieldSetAdresse.add(principalFdAdresse);
948
		identificationOnglet.add(fieldSetAdresse);
949
 
950
		//+-----------------------------------------------------------------------------------------------------------+
951
		// Fieldset TÉLÉPHONE et EMAIL
952
		LayoutContainer principalFdTelMail = new LayoutContainer();
953
		principalFdTelMail.setLayout(new ColumnLayout());
954
 
955
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
956
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
957
 
958
		LayoutContainer droiteFdTelMail = new LayoutContainer();
959
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
960
 
961
		FieldSet fieldSetTelMail = new FieldSet();
962
		fieldSetTelMail.setHeading("Communication");
963
		fieldSetTelMail.setCollapsible(true);
964
 
965
		fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
966
 
133 jpm 967
		telChp = new TextField<String>();
968
		telChp.setTabIndex(113);
110 jpm 969
		telChp.setFieldLabel("Téléphone");
970
		gaucheFdTelMail.add(telChp);
971
 
133 jpm 972
		faxChp = new TextField<String>();
973
		faxChp.setTabIndex(114);
110 jpm 974
		faxChp.setFieldLabel("Fax");
975
		droiteFdTelMail.add(faxChp);
976
 
133 jpm 977
		emailChp = new TextField<String>();
978
		emailChp.setTabIndex(115);
110 jpm 979
		emailChp.setFieldLabel("Courriel");
980
		emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
981
		gaucheFdTelMail.add(emailChp);
982
 
133 jpm 983
		urlChp = new TextField<String>();
984
		urlChp.setTabIndex(116);
110 jpm 985
		urlChp.setFieldLabel("Site web");
986
		droiteFdTelMail.add(urlChp);
987
 
988
		principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
989
		principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
990
		fieldSetTelMail.add(principalFdTelMail);
991
		identificationOnglet.add(fieldSetTelMail);
992
 
993
		return identificationOnglet;
994
	}
995
 
172 jp_milcent 996
	private native String getTemplatePays() /*-{
997
		return  [
998
		'<tpl for=".">',
999
		'<div class="x-combo-list-item">{nom} ({abreviation})</div>',
1000
		'</tpl>'
1001
		].join("");
1002
		}-*/;
1003
 
108 jpm 1004
	/** Méthode simplifiant la création de FormLayout.
110 jpm 1005
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
108 jpm 1006
	 *
110 jpm 1007
	 * @param labelWidth largeur des labels.
108 jpm 1008
	 * @param labelAlign alignement des labels
1009
	 * @param padding padding du layout
1010
	 * @return
1011
	 */
1012
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
1013
		FormLayout formLayout = new FormLayout();
110 jpm 1014
		if (labelWidth != null) {
1015
			formLayout.setLabelWidth(labelWidth);
1016
		}
1017
		if (labelAlign != null) {
1018
			formLayout.setLabelAlign(labelAlign);
1019
		}
108 jpm 1020
		if (padding != null) {
1021
			formLayout.setPadding(padding);
1022
		}
1023
		return formLayout;
1024
	}
1025
 
109 jpm 1026
	/** Méthode simplifiant la création de bouton radio oui/non
1027
	 *
1028
	 * @param listeNom nom de la liste de valeur
1029
	 * @return
1030
	 */
115 jpm 1031
	private RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
1032
		groupeNom += "_grp";
1033
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
1034
		RadioGroup radioGroup = new RadioGroup(groupeNom);
1035
		radioGroup.setName(groupeNom);
119 jpm 1036
 
115 jpm 1037
		if (! listeNom.equals("ouiNon")) {
119 jpm 1038
			modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
115 jpm 1039
		} else {
1040
			ValeurListe ouiNonListe = new ValeurListe();
119 jpm 1041
			ouiNonListe.ajouter(new Valeur("000999", "Oui", "NULL", "NULL"));
1042
			ouiNonListe.ajouter(new Valeur("000998", "Non", "NULL", "NULL"));
115 jpm 1043
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
1044
		}
109 jpm 1045
 
115 jpm 1046
		return radioGroup;
109 jpm 1047
	}
1048
 
115 jpm 1049
	private void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
1050
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1051
			Valeur val = listeValeurs.get(it.next());
1052
 
1053
			Radio radioBtn = new Radio();
119 jpm 1054
			radioGroupe.add(radioBtn);
1055
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
115 jpm 1056
			//radioBtn.setId(val.getId()+"_"+radioBtn.getName());
1057
			radioBtn.setBoxLabel(val.getNom());
119 jpm 1058
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
115 jpm 1059
 
119 jpm 1060
				public void handleEvent(ComponentEvent be) {
133 jpm 1061
					//Window.alert(((Radio) be.component).getName());
1062
					afficherChampSupplementaire(((Radio) be.component));
115 jpm 1063
				}
1064
 
1065
			});
119 jpm 1066
 
115 jpm 1067
			if (! val.getDescription().equals("NULL")) {
1068
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1069
			}
1070
		}
1071
	}
1072
 
1073
	private void afficherChampSupplementaire(Radio radioBtn) {
119 jpm 1074
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
115 jpm 1075
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
1076
		String valeurPourAfficher = "oui";
111 jpm 1077
 
115 jpm 1078
		// Construction de la liste des composants à afficher/cacher
1079
		String radioGroupeNom = radioBtn.getGroup().getName();
1080
		ArrayList<Object> composants = new ArrayList<Object>();
1081
		if (radioGroupeNom.equals("action_mark_grp")) {
1082
			composants.add(actionTrukCp);
1083
		} else if (radioGroupeNom.equals("future_action_mark_grp")) {
1084
			composants.add(futureActionChp);
1085
		} else if (radioGroupeNom.equals("sans_motif_acces_mark_grp")) {
1086
			composants.add(sansMotifAccesChp);
1087
		} else if (radioGroupeNom.equals("avec_motif_acces_mark_grp")) {
1088
			composants.add(avecMotifAccesChp);
1089
		} else if (radioGroupeNom.equals("recherche_mark_grp")) {
1090
			composants.add(provenanceRechercheTrukCp);
119 jpm 1091
			composants.add(typeRechercheTrukCp);
115 jpm 1092
		} else if (radioGroupeNom.equals("formation_mark_grp")) {
1093
			composants.add(formationChp);
1094
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
1095
			composants.add(collectionAutreTrukCp);
1096
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
1097
			composants.add(opRestauTrukCp);
1098
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
1099
			composants.add(traitementTrukCp);
1100
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
1101
			composants.add(traitementAcquisitionMarkRGrpChp);
1102
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
1103
			composants.add(traitementAcquisitionMarkLabel);
1104
			composants.add(poisonTraitementTrukCp);
1105
			composants.add(insecteTraitementTrukCp);
1106
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
1107
			composants.add(autreMaterielTrukCp);
1108
			valeurPourAfficher = "non";
1109
		}
111 jpm 1110
 
115 jpm 1111
		// Nous affichons/cachons les composant de la liste
1112
		final int tailleMax = composants.size();
1113
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
119 jpm 1114
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
111 jpm 1115
		for (int i = 0; i < tailleMax; i++) {
1116
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
115 jpm 1117
			String type = radioBtn.getBoxLabel().toLowerCase();
119 jpm 1118
			//GWT.log(type, null);
115 jpm 1119
			if (radioBtn.getValue() == true) {
1120
				if (type.equals(valeurPourAfficher)) {
1121
					((Component) composants.get(i)).show();
1122
				} else {
1123
					((Component) composants.get(i)).hide();
1124
				}
111 jpm 1125
			}
1126
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
115 jpm 1127
			if (composants.get(i) instanceof ContentPanel) {
1128
				((ContentPanel) composants.get(i)).layout();
111 jpm 1129
			}
1130
		}
1131
 
1132
	}
1133
 
109 jpm 1134
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1135
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1136
	 * Ajoute ou pas un champ "Autre".
1137
	 *
1138
	 * @param listeNom nom de la liste de valeur
1139
	 * @return
1140
	 */
1141
	private ContentPanel creerChoixMultipleCp(String listeNom) {
119 jpm 1142
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
109 jpm 1143
		ContentPanel cp = new ContentPanel();
1144
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
1145
		cp.setHeaderVisible(false);
1146
		return cp;
1147
	}
1148
 
1149
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1150
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1151
	 * Ajoute ou pas un champ "Autre".
1152
	 *
1153
	 * @param cp panneau conteant le groupe de case à cocher
1154
	 * @param cacGroup le groupe de case à cocher
1155
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
1156
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître
1157
	 * @return
1158
	 */
115 jpm 1159
	private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, ValeurListe listeValeurs, Boolean boolAutreChp) {
110 jpm 1160
		cacGroupe.setAutoWidth(true);
109 jpm 1161
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
111 jpm 1162
			Valeur val = listeValeurs.get(it.next());
1163
			String nom =  val.get("nom");
109 jpm 1164
			CheckBox cac = new CheckBox();
115 jpm 1165
			cac.setId("val-"+val.getId());
111 jpm 1166
			cac.setBoxLabel(nom);
1167
			if (! val.getDescription().equals("NULL")) {
1168
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
109 jpm 1169
			}
1170
			cacGroupe.add(cac);
1171
		}
1172
		cp.add(cacGroupe);
1173
 
1174
		if (boolAutreChp == true) {
1175
			ContentPanel autreCp = new ContentPanel();
1176
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
1177
			autreCp.setHeaderVisible(false);
119 jpm 1178
			TextField<String> autreChp = new TextField<String>();
1179
			autreChp.setFieldLabel("Autre");
1180
			autreChp.setLabelStyle("font-weight:normal;");
1181
			autreCp.add(autreChp);
109 jpm 1182
			cp.add(autreCp);
1183
		}
1184
 
1185
		cp.layout();
1186
	}
1187
 
69 jpm 1188
	public void rafraichir(Object nouvelleDonnees) {
153 jpm 1189
		if (nouvelleDonnees instanceof Information) {
1190
			Information info = (Information) nouvelleDonnees;
156 jp_milcent 1191
			if (info.getMessages() != null) {
1192
				GWT.log(info.getMessages().toString(), null);
1193
			}
172 jp_milcent 1194
			if (info.getType().equals("modif_structure")) {
1195
				Info.display("Modification d'une institution", info.toString());
1196
			} else if (info.getType().equals("ajout_structure")) {
153 jpm 1197
				Info.display("Ajout d'une Institution", info.toString());
156 jp_milcent 1198
			} else if (info.getType().equals("selection_structure")) {
172 jp_milcent 1199
				Info.display("Modification d'une institution", info.toString());
156 jp_milcent 1200
				Structure str = (Structure) info.getDonnee(0);
1201
				mode = "MODIF";
172 jp_milcent 1202
				GWT.log(mode, null);
1203
				structureFormPanneau.setHeading(i18nC.titreModifFormStructurePanneau()+" - ID : "+str.getId());
156 jp_milcent 1204
				peuplerFormulaire(str);
153 jpm 1205
			}
119 jpm 1206
		} else if (nouvelleDonnees instanceof ValeurListe) {
91 jpm 1207
			ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
1208
 
1209
			List<Valeur> liste = new ArrayList<Valeur>();
1210
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1211
				liste.add(listeValeurs.get(it.next()));
1212
			}
1213
			// Test pour savoir si la liste contient des éléments
1214
			if (liste.size() > 0) {
1215
				Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
1216
				if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
1217
					magazinLstpr.removeAll();
1218
					magazinLstpr.add(liste);
1219
					comboLstpr.setStore(magazinLstpr);
1220
				}
1221
				if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
1222
					magazinLstpu.removeAll();
1223
					magazinLstpu.add(liste);
1224
					comboLstpu.setStore(magazinLstpu);
1225
				}
103 jpm 1226
				if (listeValeurs.getId().equals(config.getListeId("statut"))) {
1227
					magazinLiStatut.removeAll();
1228
					magazinLiStatut.add(liste);
1229
					comboLiStatut.setStore(magazinLiStatut);
1230
				}
1231
				if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
1232
					magazinLiFonction.removeAll();
1233
					magazinLiFonction.add(liste);
1234
					comboLiFonction.setStore(magazinLiFonction);
1235
				}
164 jp_milcent 1236
				if (listeValeurs.getId().equals(config.getListeId("pays"))) {
1237
					magazinPays.removeAll();
1238
					magazinPays.add(liste);
1239
					comboPays.setStore(magazinPays);
1240
				}
108 jpm 1241
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
115 jpm 1242
					creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, true);
108 jpm 1243
				}
1244
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
115 jpm 1245
					creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, true);
108 jpm 1246
				}
109 jpm 1247
				if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
115 jpm 1248
					creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, true);
109 jpm 1249
				}
110 jpm 1250
				if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
111 jpm 1251
					if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
1252
						collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
115 jpm 1253
						creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, true);
111 jpm 1254
					}
1255
					if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
119 jpm 1256
						autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
1257
						creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, true);
111 jpm 1258
					}
110 jpm 1259
				}
1260
				if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
115 jpm 1261
					creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, true);
110 jpm 1262
				}
1263
				if (listeValeurs.getId().equals(config.getListeId("onep"))) {
115 jpm 1264
					creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
110 jpm 1265
				}
1266
				if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
115 jpm 1267
					creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, true);
110 jpm 1268
				}
1269
				if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
115 jpm 1270
					creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, true);
110 jpm 1271
				}
1272
				if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
115 jpm 1273
					if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
1274
						traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
1275
						creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, true);
110 jpm 1276
					}
115 jpm 1277
					if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
1278
						insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
1279
						creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, true);
110 jpm 1280
					}
1281
				}
111 jpm 1282
				if (listeValeurs.getId().equals(config.getListeId("actionValorisation"))) {
115 jpm 1283
					creerChoixMultipleCac(actionTrukCp, actionTrukCacGrpChp, listeValeurs, true);
111 jpm 1284
				}
1285
				if (listeValeurs.getId().equals(config.getListeId("continentEtFr"))) {
115 jpm 1286
					creerChoixMultipleCac(provenanceRechercheTrukCp, provenanceRechercheTrukCacGrpChp, listeValeurs, true);
111 jpm 1287
				}
1288
				if (listeValeurs.getId().equals(config.getListeId("typeRecherche"))) {
119 jpm 1289
					creerChoixMultipleCac(typeRechercheTrukCp, typeRechercheTrukCacGrpChp, listeValeurs, true);
111 jpm 1290
				}
110 jpm 1291
				//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
91 jpm 1292
			} else {
1293
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
1294
			}
1295
		}
69 jpm 1296
	}
100 jpm 1297
 
115 jpm 1298
}