Subversion Repositories eFlore/Applications.coel

Rev

Rev 109 | Rev 111 | Go to most recent revision | Details | Compare with Previous | 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
 
91 jpm 7
import org.tela_botanica.client.Modele;
8
import org.tela_botanica.client.RegistreId;
69 jpm 9
import org.tela_botanica.client.interfaces.Rafraichissable;
91 jpm 10
import org.tela_botanica.client.modeles.Configuration;
100 jpm 11
import org.tela_botanica.client.modeles.InterneValeur;
12
import org.tela_botanica.client.modeles.InterneValeurListe;
102 jpm 13
import org.tela_botanica.client.modeles.Personne;
91 jpm 14
import org.tela_botanica.client.modeles.Valeur;
15
import org.tela_botanica.client.modeles.ValeurListe;
69 jpm 16
 
91 jpm 17
import com.extjs.gxt.ui.client.Registry;
69 jpm 18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
110 jpm 19
import com.extjs.gxt.ui.client.Style.Scroll;
100 jpm 20
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
21
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
103 jpm 22
import com.extjs.gxt.ui.client.event.SelectionListener;
23
import com.extjs.gxt.ui.client.event.ToolBarEvent;
69 jpm 24
import com.extjs.gxt.ui.client.store.ListStore;
102 jpm 25
import com.extjs.gxt.ui.client.widget.ContentPanel;
69 jpm 26
import com.extjs.gxt.ui.client.widget.LayoutContainer;
100 jpm 27
import com.extjs.gxt.ui.client.widget.TabItem;
28
import com.extjs.gxt.ui.client.widget.TabPanel;
69 jpm 29
import com.extjs.gxt.ui.client.widget.button.Button;
108 jpm 30
import com.extjs.gxt.ui.client.widget.form.CheckBox;
31
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
69 jpm 32
import com.extjs.gxt.ui.client.widget.form.ComboBox;
100 jpm 33
import com.extjs.gxt.ui.client.widget.form.DateField;
34
import com.extjs.gxt.ui.client.widget.form.FieldSet;
69 jpm 35
import com.extjs.gxt.ui.client.widget.form.FormPanel;
103 jpm 36
import com.extjs.gxt.ui.client.widget.form.LabelField;
102 jpm 37
import com.extjs.gxt.ui.client.widget.form.NumberField;
109 jpm 38
import com.extjs.gxt.ui.client.widget.form.Radio;
39
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
69 jpm 40
import com.extjs.gxt.ui.client.widget.form.TextField;
41
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
42
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
102 jpm 43
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
44
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
45
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
46
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
47
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
48
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
69 jpm 49
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
50
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
51
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
52
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
100 jpm 53
import com.extjs.gxt.ui.client.widget.layout.FormData;
69 jpm 54
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
110 jpm 55
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
102 jpm 56
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
57
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
58
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
91 jpm 59
import com.google.gwt.core.client.GWT;
100 jpm 60
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 61
import com.google.gwt.i18n.client.NumberFormat;
69 jpm 62
 
63
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
64
 
91 jpm 65
	private Modele coelModele = null ;
66
	private ListStore<Valeur> magazinLstpr = null;
67
	private ComboBox<Valeur> comboLstpr = null;
68
	private ListStore<Valeur> magazinLstpu = null;
69
	private ComboBox<Valeur> comboLstpu = null;
103 jpm 70
	private ListStore<Valeur> magazinLiStatut = null;
71
	private ComboBox<Valeur> comboLiStatut = null;
72
	private ListStore<Valeur> magazinLiFonction = null;
73
	private ComboBox<Valeur> comboLiFonction = null;
100 jpm 74
	private ComboBox<InterneValeur> comboAcronyme = null;
75
	private TextField<String> ihChp = null;
76
	private TextField<String> mnhnChp = null;
77
	private ComboBox<InterneValeur> comboTypeStructure = null;
108 jpm 78
	private TabItem personnelOnglet = null;
103 jpm 79
	private EditorGrid<Personne> grillePersonnel = null;
80
	private ListStore<Personne> personnelGrilleMagazin = null;
81
	private LabelField nbreTotalPersonnelChp = null;
108 jpm 82
	private TabItem conservationOnglet = null;
83
	private CheckBoxGroup trukLocalStockageCacGrpChp = null;
84
	private ContentPanel trukLocalStockageCp = null;
85
	private CheckBoxGroup trukMeubleStockageCacGrpChp = null;
86
	private ContentPanel trukMeubleStockageCp = null;
109 jpm 87
	private CheckBoxGroup trukParametreStockageCacGrpChp = null;
88
	private ContentPanel trukParametreStockageCp = null;
110 jpm 89
	private ContentPanel trukCollectionAutreCp = null;
90
	private CheckBoxGroup trukCollectionAutreCacGrpChp = null;
91
	private CheckBoxGroup trukOpRestauCacGrpChp = null;
92
	private ContentPanel trukOpRestauCp = null;
93
	private ContentPanel ceMaterielConservationCp = null;
94
	private CheckBoxGroup ceMaterielConservationCacGrpChp = null;
95
	private CheckBoxGroup trukAutreMaterielCacGrpChp = null;
96
	private ContentPanel trukAutreMaterielCp = null;
97
	private ContentPanel trukTraitementCp = null;
