Subversion Repositories eFlore/Applications.coel

Rev

Rev 968 | Rev 1018 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 968 Rev 975
1
package org.tela_botanica.client.vues.collection;
1
package org.tela_botanica.client.vues.collection;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
-
 
4
 
4
 
5
import org.tela_botanica.client.ComposantClass;
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
7
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
7
import org.tela_botanica.client.composants.ChampMultiValeurs;
8
import org.tela_botanica.client.composants.ChampMultiValeurs;
8
import org.tela_botanica.client.composants.ConteneurMultiChamps;
9
import org.tela_botanica.client.composants.ConteneurMultiChamps;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.Valeur;
11
import org.tela_botanica.client.modeles.Valeur;
11
import org.tela_botanica.client.modeles.ValeurListe;
12
import org.tela_botanica.client.modeles.ValeurListe;
12
import org.tela_botanica.client.modeles.collection.Collection;
13
import org.tela_botanica.client.modeles.collection.Collection;
13
import org.tela_botanica.client.modeles.collection.CollectionListe;
14
import org.tela_botanica.client.modeles.collection.CollectionListe;
14
import org.tela_botanica.client.modeles.projet.Projet;
15
import org.tela_botanica.client.modeles.projet.Projet;
15
import org.tela_botanica.client.modeles.projet.ProjetListe;
16
import org.tela_botanica.client.modeles.projet.ProjetListe;
16
import org.tela_botanica.client.modeles.structure.Structure;
17
import org.tela_botanica.client.modeles.structure.Structure;
17
import org.tela_botanica.client.modeles.structure.StructureListe;
18
import org.tela_botanica.client.modeles.structure.StructureListe;
18
import org.tela_botanica.client.util.Debug;
19
import org.tela_botanica.client.util.Debug;
19
import org.tela_botanica.client.vues.Formulaire;
20
import org.tela_botanica.client.vues.Formulaire;
20
import org.tela_botanica.client.vues.FormulaireOnglet;
21
import org.tela_botanica.client.vues.FormulaireOnglet;
21
 
22
 
22
import com.extjs.gxt.ui.client.event.BaseEvent;
23
import com.extjs.gxt.ui.client.event.BaseEvent;
23
import com.extjs.gxt.ui.client.event.Events;
24
import com.extjs.gxt.ui.client.event.Events;
24
import com.extjs.gxt.ui.client.event.Listener;
25
import com.extjs.gxt.ui.client.event.Listener;
25
import com.extjs.gxt.ui.client.store.ListStore;
26
import com.extjs.gxt.ui.client.store.ListStore;
26
import com.extjs.gxt.ui.client.util.Margins;
27
import com.extjs.gxt.ui.client.util.Margins;
27
import com.extjs.gxt.ui.client.widget.Text;
28
import com.extjs.gxt.ui.client.widget.Text;
28
import com.extjs.gxt.ui.client.widget.form.ComboBox;
29
import com.extjs.gxt.ui.client.widget.form.ComboBox;
29
import com.extjs.gxt.ui.client.widget.form.Field;
30
import com.extjs.gxt.ui.client.widget.form.Field;
30
import com.extjs.gxt.ui.client.widget.form.FieldSet;
31
import com.extjs.gxt.ui.client.widget.form.FieldSet;
31
import com.extjs.gxt.ui.client.widget.form.HiddenField;
32
import com.extjs.gxt.ui.client.widget.form.HiddenField;
32
import com.extjs.gxt.ui.client.widget.form.NumberField;
33
import com.extjs.gxt.ui.client.widget.form.NumberField;
33
import com.extjs.gxt.ui.client.widget.form.TextArea;
34
import com.extjs.gxt.ui.client.widget.form.TextArea;
34
import com.extjs.gxt.ui.client.widget.form.TextField;
35
import com.extjs.gxt.ui.client.widget.form.TextField;
35
import com.extjs.gxt.ui.client.widget.form.Validator;
36
import com.extjs.gxt.ui.client.widget.form.Validator;
36
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
37
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
37
import com.extjs.gxt.ui.client.widget.layout.FormData;
38
import com.extjs.gxt.ui.client.widget.layout.FormData;
38
import com.extjs.gxt.ui.client.widget.layout.HBoxLayoutData;
39
import com.extjs.gxt.ui.client.widget.layout.HBoxLayoutData;
39
import com.google.gwt.core.client.GWT;
40
import com.google.gwt.core.client.GWT;
40
import com.google.gwt.i18n.client.NumberFormat;
41
import com.google.gwt.i18n.client.NumberFormat;
41
 
42
 