98
	private CheckBoxGroup trukTraitementCacGrpChp = null;
99
	private ContentPanel trukPoisonTraitementCp;
100
	private ContentPanel trukInsecteTraitementCp;
101
	private CheckBoxGroup trukInsecteTraitementCacGrpChp;
102
	private CheckBoxGroup trukPoisonTraitementCacGrpChp;
91 jpm 103
 
69 jpm 104
	public FormStructureVue() {
100 jpm 105
		//+-----------------------------------------------------------------------------------------------------------+
106
		// Initialisation de variables
69 jpm 107
		setLayout(new FitLayout());
91 jpm 108
		coelModele = Registry.get(RegistreId.MODELE);
109
 
100 jpm 110
		//+-----------------------------------------------------------------------------------------------------------+
110 jpm 111
		// Création du panneau du FORMULAIRE GÉNÉRAL
69 jpm 112
		FormPanel panel = new FormPanel();
100 jpm 113
		panel.setFrame(true);
69 jpm 114
		panel.setIconStyle("icone-form-ajouter");
115
		panel.setCollapsible(false);
116
		panel.setHeading("Ajout d'une institution");
117
		panel.setButtonAlign(HorizontalAlignment.CENTER);
100 jpm 118
		panel.setLayout(new FlowLayout());
119
 
110 jpm 120
		//+-----------------------------------------------------------------------------------------------------------+
100 jpm 121
		// Création des onglets
102 jpm 122
		TabPanel onglets = new TabPanel();
110 jpm 123
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
124
		onglets.setHeight("100%");
69 jpm 125
 
100 jpm 126
		//+-----------------------------------------------------------------------------------------------------------+
127
		// Onlget formulaire IDENTIFICATION
110 jpm 128
		onglets.add(creerOngletIdentification());
69 jpm 129
 
100 jpm 130
		//+-----------------------------------------------------------------------------------------------------------+
131
		// Onlget formulaire PERSONNEL
103 jpm 132
		onglets.add(creerOngletPersonnel());
91 jpm 133
 
100 jpm 134
		//+-----------------------------------------------------------------------------------------------------------+
135
		// Onlget formulaire CONSERVATION
108 jpm 136
		onglets.add(creerOngletConservation());
137
		onglets.setSelection(conservationOnglet);
100 jpm 138
 
139
		//+-----------------------------------------------------------------------------------------------------------+
140
		// Onlget formulaire VALORISATION
141
		TabItem valorisationOnglet = new TabItem();
142
		valorisationOnglet.setText("Valorisation");
143
		valorisationOnglet.setLayout(new FormLayout());
144
		onglets.add(valorisationOnglet);
145
 
146
		//+-----------------------------------------------------------------------------------------------------------+
147
		// Gestion du FORMULAIRE GÉNÉRAL
148
 
149
		// Ajout des onglets
150
		panel.add(onglets);
69 jpm 151
 
152
		// Ajout des boutons au panneau formulaire
153
		Button annulerBtn = new Button("Annuler");
154
		panel.addButton(annulerBtn);
155
		Button validerBtn = new Button("Valider");
156
		panel.addButton(validerBtn);
157
 
158
		// Ajout du panneau Formulaire à la disposition générale
159
		add(panel);
160
	}
108 jpm 161
 
162
	private TabItem creerOngletConservation() {
163
		conservationOnglet = new TabItem();
164
		conservationOnglet.setText("Conservation");
110 jpm 165
		conservationOnglet.setScrollMode(Scroll.AUTO);
108 jpm 166
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
167
 
109 jpm 168
		RadioGroup markFormationRGrpChp = new RadioGroup("mark_formation_grp");
169
		markFormationRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
170
		creerChoixUniqueBr(markFormationRGrpChp, "mark_formation");
171
		conservationOnglet.add(markFormationRGrpChp);
108 jpm 172
 
173
		TextField<String> formationChp = new TextField<String>();
174
		formationChp.setFieldLabel("Lesquelles ?");
175
		conservationOnglet.add(formationChp);
176
 
109 jpm 177
		RadioGroup markInteretFormationRGrpChp = new RadioGroup("mark_interet_formation_grp");
178
		markInteretFormationRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
179
		creerChoixUniqueBr(markInteretFormationRGrpChp, "mark_interet_formation_grp");
180
		conservationOnglet.add(markInteretFormationRGrpChp);
108 jpm 181
 
109 jpm 182
		trukLocalStockageCp = creerChoixMultipleCp("localStockage");
108 jpm 183
		conservationOnglet.add(trukLocalStockageCp);
184
 
109 jpm 185
		trukMeubleStockageCp = creerChoixMultipleCp("meubleStockage");
108 jpm 186
		conservationOnglet.add(trukMeubleStockageCp);
187
 
109 jpm 188
		trukParametreStockageCp = creerChoixMultipleCp("parametreStockage");
189
		conservationOnglet.add(trukParametreStockageCp);
190
 
191
		RadioGroup markCollectionCommuneRGrpChp = new RadioGroup("mark_collection_commune_grp");
192
		markCollectionCommuneRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
193
		creerChoixUniqueBr(markCollectionCommuneRGrpChp, "mark_collection_commune");
194
		conservationOnglet.add(markCollectionCommuneRGrpChp);
195
 
110 jpm 196
		trukCollectionAutreCp = creerChoixMultipleCp("autreCollection");
197
		conservationOnglet.add(trukCollectionAutreCp);
198
 
199
		RadioGroup markAccesControleRGrpChp = new RadioGroup("mark_acces_controle_grp");
200
		markAccesControleRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
201
		creerChoixUniqueBr(markAccesControleRGrpChp, "mark_acces_controle");
202
		conservationOnglet.add(markAccesControleRGrpChp);
203
 
204
		RadioGroup markRestaurationRGrpChp = new RadioGroup("restauration_grp");
205
		markRestaurationRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
206
		creerChoixUniqueBr(markRestaurationRGrpChp, "mark_restauration");
207
		conservationOnglet.add(markRestaurationRGrpChp);
208
 
209
		trukOpRestauCp = creerChoixMultipleCp("opRestau");
210
		conservationOnglet.add(trukOpRestauCp);
211
 
212
		ceMaterielConservationCp = creerChoixMultipleCp("onep");
213
		conservationOnglet.add(ceMaterielConservationCp);
214
 
215
		trukAutreMaterielCp = creerChoixMultipleCp("autreMateriel");
216
		conservationOnglet.add(trukAutreMaterielCp);
217
 
218
		RadioGroup markTraitementRGrpChp = new RadioGroup("traitement_grp");
219
		markTraitementRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
220
		creerChoixUniqueBr(markTraitementRGrpChp, "mark_traitement");
221
		conservationOnglet.add(markTraitementRGrpChp);
222
 
223
		trukTraitementCp = creerChoixMultipleCp("insecteTraitement");
224
		conservationOnglet.add(trukTraitementCp);
225
 
226
		RadioGroup markCollectionAcquisitionRGrpChp = new RadioGroup("collection_acquisition_grp");
227
		markCollectionAcquisitionRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
228
		creerChoixUniqueBr(markCollectionAcquisitionRGrpChp, "mark_collection_acquisition");
229
		conservationOnglet.add(markCollectionAcquisitionRGrpChp);
230
 
231
		RadioGroup markEchantillonAcquisitionRGrpChp = new RadioGroup("echantillon_acquisition_grp");
232
		markEchantillonAcquisitionRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
233
		creerChoixUniqueBr(markEchantillonAcquisitionRGrpChp, "mark_echantillon_acquisition");
234
		conservationOnglet.add(markEchantillonAcquisitionRGrpChp);
235
 
236
		RadioGroup markTraitementAcquisitionRGrpChp = new RadioGroup("traitement_acquisition_grp");
237
		markTraitementAcquisitionRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
238
		creerChoixUniqueBr(markTraitementAcquisitionRGrpChp, "mark_traitement_acquisition");
239
		conservationOnglet.add(markTraitementAcquisitionRGrpChp);
240
 
241
		LabelField question = new LabelField();
242
		question.setFieldLabel("Si oui, lesquels ?");
243
		conservationOnglet.add(question);
244
 
245
		trukPoisonTraitementCp = creerChoixMultipleCp("poisonTraitement");
246
		conservationOnglet.add(trukPoisonTraitementCp);
247
 
248
		trukInsecteTraitementCp = creerChoixMultipleCp("insecteTraitement");
249
		conservationOnglet.add(trukInsecteTraitementCp);
250
 
108 jpm 251
		return conservationOnglet;
252
	}
253
 
254
 
103 jpm 255
	private TabItem creerOngletPersonnel() {
108 jpm 256
		personnelOnglet = new TabItem();
103 jpm 257
		personnelOnglet.setText("Personnel");
110 jpm 258
		personnelOnglet.setScrollMode(Scroll.AUTO);
259
		personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, null));
103 jpm 260
 
261
		NumberField nbreTotalPersonneStructureChp = new NumberField();
262
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
263
		nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
264
		nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
265
		personnelOnglet.add(nbreTotalPersonneStructureChp);
266
 
267
		personnelOnglet.add(this.creerGrillePersonnel());
268
 
269
		nbreTotalPersonnelChp = new LabelField();
270
		nbreTotalPersonnelChp.setFieldLabel("Nombre de personne travaillant sur les collections");
271
		nbreTotalPersonnelChp.setLabelSeparator(":");
272
		nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
273
		personnelOnglet.add(nbreTotalPersonnelChp);
274
 
275
		return personnelOnglet;
276
	}
277
 
102 jpm 278
	private ContentPanel creerGrillePersonnel() {
103 jpm 279
 
102 jpm 280
		List<Personne> personnes = new ArrayList<Personne>();
281
		personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));
282
		personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));
283
 
103 jpm 284
		personnelGrilleMagazin = new ListStore<Personne>();
285
		personnelGrilleMagazin.add(personnes);
286
 
102 jpm 287
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
288
 
289
		CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();
290
		configs.add(sm.getColumn());
103 jpm 291
 
292
		ColumnConfig column = new ColumnConfig("ce_truk_fonction", "Fonction", 100);
293
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
294
		magazinLiFonction = new ListStore<Valeur>();
295
		magazinLiFonction.add(new ArrayList<Valeur>());
296
 
297
		comboLiFonction = new ComboBox<Valeur>();
298
		comboLiFonction.setTriggerAction(TriggerAction.ALL);
299
		comboLiFonction.setEditable(true);
300
		comboLiFonction.setDisplayField("nom");