42
public class CollectionFormGeneral extends FormulaireOnglet implements Rafraichissable {
43
public class CollectionFormGeneral extends FormulaireOnglet implements Rafraichissable {
43
	
44
	
44
	private Collection collection = null;
45
	private Collection collection = null;
45
	private Collection collectionCollectee = null;
46
	private Collection collectionCollectee = null;
46
 
47
 
47
	private HiddenField<String> idCollectionChp;
48
	private HiddenField<String> idCollectionChp;
48
	
49
	
49
	private ComboBox<Projet> projetsCombo = null;
50
	private ComboBox<Projet> projetsCombo = null;
50
	private ComboBox<Structure> structuresCombo = null;
51
	private ComboBox<Structure> structuresCombo = null;
51
	private ComboBox<Collection> collectionsCombo = null;
52
	private ComboBox<Collection> collectionsCombo = null;
52
	
53
	
53
	private ChampComboBoxListeValeurs groupementPrincipeCombo;
54
	private ChampComboBoxListeValeurs groupementPrincipeCombo;
54
	private ChampMultiValeurs lieuCouvertureChp = null;
55
	private ChampMultiValeurs lieuCouvertureChp = null;
55
 
56
 
56
	private ChampComboBoxListeValeurs specimenTypeCombo = null;
57
	private ChampComboBoxListeValeurs specimenTypeCombo = null;
57
	private ChampComboBoxListeValeurs precisionTypeNbreCombo = null;
58
	private ChampComboBoxListeValeurs precisionTypeNbreCombo = null;
58
	private NumberField nbreTypeChp = null;
59
	private NumberField nbreTypeChp = null;
59
	private ChampComboBoxListeValeurs classementSpecimenTypeCombo;
60
	private ChampComboBoxListeValeurs classementSpecimenTypeCombo;
60
	
61
	
61
	private ChampComboBoxListeValeurs typeDepotCombo = null;
62
	private ChampComboBoxListeValeurs typeDepotCombo = null;
62
	private TextField<String> coteChp = null;
63
	private TextField<String> coteChp = null;
63
	private ChampMultiValeurs idAlternatifsChp = null;
64
	private ChampMultiValeurs idAlternatifsChp = null;
64
	private ChampMultiValeurs nomsAlternatifsChp = null;
65
	private ChampMultiValeurs nomsAlternatifsChp = null;
65
	private ChampMultiValeurs codesAlternatifsChp = null;
66
	private ChampMultiValeurs codesAlternatifsChp = null;
66
	
67
	
67
	private TextArea descriptionSpecialisteChp = null;
68
	private TextArea descriptionSpecialisteChp = null;
68
	private TextArea descriptionChp = null;
69
	private TextArea descriptionChp = null;
69
	private TextArea historiqueChp = null;
70
	private TextArea historiqueChp = null;
70
	private ChampMultiValeurs urlsChp = null;
71
	private ChampMultiValeurs urlsChp = null;
71
 
72
 
72
	private ChampComboBoxListeValeurs butRealisationCombo = null;
73
	private ChampComboBoxListeValeurs butRealisationCombo = null;
73
	
74
	
74
	public CollectionFormGeneral(Formulaire formulaireCourrant) {
75
	public CollectionFormGeneral(Formulaire formulaireCourrant) {
75
		initialiserOnglet(formulaireCourrant);
76
		initialiserOnglet(formulaireCourrant);
76
		setId("general");
77
		setId("general");
77
		setText(Mediateur.i18nC.collectionGeneral());
78
		setText(Mediateur.i18nC.collectionGeneral());
78
		
79
		
79
		creerChampsCache();
80
		creerChampsCache();
80
		creerFieldsetLiaison();
81
		creerFieldsetLiaison();
81
		creerFieldsetAdministratif();
82
		creerFieldsetAdministratif();
82
		creerFieldsetDescription();
83
		creerFieldsetDescription();
83
		creerFieldsetCouverture();
84
		creerFieldsetCouverture();
84
		creerFieldsetType();
85
		creerFieldsetType();
85
	}
86
	}
86
 
87
 
87
	private void initialiserCollection() {
88
	private void initialiserCollection() {
88
		collection = ((CollectionForm) formulaire).collection;
89
		collection = ((CollectionForm) formulaire).collection;
89
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
90
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
90
	}
91
	}
91
	
92
	
92
	private void creerChampsCache() {
93
	private void creerChampsCache() {
93
		// Champs cachés
94
		// Champs cachés
94
		idCollectionChp = new HiddenField<String>();
95
		idCollectionChp = new HiddenField<String>();
95
		this.add(idCollectionChp);
96
		this.add(idCollectionChp);
96
	}
97
	}
97
	
98
	
98
	private void creerFieldsetLiaison() {
99
	private void creerFieldsetLiaison() {
99
		FieldSet liaisonFieldSet = new FieldSet();
100
		FieldSet liaisonFieldSet = new FieldSet();
100
		liaisonFieldSet.setHeading(i18nC.liaisonTitreCollection());
101
		liaisonFieldSet.setHeading(i18nC.liaisonTitreCollection());
101
		liaisonFieldSet.setCollapsible(true);
102
		liaisonFieldSet.setCollapsible(true);
102
		liaisonFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
103
		liaisonFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
103
		
104
		
104
		projetsCombo = new ComboBox<Projet>();
105
		projetsCombo = new ComboBox<Projet>();
105
		projetsCombo.setTabIndex(tabIndex++);
106
		projetsCombo.setTabIndex(tabIndex++);
106
		projetsCombo.setFieldLabel(i18nC.projetChamp());
107
		projetsCombo.setFieldLabel(i18nC.projetChamp());
107
		projetsCombo.setDisplayField("nom");
108
		projetsCombo.setDisplayField("nom");
108
		projetsCombo.setForceSelection(true);
109
		projetsCombo.setForceSelection(true);
109
		projetsCombo.setValidator(new Validator() {
110
		projetsCombo.setValidator(new Validator() {
110
			@Override
111
			@Override
111
			public String validate(Field<?> field, String value) {
112
			public String validate(Field<?> field, String value) {
112
				String retour = null;
113
				String retour = null;
113
				if (field.getRawValue().equals("")) {
114
				if (field.getRawValue().equals("")) {
114
					field.setValue(null);
115
					field.setValue(null);
115
				} else if (projetsCombo.getStore().findModel("nom", field.getRawValue()) == null) {
116
				} else if (projetsCombo.getStore().findModel("nom", field.getRawValue()) == null) {
116
					String contenuBrut = field.getRawValue();
117
					String contenuBrut = field.getRawValue();
117
					field.setValue(null);
118
					field.setValue(null);
118
					field.setRawValue(contenuBrut);
119
					field.setRawValue(contenuBrut);
119
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
120
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
120
				}
121
				}
121
				return retour;
122
				return retour;
122
			}
123
			}
123
		});
124
		});
124
		projetsCombo.setTriggerAction(TriggerAction.ALL);
125
		projetsCombo.setTriggerAction(TriggerAction.ALL);
125
		projetsCombo.setStore(new ListStore<Projet>());
126
		projetsCombo.setStore(new ListStore<Projet>());
126
		projetsCombo.addStyleName("obligatoire");
127
		projetsCombo.addStyleName(ComposantClass.OBLIGATOIRE);
127
		projetsCombo.addListener(Events.Select, new Listener<BaseEvent>() {
128
		projetsCombo.addListener(Events.Valid, new Listener<BaseEvent>() {
128
			@Override
129
			@Override
129
			public void handleEvent(BaseEvent be) {
130
			public void handleEvent(BaseEvent be) {
130
				Projet valeur = projetsCombo.getValue();
131
				Projet valeur = projetsCombo.getValue();
131
				
-
 
132
				// Gestion du style obligatoire
132
				// Gestion du style obligatoire
133
				projetsCombo.removeStyleName("obligatoire");
133
				projetsCombo.removeStyleName(ComposantClass.OBLIGATOIRE);
134
				projetsCombo.removeStyleName("obligatoire-ok");
134
				projetsCombo.removeStyleName(ComposantClass.OBLIGATOIRE_OK);
135
				if (valeur != null) {
135
				if (valeur != null) {
136
					projetsCombo.addStyleName("obligatoire-ok");
136
					projetsCombo.addStyleName(ComposantClass.OBLIGATOIRE_OK);
137
				} else {
137
				} else {
138
					projetsCombo.addStyleName("obligatoire");
138
					projetsCombo.addStyleName(ComposantClass.OBLIGATOIRE);
139
				}
139
				}
140
			}
140
			}
141
		});
141
		});
142
		liaisonFieldSet.add(projetsCombo, new FormData(450, 0));
142
		liaisonFieldSet.add(projetsCombo, new FormData(450, 0));
143
		mediateur.selectionnerProjet(this, null);
143
		mediateur.selectionnerProjet(this, null);
144
		
144
		
145
		structuresCombo = new ComboBox<Structure>();
145
		structuresCombo = new ComboBox<Structure>();
146
		structuresCombo.setTabIndex(tabIndex++);
146
		structuresCombo.setTabIndex(tabIndex++);
147
		structuresCombo.setFieldLabel(i18nC.lienStructureCollection());
147
		structuresCombo.setFieldLabel(i18nC.lienStructureCollection());
148
		structuresCombo.setDisplayField("nom");
148
		structuresCombo.setDisplayField("nom");
149
		structuresCombo.setForceSelection(true);
149
		structuresCombo.setForceSelection(true);
150
		structuresCombo.setValidator(new Validator() {
150
		structuresCombo.setValidator(new Validator() {
151
			@Override
151
			@Override
152
			public String validate(Field<?> field, String value) {
152
			public String validate(Field<?> field, String value) {
153
				String retour = null;
153
				String retour = null;
154
				if (field.getRawValue().equals("")) {
154
				if (field.getRawValue().equals("")) {
155
					field.setValue(null);
155
					field.setValue(null);
156
				} else if (structuresCombo.getStore().findModel("nom", field.getRawValue()) == null) {
156
				} else if (structuresCombo.getStore().findModel("nom", field.getRawValue()) == null) {
157
					String contenuBrut = field.getRawValue();
157
					String contenuBrut = field.getRawValue();
158
					field.setValue(null);
158
					field.setValue(null);
159
					field.setRawValue(contenuBrut);
159
					field.setRawValue(contenuBrut);
160
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
160
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
161
				}
161
				}
162
				return retour;
162
				return retour;
163
			}
163
			}
164
		});
164
		});
165
		structuresCombo.setTriggerAction(TriggerAction.ALL);
165
		structuresCombo.setTriggerAction(TriggerAction.ALL);
166
		structuresCombo.setStore(new ListStore<Structure>());
166
		structuresCombo.setStore(new ListStore<Structure>());
167
		liaisonFieldSet.add(structuresCombo, new FormData(450, 0));
167
		liaisonFieldSet.add(structuresCombo, new FormData(450, 0));
168
		mediateur.selectionnerStructureParProjet(this, null);
168
		mediateur.selectionnerStructureParProjet(this, null);
169
		
169
		
170
		collectionsCombo = new ComboBox<Collection>();
170
		collectionsCombo = new ComboBox<Collection>();
171
		collectionsCombo.setTabIndex(tabIndex++);
171
		collectionsCombo.setTabIndex(tabIndex++);
172
		collectionsCombo.setFieldLabel(i18nC.lienMereCollection());
172
		collectionsCombo.setFieldLabel(i18nC.lienMereCollection());
173
		collectionsCombo.setDisplayField("nom");
173
		collectionsCombo.setDisplayField("nom");
174
		collectionsCombo.setForceSelection(true);
174
		collectionsCombo.setForceSelection(true);
175
		collectionsCombo.setValidator(new Validator() {
175
		collectionsCombo.setValidator(new Validator() {
176
			@Override
176
			@Override
177
			public String validate(Field<?> field, String value) {
177
			public String validate(Field<?> field, String value) {
178
				String retour = null;
178
				String retour = null;
179
				if (field.getRawValue().equals("")) {
179
				if (field.getRawValue().equals("")) {
180
					field.setValue(null);
180
					field.setValue(null);
181
				} else if (collectionsCombo.getStore().findModel("nom", field.getRawValue()) == null) {
181
				} else if (collectionsCombo.getStore().findModel("nom", field.getRawValue()) == null) {
182
					String contenuBrut = field.getRawValue();
182
					String contenuBrut = field.getRawValue();
183
					field.setValue(null);
183
					field.setValue(null);
184
					field.setRawValue(contenuBrut);
184
					field.setRawValue(contenuBrut);
185
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
185
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
186
				}
186
				}
187
				return retour;
187
				return retour;
188
			}
188
			}
189
		});
189
		});
190
		collectionsCombo.setTriggerAction(TriggerAction.ALL);
190
		collectionsCombo.setTriggerAction(TriggerAction.ALL);
191
		collectionsCombo.setStore(new ListStore<Collection>());
191
		collectionsCombo.setStore(new ListStore<Collection>());
192
		liaisonFieldSet.add(collectionsCombo, new FormData(450, 0));
192
		liaisonFieldSet.add(collectionsCombo, new FormData(450, 0));
193
		mediateur.selectionnerCollectionParProjet(this, null);
193
		mediateur.selectionnerCollectionParProjet(this, null);
194
		
194
		
195
		this.add(liaisonFieldSet);
195
		this.add(liaisonFieldSet);
196
	}
196
	}
197
	
197
	
198
	private void creerFieldsetAdministratif() {
198
	private void creerFieldsetAdministratif() {
199
		// Fieldset ADMINISTRATIF
199
		// Fieldset ADMINISTRATIF
200
		FieldSet administratifFieldSet = new FieldSet();
200
		FieldSet administratifFieldSet = new FieldSet();
201
		administratifFieldSet.setHeading(i18nC.collectionGeneralTitre());
201
		administratifFieldSet.setHeading(i18nC.collectionGeneralTitre());
202
		administratifFieldSet.setCollapsible(true);
202
		administratifFieldSet.setCollapsible(true);
203
		administratifFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
203
		administratifFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
204
		
204
		
205
		typeDepotCombo = new ChampComboBoxListeValeurs(i18nC.typeDepot(), "typeDepot", tabIndex++);
205
		typeDepotCombo = new ChampComboBoxListeValeurs(i18nC.typeDepot(), "typeDepot", tabIndex++);
206
		administratifFieldSet.add(typeDepotCombo);
206
		administratifFieldSet.add(typeDepotCombo);
207
		
207
		
208
		coteChp = new TextField<String>();
208
		coteChp = new TextField<String>();
209
		coteChp.setTabIndex(tabIndex++);
209
		coteChp.setTabIndex(tabIndex++);
210
		coteChp.setFieldLabel(i18nC.cote());
210
		coteChp.setFieldLabel(i18nC.cote());
211
		administratifFieldSet.add(coteChp, new FormData(450, 0));
211
		administratifFieldSet.add(coteChp, new FormData(450, 0));
212
		
212
		
213
		idAlternatifsChp = new ChampMultiValeurs(i18nC.idAlternatifCollection());
213
		idAlternatifsChp = new ChampMultiValeurs(i18nC.idAlternatifCollection());
214
		administratifFieldSet.add(idAlternatifsChp);
214
		administratifFieldSet.add(idAlternatifsChp);
215
		
215
		
216
		nomsAlternatifsChp = new ChampMultiValeurs(i18nC.intituleAlternatifCollection());
216
		nomsAlternatifsChp = new ChampMultiValeurs(i18nC.intituleAlternatifCollection());
217
		administratifFieldSet.add(nomsAlternatifsChp);
217
		administratifFieldSet.add(nomsAlternatifsChp);
218
				
218
				
219
		codesAlternatifsChp = new ChampMultiValeurs(i18nC.codeAlternatifCollection());
219
		codesAlternatifsChp = new ChampMultiValeurs(i18nC.codeAlternatifCollection());
220
		administratifFieldSet.add(codesAlternatifsChp);
220
		administratifFieldSet.add(codesAlternatifsChp);
221
		
221
		
222
		this.add(administratifFieldSet);
222
		this.add(administratifFieldSet);
223
	}
223
	}
224
	
224
	
225
	private void creerFieldsetDescription() {
225
	private void creerFieldsetDescription() {
226
		// Fieldset DESCRIPTION
226
		// Fieldset DESCRIPTION
227
		FieldSet descriptionFieldSet = new FieldSet();
227
		FieldSet descriptionFieldSet = new FieldSet();
228
		descriptionFieldSet.setHeading(i18nC.collectionDescriptionTitre());
228
		descriptionFieldSet.setHeading(i18nC.collectionDescriptionTitre());
229
		descriptionFieldSet.setCollapsible(true);
229
		descriptionFieldSet.setCollapsible(true);
230
		descriptionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
230
		descriptionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
231
 
231
 
232
		descriptionChp = new TextArea();
232
		descriptionChp = new TextArea();
233
		descriptionChp.setFieldLabel(i18nC.description());
233
		descriptionChp.setFieldLabel(i18nC.description());
234
		descriptionFieldSet.add(descriptionChp, new FormData(550, 0));
234
		descriptionFieldSet.add(descriptionChp, new FormData(550, 0));
235
		
235
		
236
		descriptionSpecialisteChp = new TextArea();
236
		descriptionSpecialisteChp = new TextArea();
237
		descriptionSpecialisteChp.setFieldLabel(i18nC.descriptionSpecialiste());
237
		descriptionSpecialisteChp.setFieldLabel(i18nC.descriptionSpecialiste());
238
		descriptionFieldSet.add(descriptionSpecialisteChp, new FormData(550, 0));
238
		descriptionFieldSet.add(descriptionSpecialisteChp, new FormData(550, 0));
239
		
239
		
240
		historiqueChp = new TextArea();
240
		historiqueChp = new TextArea();
241
		historiqueChp.setFieldLabel(i18nC.historique());
241
		historiqueChp.setFieldLabel(i18nC.historique());
242
		descriptionFieldSet.add(historiqueChp, new FormData(550, 0));
242
		descriptionFieldSet.add(historiqueChp, new FormData(550, 0));
243
		
243
		
244
		urlsChp = new ChampMultiValeurs(i18nC.urlsCollection());
244
		urlsChp = new ChampMultiValeurs(i18nC.urlsCollection());
245
		descriptionFieldSet.add(urlsChp);
245
		descriptionFieldSet.add(urlsChp);
246
 
246
 
247
		this.add(descriptionFieldSet);
247
		this.add(descriptionFieldSet);
248
	}
248
	}
249
	
249
	
250
	private void creerFieldsetCouverture() {
250
	private void creerFieldsetCouverture() {
251
		FieldSet couvertureFieldSet = new FieldSet();
251
		FieldSet couvertureFieldSet = new FieldSet();
252
		couvertureFieldSet.setHeading("Couvertures");
252
		couvertureFieldSet.setHeading("Couvertures");
253
		couvertureFieldSet.setCollapsible(true);
253
		couvertureFieldSet.setCollapsible(true);
254
		couvertureFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
254
		couvertureFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
255
		
255
		
256
		groupementPrincipeCombo = new ChampComboBoxListeValeurs(i18nC.groupementPrincipeCollection(), "groupementPrincipe", tabIndex++);
256
		groupementPrincipeCombo = new ChampComboBoxListeValeurs(i18nC.groupementPrincipeCollection(), "groupementPrincipe", tabIndex++);
257
		groupementPrincipeCombo.setToolTip(i18nC.groupementPrincipeCollectionInfo());
257
		groupementPrincipeCombo.setToolTip(i18nC.groupementPrincipeCollectionInfo());
258
		couvertureFieldSet.add(groupementPrincipeCombo);
258
		couvertureFieldSet.add(groupementPrincipeCombo);
259
		
259
		
260
		butRealisationCombo = new ChampComboBoxListeValeurs(i18nC.butCollection(), "realisationBut", tabIndex++);
260
		butRealisationCombo = new ChampComboBoxListeValeurs(i18nC.butCollection(), "realisationBut", tabIndex++);
261
		couvertureFieldSet.add(butRealisationCombo);
261
		couvertureFieldSet.add(butRealisationCombo);
262
		
262
		
263
		lieuCouvertureChp = new ChampMultiValeurs(i18nC.lieuCouvertureCollection());
263
		lieuCouvertureChp = new ChampMultiValeurs(i18nC.lieuCouvertureCollection());
264
		couvertureFieldSet.add(lieuCouvertureChp);
264
		couvertureFieldSet.add(lieuCouvertureChp);
265
		
265
		
266
		this.add(couvertureFieldSet);
266
		this.add(couvertureFieldSet);
267
	}
267
	}
268
	
268
	
269
	private void creerFieldsetType() {
269
	private void creerFieldsetType() {
270
		FieldSet typeFieldSet = new FieldSet();
270
		FieldSet typeFieldSet = new FieldSet();
271
		typeFieldSet.setHeading("Spécimens «types»");
271
		typeFieldSet.setHeading("Spécimens «types»");
272
		typeFieldSet.setCollapsible(true);
272
		typeFieldSet.setCollapsible(true);
273
		typeFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
273
		typeFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
274
		
274
		
275
		specimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.specimenTypeCollection(), "onpi", tabIndex++);
275
		specimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.specimenTypeCollection(), "onpi", tabIndex++);
276
		typeFieldSet.add(specimenTypeCombo);
276
		typeFieldSet.add(specimenTypeCombo);
277
		
277
		
278
		ConteneurMultiChamps nbreTypeConteneur = new ConteneurMultiChamps(i18nC.nbreSpecimenTypeCollection());
278
		ConteneurMultiChamps nbreTypeConteneur = new ConteneurMultiChamps(i18nC.nbreSpecimenTypeCollection());
279
		
279
		
280
		nbreTypeChp = new NumberField();
280
		nbreTypeChp = new NumberField();
281
		nbreTypeChp.setFormat(NumberFormat.getFormat("#"));
281
		nbreTypeChp.setFormat(NumberFormat.getFormat("#"));
282
		nbreTypeConteneur.ajouterChamp(nbreTypeChp, new HBoxLayoutData(new Margins(0, 20, 0, 0)));
282
		nbreTypeConteneur.ajouterChamp(nbreTypeChp, new HBoxLayoutData(new Margins(0, 20, 0, 0)));
283
		
283
		
284
		precisionTypeNbreCombo = new ChampComboBoxListeValeurs(null, "ea");
284
		precisionTypeNbreCombo = new ChampComboBoxListeValeurs(null, "ea");
285
		precisionTypeNbreCombo.setTrie("id_valeur");
285
		precisionTypeNbreCombo.setTrie("id_valeur");
286
		precisionTypeNbreCombo.setEmptyText(i18nC.precisionNbreSpecimenTypeCollectionChpVide());
286
		precisionTypeNbreCombo.setEmptyText(i18nC.precisionNbreSpecimenTypeCollectionChpVide());
287
		nbreTypeConteneur.ajouterChamp(precisionTypeNbreCombo);
287
		nbreTypeConteneur.ajouterChamp(precisionTypeNbreCombo);
288
		
288
		
289
		typeFieldSet.add(nbreTypeConteneur);
289
		typeFieldSet.add(nbreTypeConteneur);
290
				
290
				
291
		classementSpecimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.classementSpecimenTypeCollection(), "typeClassement", tabIndex++);
291
		classementSpecimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.classementSpecimenTypeCollection(), "typeClassement", tabIndex++);