301
		//comboLiStatut.setEmptyText("Sélectionez une fonction...");
302
		comboLiFonction.setStore(magazinLiFonction);
303
 
304
		CellEditor fonctionEditor = new CellEditor(comboLiFonction) {
305
			@Override
306
			public Object preProcessValue(Object value) {
307
				if (value == null) {
308
					return value;
309
				}
310
				//GWT.log("pre : "+value.toString(), null);
311
				return comboLiFonction.getStore().findModel("nom", (String) value);
312
			}
313
 
314
			@Override
315
			public Object postProcessValue(Object value) {
316
				if (value == null) {
317
					return value;
318
				}
319
				//GWT.log("post : "+value.toString(), null);
320
				return ((Valeur) value).get("nom");
321
			}
322
		};
323
		column.setEditor(fonctionEditor);
102 jpm 324
		configs.add(column);
325
 
326
		column = new ColumnConfig();
327
		column.setId("prenom");
103 jpm 328
		column.setHeader("Prénom");
329
		column.setWidth(100);
330
		TextField<String> prenomChp = new TextField<String>();
331
		prenomChp.setAllowBlank(false);
332
		prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
333
		prenomChp.setAutoValidate(true);
334
		column.setEditor(new CellEditor(prenomChp));
102 jpm 335
		configs.add(column);
336
 
337
		column = new ColumnConfig();
338
		column.setId("nom");
339
		column.setHeader("Nom");
103 jpm 340
		column.setWidth(100);
341
		TextField<String> nomChp = new TextField<String>();
342
		nomChp.setAllowBlank(false);
343
		nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
344
		nomChp.setAutoValidate(true);
345
		column.setEditor(new CellEditor(nomChp));
102 jpm 346
		configs.add(column);
347
 
103 jpm 348
		column = new ColumnConfig("tel", "Téléphone", 100);
349
		TextField<String> telChp = new TextField<String>();
350
		column.setEditor(new CellEditor(telChp));
102 jpm 351
		configs.add(column);
352
 
353
		column = new ColumnConfig("fax", "Fax", 100);
103 jpm 354
		TextField<String> faxChp = new TextField<String>();
355
		column.setEditor(new CellEditor(faxChp));
102 jpm 356
		configs.add(column);
357
 
103 jpm 358
		column = new ColumnConfig("courriel", "Courriel", 100);
359
		TextField<String> emailChp = new TextField<String>();
360
		column.setEditor(new CellEditor(emailChp));
102 jpm 361
		configs.add(column);
362
 
103 jpm 363
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
364
		magazinLiStatut = new ListStore<Valeur>();
365
		magazinLiStatut.add(new ArrayList<Valeur>());
366
 
367
		comboLiStatut = new ComboBox<Valeur>();
368
		comboLiStatut.setTriggerAction(TriggerAction.ALL);
369
		comboLiStatut.setEditable(false);
370
		comboLiStatut.setDisplayField("nom");
371
		comboLiStatut.setEmptyText("Sélectionez un statut...");
372
		comboLiStatut.setStore(magazinLiStatut);
373
 
374
		CellEditor statutEditor = new CellEditor(comboLiStatut) {
375
			@Override
376
			public Object preProcessValue(Object value) {
377
				if (value == null) {
378
					return value;
379
				}
380
				//GWT.log("pre : "+value.toString(), null);
381
				return comboLiStatut.getStore().findModel("nom", (String) value);
382
			}
383
 
384
			@Override
385
			public Object postProcessValue(Object value) {
386
				if (value == null) {
387
					return value;
388
				}
389
				//GWT.log("post : "+value.toString(), null);
390
				return ((Valeur) value).get("nom");
391
			}
392
		};
393
		column = new ColumnConfig("statut", "Statut", 100);
394
		column.setEditor(statutEditor);
102 jpm 395
		configs.add(column);
396
 
103 jpm 397
		column = new ColumnConfig("tps_w", "Temps travail", 100);
398
		column.setNumberFormat(NumberFormat.getFormat("##"));
399
		NumberField tpsWChp = new NumberField();
400
		tpsWChp.setFormat(NumberFormat.getFormat("##"));
401
		tpsWChp.setToolTip("Ce champ doit contenir un nombre");
402
		column.setEditor(new CellEditor(tpsWChp));
403
		configs.add(column);
404
 
405
		column = new ColumnConfig("specialites", "Spécialités botaniques", 150);
406
		TextField<String> speChp = new TextField<String>();
407
		column.setEditor(new CellEditor(speChp));
408
		configs.add(column);
409
 
410
		CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 60);
102 jpm 411
		configs.add(checkColumn);
412
 
413
		ContentPanel cp = new ContentPanel();
414
		cp.setHeading("Personnes travaillant sur les collections");
110 jpm 415
		cp.setIconStyle("icone-table");
416
		cp.setScrollMode(Scroll.AUTO);
103 jpm 417
		cp.setLayout(new FitLayout());
110 jpm 418
		cp.setSize(1100, 200);
102 jpm 419
		cp.setFrame(true);
420
 
421
		ToolBar toolBar = new ToolBar();
103 jpm 422
 
423
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
424
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
425
			@Override
426
			public void componentSelected(ToolBarEvent ce) {
427
				Personne personne = new Personne();
428
				grillePersonnel.stopEditing();
429
				personnelGrilleMagazin.insert(personne, 0);
430
				grillePersonnel.startEditing(0, 0);
431
				// Mise à jour du nombre de personnel travaillant sur les collections
432
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
433
				// Activation du bouton supprimer si la grille contient un élément
434
				if (grillePersonnel.getStore().getCount() > 0) {
435
					ce.component.enable();
436
				}
437
			}
438
		});
439
		toolBar.add(ajouterPersonnelBtn);
440
		toolBar.add(new SeparatorToolItem());
441
		TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
442
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
443
			@Override
444
			public void componentSelected(ToolBarEvent ce) {
445
				grillePersonnel.getStore().remove(grillePersonnel.getStore().getAt(0));
446
				// Mise à jour du nombre de personnel travaillant sur les collections
447
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
448
				// Désactivation du bouton supprimer si la grille contient plus d'élément
449
				if (grillePersonnel.getStore().getCount() == 0) {
450
					ce.item.disable();
451
				}
452
			}
453
		});
454
		toolBar.add(supprimerPersonnelBtn);
102 jpm 455
		cp.setTopComponent(toolBar);
456
 
457
		ColumnModel cm = new ColumnModel(configs);
458
 
103 jpm 459
		grillePersonnel = new EditorGrid<Personne>(personnelGrilleMagazin, cm);
460
		grillePersonnel.setBorders(true);
461
		grillePersonnel.setSelectionModel(sm);
462
		grillePersonnel.addPlugin(sm);
463
		grillePersonnel.addPlugin(checkColumn);
110 jpm 464
  		grillePersonnel.setAutoExpandColumn("specialites");
102 jpm 465
 
103 jpm 466
		cp.add(grillePersonnel);
102 jpm 467
		return cp;
468
	}
469
 
110 jpm 470
	private TabItem creerOngletIdentification() {
471
		//+-----------------------------------------------------------------------------------------------------------+
472
		// Onlget formulaire IDENTIFICATION
473
		TabItem identificationOnglet = new TabItem();
474
		identificationOnglet.setText("Identification");
475
		identificationOnglet.setLayout(new FormLayout());
476
 
477
		//+-----------------------------------------------------------------------------------------------------------+
478
		// Fieldset IDENTITÉ
479
		FieldSet fieldSetIdentite = new FieldSet();
480
		fieldSetIdentite.setHeading("Identité");
481
		fieldSetIdentite.setCollapsible(true);
482
		fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
483
 
484
		TextField<String> nomStructureChp = new TextField<String>();
485
		nomStructureChp.setFieldLabel("Nom de la structure");
486
		nomStructureChp.setAllowBlank(false);
487
		nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
488
		fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
489
 
490
		// Création du sous-formulaire : Acronyme
491
		LayoutContainer ligne = new LayoutContainer();
492
		ligne.setLayout(new ColumnLayout());
493
		LayoutContainer gauche = new LayoutContainer();
494
		gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
495
		LayoutContainer droite = new LayoutContainer();
496
		droite.setLayout(creerFormLayout(0, null, 0));
497
 
498
		ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();
499
		acronymes.add(InterneValeurListe.getTypeAcronyme());
500
 
501
		comboAcronyme = new ComboBox<InterneValeur>();
502
		comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
503
		comboAcronyme.setFieldLabel("Acronymes");
504
		comboAcronyme.setDisplayField("nom");
505
		comboAcronyme.setStore(acronymes);
506
		comboAcronyme.setEditable(false);
507
		comboAcronyme.setTypeAhead(true);
508
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
509
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
510
			@Override
511
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
512
				String acronymeAbr = se.getSelectedItem().getAbr();
513
				if (acronymeAbr.equals("IH")) {
514
					mnhnChp.hide();
515
					ihChp.show();
516
				} else if (acronymeAbr.equals("MNHN")) {
517
					ihChp.hide();
518
					mnhnChp.show();
519
				} else if (acronymeAbr.equals("")) {
520
					ihChp.hide();
521
					mnhnChp.hide();
522
					comboAcronyme.clearSelections();
523
				}
524
			}
525
        });
526
		gauche.add(comboAcronyme);
527
 
528
		ihChp = new TextField<String>();
529
		//ihChp.setEmptyText("Index Herbariorum");
530
		ihChp.setLabelSeparator("");
531
		ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
532
		ihChp.hide();
533
		droite.add(ihChp);
534
 
535
		mnhnChp = new TextField<String>();
536
		//mnhnChp.setEmptyText("MNHN");
537
		mnhnChp.setLabelSeparator("");
538
		mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
539
		mnhnChp.hide();
540
		droite.add(mnhnChp);
541
 
542
		ligne.add(gauche, new ColumnData(0.5));
543
		ligne.add(droite, new ColumnData(0.5));
544
		fieldSetIdentite.add(ligne);
545
 
546
		// Création du sous-formulaire : Type de Structure
547
		LayoutContainer ligneTs = new LayoutContainer();
548
		ligneTs.setLayout(new ColumnLayout());
549
 
550
		LayoutContainer gaucheTs = new LayoutContainer();
551
		gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
552
 
553
		LayoutContainer droiteTs = new LayoutContainer();
554
		droiteTs.setLayout(creerFormLayout(0, null, 0));
555
 
556
		ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();
557
		typesStructure.add(InterneValeurListe.getTypeStructure());