292
		typeFieldSet.add(classementSpecimenTypeCombo);
292
		typeFieldSet.add(classementSpecimenTypeCombo);
293
		
293
		
294
		Text infoType = new Text(i18nC.specimenTypeCollectionInfo());
294
		Text infoType = new Text(i18nC.specimenTypeCollectionInfo());
295
		typeFieldSet.add(infoType);
295
		typeFieldSet.add(infoType);
296
		
296
		
297
		this.add(typeFieldSet);
297
		this.add(typeFieldSet);
298
	}
298
	}
299
	
299
	
300
	public void peupler() {
300
	public void peupler() {
301
		initialiserCollection();
301
		initialiserCollection();
302
		if (collection != null) {
302
		if (collection != null) {
303
			idCollectionChp.setValue(collection.getId());
303
			idCollectionChp.setValue(collection.getId());
304
			setValeurComboProjets();
304
			setValeurComboProjets();
305
			setValeurComboStructures();
305
			setValeurComboStructures();
306
			setValeurComboCollections();
306
			setValeurComboCollections();
307
			
307
			
308
			typeDepotCombo.peupler(collection.getTypeDepot());
308
			typeDepotCombo.peupler(collection.getTypeDepot());
309
			coteChp.setValue(collection.getCote());
309
			coteChp.setValue(collection.getCote());
310
			idAlternatifsChp.peupler(collection.getIdAlternatif());
310
			idAlternatifsChp.peupler(collection.getIdAlternatif());
311
			nomsAlternatifsChp.peupler(collection.getNomAlternatif());
311
			nomsAlternatifsChp.peupler(collection.getNomAlternatif());
312
			codesAlternatifsChp.peupler(collection.getCode());
312
			codesAlternatifsChp.peupler(collection.getCode());
313
			
313
			
314
			descriptionChp.setValue(collection.getDescription());
314
			descriptionChp.setValue(collection.getDescription());
315
			descriptionSpecialisteChp.setValue(collection.getDescriptionSpecialiste());
315
			descriptionSpecialisteChp.setValue(collection.getDescriptionSpecialiste());
316
			historiqueChp.setValue(collection.getHistorique());
316
			historiqueChp.setValue(collection.getHistorique());
317
			urlsChp.peupler(collection.getUrls());
317
			urlsChp.peupler(collection.getUrls());
318
			
318
			
319
			groupementPrincipeCombo.peupler(collection.getGroupementPrincipe());
319
			groupementPrincipeCombo.peupler(collection.getGroupementPrincipe());
320
			butRealisationCombo.peupler(collection.getGroupementBut());
320
			butRealisationCombo.peupler(collection.getGroupementBut());
321
			lieuCouvertureChp.peupler(collection.getCouvertureLieu());
321
			lieuCouvertureChp.peupler(collection.getCouvertureLieu());
322
			
322
			
323
			specimenTypeCombo.peupler(collection.getSpecimenType());
323
			specimenTypeCombo.peupler(collection.getSpecimenType());
324
			nbreTypeChp.setValue((collection.getSpecimenTypeNbre().equals("") ? 0 : Integer.parseInt(collection.getSpecimenTypeNbre())));
324
			nbreTypeChp.setValue((collection.getSpecimenTypeNbre().equals("") ? 0 : Integer.parseInt(collection.getSpecimenTypeNbre())));
325
			precisionTypeNbreCombo.peupler(collection.getSpecimenTypeNbrePrecision());
325
			precisionTypeNbreCombo.peupler(collection.getSpecimenTypeNbrePrecision());
326
			classementSpecimenTypeCombo.peupler(collection.getSpecimenTypeClassement());
326
			classementSpecimenTypeCombo.peupler(collection.getSpecimenTypeClassement());
327
		}
327
		}
328
	}
328
	}