558
 
559
		this.comboTypeStructure = new ComboBox<InterneValeur>();
560
		comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
561
		comboTypeStructure.setFieldLabel("Statut des structures");
562
		comboTypeStructure.setDisplayField("nom");
563
		comboTypeStructure.setStore(typesStructure);
564
		comboTypeStructure.setEditable(false);
565
		comboTypeStructure.setTypeAhead(true);
566
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
567
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
568
			@Override
569
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
570
				String typeAbr = se.getSelectedItem().getAbr();
571
				if (typeAbr.equals("stpu")) {
572
					comboLstpr.hide();
573
					comboLstpu.show();
574
				} else if (typeAbr.equals("stpr")) {
575
					comboLstpu.hide();
576
					comboLstpr.show();
577
				} else if (typeAbr.equals("")) {
578
					comboLstpr.hide();
579
					comboLstpu.hide();
580
					comboTypeStructure.clearSelections();
581
				}
582
			}
583
        });
584
		gaucheTs.add(comboTypeStructure);
585
 
586
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
587
		magazinLstpu = new ListStore<Valeur>();
588
		magazinLstpu.add(new ArrayList<Valeur>());
589
		comboLstpu = new ComboBox<Valeur>();
590
		//comboLstpu.setFieldLabel("Statut des structures publiques");
591
		comboLstpu.setLabelSeparator("");
592
		comboLstpu.setDisplayField("nom");
593
		comboLstpu.setEditable(false);
594
		comboLstpu.setTriggerAction(TriggerAction.ALL);
595
		comboLstpu.setStore(magazinLstpu);
596
		comboLstpu.hide();
597
		droiteTs.add(comboLstpu);
598
 
599
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
600
		magazinLstpr = new ListStore<Valeur>();
601
		magazinLstpr.add(new ArrayList<Valeur>());
602
		comboLstpr = new ComboBox<Valeur>();
603
		//comboLstpr.setFieldLabel("Statut des structures privées");
604
		comboLstpr.setLabelSeparator("");
605
		comboLstpr.setDisplayField("nom");
606
		comboLstpr.setEditable(false);
607
		comboLstpr.setTriggerAction(TriggerAction.ALL);
608
		comboLstpr.setStore(magazinLstpr);
609
		comboLstpr.hide();
610
		droiteTs.add(comboLstpr);
611
 
612
		ligneTs.add(gaucheTs, new ColumnData(0.5));
613
		ligneTs.add(droiteTs, new ColumnData(0.5));
614
		fieldSetIdentite.add(ligneTs);
615
 
616
		DateField dateFondationChp = new DateField();
617
		dateFondationChp.setFieldLabel("Date de fondation");
618
		dateFondationChp.getPropertyEditor().getFormat();
619
		dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
620
		dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
621
		fieldSetIdentite.add(dateFondationChp);
622
 
623
		identificationOnglet.add(fieldSetIdentite);
624
 
625
		//+-----------------------------------------------------------------------------------------------------------+
626
		// Fieldset ADRESSE
627
		LayoutContainer principalFdAdresse = new LayoutContainer();
628
		principalFdAdresse.setLayout(new ColumnLayout());
629
 
630
		LayoutContainer gaucheFdAdresse = new LayoutContainer();
631
		gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
632
 
633
		LayoutContainer droiteFdAdresse = new LayoutContainer();
634
		droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
635
 
636
		FieldSet fieldSetAdresse = new FieldSet();
637
		fieldSetAdresse.setHeading("Adresse");
638
		fieldSetAdresse.setCollapsible(true);
639
 
640
		fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
641
 
642
		TextField<String> adrChp = new TextField<String>();
643
		adrChp.setFieldLabel("Adresse");
644
		fieldSetAdresse.add(adrChp, new FormData(550, 0));
645
 
646
		TextField<String> cpChp = new TextField<String>();
647
		cpChp.setFieldLabel("Code postal");
648
		gaucheFdAdresse.add(cpChp);
649
 
650
		TextField<String> villeChp = new TextField<String>();
651
		villeChp.setFieldLabel("Ville");
652
		droiteFdAdresse.add(villeChp);
653
 
654
		TextField<String> regionChp = new TextField<String>();
655
		regionChp.setFieldLabel("Région");
656
		gaucheFdAdresse.add(regionChp);
657
 
658
		TextField<String> paysChp = new TextField<String>();
659
		paysChp.setFieldLabel("Pays");
660
		droiteFdAdresse.add(paysChp);
661
 
662
		principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
663
		principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
664
		fieldSetAdresse.add(principalFdAdresse);
665
		identificationOnglet.add(fieldSetAdresse);
666
 
667
		//+-----------------------------------------------------------------------------------------------------------+
668
		// Fieldset TÉLÉPHONE et EMAIL
669
		LayoutContainer principalFdTelMail = new LayoutContainer();
670
		principalFdTelMail.setLayout(new ColumnLayout());
671
 
672
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
673
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
674
 
675
		LayoutContainer droiteFdTelMail = new LayoutContainer();
676
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
677
 
678
		FieldSet fieldSetTelMail = new FieldSet();
679
		fieldSetTelMail.setHeading("Communication");
680
		fieldSetTelMail.setCollapsible(true);
681
 
682
		fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
683
 
684
		TextField<String> telChp = new TextField<String>();
685
		telChp.setFieldLabel("Téléphone");
686
		gaucheFdTelMail.add(telChp);
687
 
688
		TextField<String> faxChp = new TextField<String>();
689
		faxChp.setFieldLabel("Fax");
690
		droiteFdTelMail.add(faxChp);
691
 
692
		TextField<String> emailChp = new TextField<String>();
693
		emailChp.setFieldLabel("Courriel");
694
		emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
695
		gaucheFdTelMail.add(emailChp);
696
 
697
		TextField<String> urlChp = new TextField<String>();
698
		urlChp.setFieldLabel("Site web");
699
		droiteFdTelMail.add(urlChp);
700
 
701
		principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
702
		principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
703
		fieldSetTelMail.add(principalFdTelMail);
704
		identificationOnglet.add(fieldSetTelMail);
705
 
706
		return identificationOnglet;
707
	}
708
 
108 jpm 709
	/** Méthode simplifiant la création de FormLayout.
110 jpm 710
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
108 jpm 711
	 *
110 jpm 712
	 * @param labelWidth largeur des labels.
108 jpm 713
	 * @param labelAlign alignement des labels
714
	 * @param padding padding du layout
715
	 * @return
716
	 */
717
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
718
		FormLayout formLayout = new FormLayout();
110 jpm 719
		if (labelWidth != null) {
720
			formLayout.setLabelWidth(labelWidth);
721
		}
722
		if (labelAlign != null) {
723
			formLayout.setLabelAlign(labelAlign);
724
		}
108 jpm 725
		if (padding != null) {
726
			formLayout.setPadding(padding);
727
		}
728
		return formLayout;
729
	}
730
 
109 jpm 731
	/** Méthode simplifiant la création de bouton radio oui/non
732
	 *
733
	 * @param listeNom nom de la liste de valeur
734
	 * @return
735
	 */
736
	private void creerChoixUniqueBr(RadioGroup radioGroup, String attributNom ) {
737
		Radio ouiRadio = new Radio();
738
		ouiRadio.setName(attributNom);
739
		ouiRadio.setBoxLabel("Oui");
740
		//ouiRadio.setValue(true);
741
 
742
		Radio nonRadio = new Radio();
743
		nonRadio.setName(attributNom);
744
		nonRadio.setBoxLabel("Non");
745
 
746
		radioGroup.add(ouiRadio);
747
		radioGroup.add(nonRadio);
748
	}
749
 
750
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
751
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
752
	 * Ajoute ou pas un champ "Autre".
753
	 *
754
	 * @param listeNom nom de la liste de valeur
755
	 * @return
756
	 */
757
	private ContentPanel creerChoixMultipleCp(String listeNom) {
758
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
759
		ContentPanel cp = new ContentPanel();
760
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
761
		cp.setHeaderVisible(false);
762
		return cp;
763
	}
764
 
765
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
766
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
767
	 * Ajoute ou pas un champ "Autre".
768
	 *
769
	 * @param cp panneau conteant le groupe de case à cocher
770
	 * @param cacGroup le groupe de case à cocher
771
	 * @param labelTxt le texte du champ
772
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
773
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître
774
	 * @return
775
	 */
776
	private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, String labelTxt, ValeurListe listeValeurs, Boolean boolAutreChp) {
777
		cacGroupe.setFieldLabel(labelTxt);
110 jpm 778
		cacGroupe.setAutoWidth(true);
109 jpm 779
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
780
			String nom =  listeValeurs.get(it.next()).get("nom");
781
			CheckBox cac = new CheckBox();
110 jpm 782
			// TODO : supprimer le code ci-dessous si inutile
783
			/*
784
			//GWT.log("Taille '"+nom+"' : "+nom.length(), null);
109 jpm 785
			// Calcul de la largeur de la checkbox en fonction de la taille du label
786
			int largeur = nom.length()*10;
787
			if (nom.length() > 15) {
788
				largeur = 170;
789
			}
790
			if (nom.length() > 25) {
791
				largeur = 250;
792
			}
793
			cac.setWidth(largeur);
110 jpm 794
			*/
109 jpm 795
			cac.setBoxLabel(nom);
796
			cacGroupe.add(cac);
797
		}
798
		cp.add(cacGroupe);
799
 
800
		if (boolAutreChp == true) {
801
			ContentPanel autreCp = new ContentPanel();
802
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
803
			autreCp.setHeaderVisible(false);
804
			TextField<String> autreTrukLocalStockageChp = new TextField<String>();
805
			autreTrukLocalStockageChp.setFieldLabel("Autre");
806
			autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;");
807
			autreTrukLocalStockageChp.setWidth(300);
808
			autreCp.add(autreTrukLocalStockageChp);
809
			cp.add(autreCp);
810
		}
811
 
812
		cp.layout();
813
	}
814
 
69 jpm 815
	public void rafraichir(Object nouvelleDonnees) {
91 jpm 816
		if (nouvelleDonnees instanceof ValeurListe) {
817
			ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
818
 
819
			List<Valeur> liste = new ArrayList<Valeur>();
820
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
821
				liste.add(listeValeurs.get(it.next()));
822
			}
823
			// Test pour savoir si la liste contient des éléments
824
			if (liste.size() > 0) {
825
				Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
826
				if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
827
					magazinLstpr.removeAll();
828
					magazinLstpr.add(liste);
829
					comboLstpr.setStore(magazinLstpr);
830
				}
831
				if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
832
					magazinLstpu.removeAll();
833
					magazinLstpu.add(liste);
834
					comboLstpu.setStore(magazinLstpu);
835
				}