329
	
329
	
330
	public ArrayList<String> verifier() {
330
	public ArrayList<String> verifier() {
331
		ArrayList<String> messages = new ArrayList<String>();
331
		ArrayList<String> messages = new ArrayList<String>();
332
		if (projetsCombo.getValue() == null 
332
		if (projetsCombo.getValue() == null 
333
				|| projetsCombo.getValue().equals("") 
333
				|| projetsCombo.getValue().equals("") 
334
				|| (mode.equals(Formulaire.MODE_MODIFIER) && collection != null && collection.getIdProjet().equals(""))) {
334
				|| (mode.equals(Formulaire.MODE_MODIFIER) && collection != null && collection.getIdProjet().equals(""))) {
335
			messages.add("Veuillez sélectionner un projet pour la collection.");
335
			messages.add("Veuillez sélectionner un projet pour la collection.");
336
		}
336
		}
337
		return messages;
337
		return messages;
338
	}
338
	}
339
	
339
	
340
	public void collecter() {
340
	public void collecter() {
341
		initialiserCollection();
341
		initialiserCollection();
342
		if (etreAccede()) {
342
		if (etreAccede()) {
343
			collectionCollectee.setId(idCollectionChp.getValue());
343
			collectionCollectee.setId(idCollectionChp.getValue());
344
			collectionCollectee.setIdProjet(getValeurComboProjets());
344
			collectionCollectee.setIdProjet(getValeurComboProjets());
345
			collectionCollectee.setIdStructure(getValeurComboStructures());
345
			collectionCollectee.setIdStructure(getValeurComboStructures());
346
			collectionCollectee.setCollectionMereId(getValeurComboCollections());
346
			collectionCollectee.setCollectionMereId(getValeurComboCollections());
347
			
347
			
348
			collectionCollectee.setTypeDepot(typeDepotCombo.getValeur());
348
			collectionCollectee.setTypeDepot(typeDepotCombo.getValeur());
349
			collectionCollectee.setCote(coteChp.getValue());
349
			collectionCollectee.setCote(coteChp.getValue());
350
			collectionCollectee.setIdAlternatif(idAlternatifsChp.getValeurs());
350
			collectionCollectee.setIdAlternatif(idAlternatifsChp.getValeurs());
351
			collectionCollectee.setNomAlternatif(nomsAlternatifsChp.getValeurs());
351
			collectionCollectee.setNomAlternatif(nomsAlternatifsChp.getValeurs());
352
			collectionCollectee.setCode(codesAlternatifsChp.getValeurs());
352
			collectionCollectee.setCode(codesAlternatifsChp.getValeurs());
353
			
353
			
354
			collectionCollectee.setDescription(descriptionChp.getValue());
354
			collectionCollectee.setDescription(descriptionChp.getValue());
355
			collectionCollectee.setDescriptionSpecialiste(descriptionSpecialisteChp.getValue());
355
			collectionCollectee.setDescriptionSpecialiste(descriptionSpecialisteChp.getValue());
356
			collectionCollectee.setHistorique(historiqueChp.getValue());
356
			collectionCollectee.setHistorique(historiqueChp.getValue());
357
			collectionCollectee.setUrls(urlsChp.getValeurs());
357
			collectionCollectee.setUrls(urlsChp.getValeurs());
358
			
358
			
359
			collectionCollectee.setGroupementPrincipe(groupementPrincipeCombo.getValeur());
359
			collectionCollectee.setGroupementPrincipe(groupementPrincipeCombo.getValeur());
360
			collectionCollectee.setGroupementBut(butRealisationCombo.getValeur());
360
			collectionCollectee.setGroupementBut(butRealisationCombo.getValeur());
361
			collectionCollectee.setCouvertureLieu(lieuCouvertureChp.getValeurs());
361
			collectionCollectee.setCouvertureLieu(lieuCouvertureChp.getValeurs());
362
			
362
			
363
			collectionCollectee.setSpecimenType(specimenTypeCombo.getValeur());
363
			collectionCollectee.setSpecimenType(specimenTypeCombo.getValeur());
364
			if (nbreTypeChp.getValue() != null) {
364
			if (nbreTypeChp.getValue() != null) {
365
				collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
365
				collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
366
			}
366
			}
367
			collectionCollectee.setSpecimenTypeNbrePrecision(precisionTypeNbreCombo.getValeur());
367
			collectionCollectee.setSpecimenTypeNbrePrecision(precisionTypeNbreCombo.getValeur());
368
			collectionCollectee.setSpecimenTypeClassement(classementSpecimenTypeCombo.getValeur());
368
			collectionCollectee.setSpecimenTypeClassement(classementSpecimenTypeCombo.getValeur());
369
		}
369
		}
370
	}
370
	}
371
	
371
	
372
	private String getValeurComboProjets() {
372
	private String getValeurComboProjets() {
373
		String valeur = "";
373
		String valeur = "";
374
		if (projetsCombo.getValue() != null) {
374
		if (projetsCombo.getValue() != null) {
375
			valeur = projetsCombo.getValue().getId();
375
			valeur = projetsCombo.getValue().getId();
376
		}
376
		}
377
		return valeur;
377
		return valeur;
378
	}
378
	}
379
	private void setValeurComboProjets() {
379
	private void setValeurComboProjets() {
380
		if (projetsCombo.getStore() != null && collection != null) {
380
		if (projetsCombo.getStore() != null && collection != null) {
381
			projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", collection.getIdProjet()));
381
			projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", collection.getIdProjet()));
382
		}
382
		}
383
	}
383
	}
384
	
384
	
385
	private String getValeurComboStructures() {
385
	private String getValeurComboStructures() {
386
		String valeur = "";
386
		String valeur = "";
387
		if (structuresCombo.getValue() != null) {
387
		if (structuresCombo.getValue() != null) {
388
			valeur = structuresCombo.getValue().getId();
388
			valeur = structuresCombo.getValue().getId();
389
		}
389
		}
390
		return valeur;
390
		return valeur;
391
	}
391
	}