103 jpm 836
				if (listeValeurs.getId().equals(config.getListeId("statut"))) {
837
					magazinLiStatut.removeAll();
838
					magazinLiStatut.add(liste);
839
					comboLiStatut.setStore(magazinLiStatut);
840
				}
841
				if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
842
					magazinLiFonction.removeAll();
843
					magazinLiFonction.add(liste);
844
					comboLiFonction.setStore(magazinLiFonction);
845
				}
108 jpm 846
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
847
					trukLocalStockageCacGrpChp = new CheckBoxGroup();
109 jpm 848
					String labelTxt = "Avez vous des locaux spécifiques de stockage des collections botaniques ?";
849
					creerChoixMultipleCac(trukLocalStockageCp, trukLocalStockageCacGrpChp, labelTxt, listeValeurs, true);
108 jpm 850
				}
851
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
110 jpm 852
					trukMeubleStockageCp.setToolTip(new ToolTipConfig("Rayonnages mobiles", "rayonnages sur rails pouvant être déplacés, manuellement ou automatiquement, de façon à utiliser l'espace ordinairement occupé par les allées de desserte entre travées."));
108 jpm 853
					trukMeubleStockageCacGrpChp = new CheckBoxGroup();
109 jpm 854
					String labelTxt = "Avez vous des meubles spécifiques au stockage des collections botaniques ?";
855
					creerChoixMultipleCac(trukMeubleStockageCp, trukMeubleStockageCacGrpChp, labelTxt, listeValeurs, true);
108 jpm 856
				}
109 jpm 857
				if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
858
					trukParametreStockageCacGrpChp = new CheckBoxGroup();
859
					String labelTxt = "Quels paramètres maîtrisez vous ?";
860
					creerChoixMultipleCac(trukParametreStockageCp, trukParametreStockageCacGrpChp, labelTxt, listeValeurs, true);
861
				}
110 jpm 862
				if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
863
					trukCollectionAutreCacGrpChp = new CheckBoxGroup();
864
					String labelTxt = "Si oui, lesquelles ?";
865
					creerChoixMultipleCac(trukCollectionAutreCp, trukCollectionAutreCacGrpChp, labelTxt, listeValeurs, true);
866
				}
867
				if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
868
					trukOpRestauCacGrpChp = new CheckBoxGroup();
869
					String labelTxt = "Si oui, lesquelles ?";
870
					creerChoixMultipleCac(trukOpRestauCp, trukOpRestauCacGrpChp, labelTxt, listeValeurs, true);
871
				}
872
				if (listeValeurs.getId().equals(config.getListeId("onep"))) {
873
					ceMaterielConservationCacGrpChp = new CheckBoxGroup();
874
					String labelTxt = "Utilisez vous du matériel de conservation ?";
875
					ceMaterielConservationCp.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..."));
876
					creerChoixMultipleCac(ceMaterielConservationCp, ceMaterielConservationCacGrpChp, labelTxt, listeValeurs, true);
877
				}
878
				if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
879
					trukAutreMaterielCacGrpChp = new CheckBoxGroup();
880
					String labelTxt = "Si non, qu'utilisez vous comme matériel ?";
881
					creerChoixMultipleCac(trukAutreMaterielCp, trukAutreMaterielCacGrpChp, labelTxt, listeValeurs, true);
882
				}
883
				if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
884
					trukPoisonTraitementCacGrpChp = new CheckBoxGroup();
885
					String labelTxt = "Empoisonnement";
886
					trukPoisonTraitementCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
887
					trukPoisonTraitementCacGrpChp.setLabelSeparator("");
888
					creerChoixMultipleCac(trukPoisonTraitementCp, trukPoisonTraitementCacGrpChp, labelTxt, listeValeurs, true);
889
				}
890
				if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
891
					if (trukTraitementCp.isRendered() && trukTraitementCp.getItemByItemId("trukTraitementCacGrpChp") == null) {
892
						trukTraitementCacGrpChp = new CheckBoxGroup();
893
						trukTraitementCacGrpChp.setId("trukTraitementCacGrpChp");
894
						creerChoixMultipleCac(trukTraitementCp, trukTraitementCacGrpChp, "Si oui, lesquels ?", listeValeurs, true);
895
					}
896
					if (trukInsecteTraitementCp.isRendered() && trukInsecteTraitementCp.getItemByItemId("trukInsecteTraitementCacGrpChp") == null) {
897
						trukInsecteTraitementCacGrpChp = new CheckBoxGroup();
898
						trukInsecteTraitementCacGrpChp.setId("trukInsecteTraitementCacGrpChp");
899
						trukInsecteTraitementCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
900
						trukInsecteTraitementCacGrpChp.setLabelSeparator("");
901
						creerChoixMultipleCac(trukInsecteTraitementCp, trukInsecteTraitementCacGrpChp, "Désinsectisation", listeValeurs, true);
902
					}
903
				}
904
				//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
91 jpm 905
			} else {
906
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
907
			}
908
		}
69 jpm 909
	}
100 jpm 910
 
69 jpm 911
}