392
	private void setValeurComboStructures() {
392
	private void setValeurComboStructures() {
393
		if (structuresCombo.getStore() != null && collection != null) {
393
		if (structuresCombo.getStore() != null && collection != null) {
394
			structuresCombo.setValue(structuresCombo.getStore().findModel("id_structure", collection.getIdStructure()));
394
			structuresCombo.setValue(structuresCombo.getStore().findModel("id_structure", collection.getIdStructure()));
395
		}
395
		}
396
	}
396
	}
397
	
397
	
398
	private String getValeurComboCollections() {
398
	private String getValeurComboCollections() {
399
		String valeur = "";
399
		String valeur = "";
400
		if (collectionsCombo.getValue() != null) {
400
		if (collectionsCombo.getValue() != null) {
401
			valeur = collectionsCombo.getValue().getId();
401
			valeur = collectionsCombo.getValue().getId();
402
		}
402
		}
403
		return valeur;
403
		return valeur;
404
	}
404
	}
405
	private void setValeurComboCollections() {
405
	private void setValeurComboCollections() {
406
		if (collectionsCombo.getStore() != null && collection != null) {
406
		if (collectionsCombo.getStore() != null && collection != null) {
407
			collectionsCombo.setValue(collectionsCombo.getStore().findModel("id_collection", collection.getCollectionMereId()));
407
			collectionsCombo.setValue(collectionsCombo.getStore().findModel("id_collection", collection.getCollectionMereId()));
408
		}
408
		}
409
	}
409
	}
410
	
410
	
411
	public void rafraichir(Object nouvellesDonnees) {
411
	public void rafraichir(Object nouvellesDonnees) {
412
		if (nouvellesDonnees instanceof ProjetListe) {
412
		if (nouvellesDonnees instanceof ProjetListe) {
413
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
413
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
414
			Formulaire.rafraichirComboBox(projets, projetsCombo);
414
			Formulaire.rafraichirComboBox(projets, projetsCombo);
415
			setValeurComboProjets();
415
			setValeurComboProjets();
416
		} else if (nouvellesDonnees instanceof StructureListe) {
416
		} else if (nouvellesDonnees instanceof StructureListe) {
417
			StructureListe structures = (StructureListe) nouvellesDonnees;
417
			StructureListe structures = (StructureListe) nouvellesDonnees;
418
			Formulaire.rafraichirComboBox(structures, structuresCombo);
418
			Formulaire.rafraichirComboBox(structures, structuresCombo);
419
			setValeurComboStructures();
419
			setValeurComboStructures();
420
		} else if (nouvellesDonnees instanceof CollectionListe) {
420
		} else if (nouvellesDonnees instanceof CollectionListe) {
421
			CollectionListe collections = (CollectionListe) nouvellesDonnees;
421
			CollectionListe collections = (CollectionListe) nouvellesDonnees;
422
			Formulaire.rafraichirComboBox(collections, collectionsCombo);
422
			Formulaire.rafraichirComboBox(collections, collectionsCombo);
423
			setValeurComboCollections();
423
			setValeurComboCollections();
424
		} else if (nouvellesDonnees instanceof ValeurListe) {
424
		} else if (nouvellesDonnees instanceof ValeurListe) {
425
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
425
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
426
			rafraichirValeurListe(listeValeurs);
426
			rafraichirValeurListe(listeValeurs);
427
		} else {
427
		} else {
428
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
428
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
429
		}
429
		}
430
	}
430
	}
431
	
431
	
432
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
432
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
433
		if (listeValeurs.getId().equals(config.getListeId("typeDepot"))) {
433
		if (listeValeurs.getId().equals(config.getListeId("typeDepot"))) {
434
			Formulaire.rafraichirComboBox(listeValeurs, typeDepotCombo);
434
			Formulaire.rafraichirComboBox(listeValeurs, typeDepotCombo);
435
		} else {
435
		} else {
436
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
436
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
437
		}
437
		}
438
	}
438
	}
439
	
439
	
440
	
440
	
441
 
441
 
442
}
442
}