Subversion Repositories eFlore/Applications.coel

Rev

Rev 1136 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1136 Rev 1254
1
package org.tela_botanica.client.composants;
1
package org.tela_botanica.client.composants;
2
 
2
 
3
import java.util.HashMap;
3
import java.util.HashMap;
4
 
4
 
5
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.images.Images;
6
import org.tela_botanica.client.images.Images;
7
import org.tela_botanica.client.modeles.Valeur;
7
import org.tela_botanica.client.modeles.Valeur;
8
import org.tela_botanica.client.modeles.aDonnee;
8
import org.tela_botanica.client.modeles.aDonnee;
9
 
9
 
10
import com.extjs.gxt.ui.client.event.ButtonEvent;
10
import com.extjs.gxt.ui.client.event.ButtonEvent;
-
 
11
import com.extjs.gxt.ui.client.event.Events;
-
 
12
import com.extjs.gxt.ui.client.event.FieldEvent;
-
 
13
import com.extjs.gxt.ui.client.event.Listener;
11
import com.extjs.gxt.ui.client.event.SelectionListener;
14
import com.extjs.gxt.ui.client.event.SelectionListener;
12
import com.extjs.gxt.ui.client.store.ListStore;
15
import com.extjs.gxt.ui.client.store.ListStore;
13
import com.extjs.gxt.ui.client.widget.LayoutContainer;
16
import com.extjs.gxt.ui.client.widget.LayoutContainer;
14
import com.extjs.gxt.ui.client.widget.MessageBox;
17
import com.extjs.gxt.ui.client.widget.MessageBox;
15
import com.extjs.gxt.ui.client.widget.Text;
18
import com.extjs.gxt.ui.client.widget.Text;
16
import com.extjs.gxt.ui.client.widget.button.Button;
19
import com.extjs.gxt.ui.client.widget.button.Button;
17
import com.extjs.gxt.ui.client.widget.form.ComboBox;
20
import com.extjs.gxt.ui.client.widget.form.ComboBox;
18
import com.extjs.gxt.ui.client.widget.form.Field;
21
import com.extjs.gxt.ui.client.widget.form.Field;
19
import com.extjs.gxt.ui.client.widget.form.HiddenField;
22
import com.extjs.gxt.ui.client.widget.form.HiddenField;
20
import com.extjs.gxt.ui.client.widget.form.LabelField;
23
import com.extjs.gxt.ui.client.widget.form.LabelField;
21
import com.extjs.gxt.ui.client.widget.form.TextField;
24
import com.extjs.gxt.ui.client.widget.form.TextField;
22
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
25
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
23
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
26
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
24
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
27
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
25
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
28
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
26
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
29
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
27
 
30
 
28
public class ChampMultiValeurs extends LayoutContainer {
31
public class ChampMultiValeurs extends LayoutContainer {
29
	//TODO : changer le champRecapitulatif par une hashMap
32
	//TODO : changer le champRecapitulatif par une hashMap
30
	//TODO : autoriser la modification des champs saisis
33
	//TODO : autoriser la modification des champs saisis
31
 
34
 
32
	String idChampCache = null;
35
	String idChampCache = null;
33
	
36
	
34
	String nomLabelChampTxt = "";
37
	String nomLabelChampTxt = "";
35
	
38
	
36
	String titreErreur = null;
39
	String titreErreur = null;
37
	String valeurVideMsg = null;
40
	String valeurVideMsg = null;
38
	String valeurIdentiqueMsg = null;
41
	String valeurIdentiqueMsg = null;
39
	String valeurNonValideMsg = null;
42
	String valeurNonValideMsg = null;
40
	
43
	
41
	String valeurParDefaut = "";
44
	String valeurParDefaut = "";
42
	String validationMasque = null;
45
	String validationMasque = null;
43
	String exempleValidation = null;
46
	String exempleValidation = null;
44
	String boutonSupprimerLabel = "";
47
	String boutonSupprimerLabel = "";
45
	
48
	
46
	LayoutContainer principalLayout = null;
49
	LayoutContainer principalLayout = null;
47
	Field<String> champValeurTxt = null;
50
	Field<String> champValeurTxt = null;
48
	ComboBox<Valeur> champValeurCombo = null;
51
	ComboBox<Valeur> champValeurCombo = null;
49
	HiddenField<String> champRecapitulatif = null;
52
	HiddenField<String> champRecapitulatif = null;
50
	HashMap<String, LayoutContainer> valeurs = null;
53
	HashMap<String, LayoutContainer> valeurs = null;
51
	ComboBox<Valeur> types = null;
54
	ComboBox<Valeur> types = null;
52
	
55
	
53
	int largeurTotale = 420;
56
	int largeurTotale = 420;
54
	int largeurBouton = 20;
57
	int largeurBouton = 20;
55
	int largeurChamp = 0;
58
	int largeurChamp = 0;
56
	int largeurType = 0;
59
	int largeurType = 0;
57
 	
60
 	
58
	boolean estMultiType = false;
61
	boolean estMultiType = false;
59
	boolean estComboBox = false;
62
	boolean estComboBox = false;
60
	
63
	
61
	public ChampMultiValeurs() {
64
	public ChampMultiValeurs() {
62
		initialiserChampMultiValeur(null, 0);
65
		initialiserChampMultiValeur(null, 0);
63
	}
66
	}
64
	
67
	
65
	public ChampMultiValeurs(String label) {
68
	public ChampMultiValeurs(String label) {
66
		initialiserChampMultiValeur(label, 0);
69
		initialiserChampMultiValeur(label, 0);
67
	}
70
	}
68
	
71
	
69
	public ChampMultiValeurs(String label, int largeurTotale) {
72
	public ChampMultiValeurs(String label, int largeurTotale) {
70
		initialiserChampMultiValeur(label, largeurTotale);
73
		initialiserChampMultiValeur(label, largeurTotale);
71
	}
74
	}
72
	
75
	
73
	public ChampMultiValeurs(boolean estMultiType, String label, int largeurTotale, int largeurType) {
76
	public ChampMultiValeurs(boolean estMultiType, String label, int largeurTotale, int largeurType) {
74
		this.estMultiType = estMultiType;
77
		this.estMultiType = estMultiType;
75
		initialiserChampMultiValeur(label, largeurTotale);
78
		initialiserChampMultiValeur(label, largeurTotale);
76
	}
79
	}
77
		
80
		
78
	public ChampMultiValeurs(boolean estCombobox, boolean estMultiType, String label, int largeurTotale, int largeurType) {
81
	public ChampMultiValeurs(boolean estCombobox, boolean estMultiType, String label, int largeurTotale, int largeurType) {
79
		this.estMultiType = estMultiType;
82
		this.estMultiType = estMultiType;
80
		this.estComboBox = estCombobox;
83
		this.estComboBox = estCombobox;
81
		setLargeurType(largeurType);
84
		setLargeurType(largeurType);
82
		initialiserChampMultiValeur(label, largeurTotale);
85
		initialiserChampMultiValeur(label, largeurTotale);
83
	}
86
	}
-
 
87
	
-
 
88
	public ComboBox<Valeur> getTypes() {
-
 
89
		return this.types;
-
 
90
	}
84
	
91
	
85
	public void setLabel(String label) {
92
	public void setLabel(String label) {
86
		if (label == null) {
93
		if (label == null) {
87
			label = "";
94
			label = "";
88
		}
95
		}
89
		nomLabelChampTxt = label;
96
		nomLabelChampTxt = label;
90
	}
97
	}
91
	
98
	
92
	public void setLargeurChamp(int largeurMax) {
99
	public void setLargeurChamp(int largeurMax) {
93
		if (largeurMax != 0 && largeurMax > 20) {
100
		if (largeurMax != 0 && largeurMax > 20) {
94
			largeurTotale = largeurMax;
101
			largeurTotale = largeurMax;
95
		}
102
		}
96
		
103
		
97
		largeurChamp = largeurTotale - largeurBouton;
104
		largeurChamp = largeurTotale - largeurBouton;
98
	}
105
	}
99
	
106
	
100
	public void setLargeurType(int largeur) {
107
	public void setLargeurType(int largeur) {
101
		largeurType = largeur;
108
		largeurType = largeur;
102
	}
109
	}
103
		
110
		
104
	public void setValidation (String validation, String exempleValidation)	{
111
	public void setValidation (String validation, String exempleValidation)	{
105
		this.validationMasque = validation;
112
		this.validationMasque = validation;
106
		this.exempleValidation = exempleValidation;
113
		this.exempleValidation = exempleValidation;
107
		
114
		
108
		this.valeurNonValideMsg = Mediateur.i18nM.valeurNonValideMsg(exempleValidation);
115
		this.valeurNonValideMsg = Mediateur.i18nM.valeurNonValideMsg(exempleValidation);
109
	}
116
	}
110
	
117
	
111
	public void setValeurParDefaut(String valeur)	{
118
	public void setValeurParDefaut(String valeur)	{
112
		this.valeurParDefaut = valeur;
119
		this.valeurParDefaut = valeur;
113
		champValeurTxt.setValue(valeur);
120
		champValeurTxt.setValue(valeur);
114
	}
121
	}
115
	
122
	
116
	public void setValeurBoutonSupprimer(String valeur)	{
123
	public void setValeurBoutonSupprimer(String valeur)	{
117
		this.boutonSupprimerLabel = valeur;
124
		this.boutonSupprimerLabel = valeur;
118
	}
125
	}
119
	
126
	
120
	private void initialiserChampMultiValeur(String label, int largeur) {
127
	private void initialiserChampMultiValeur(String label, int largeur) {
121
		setLabel(label);
128
		setLabel(label);
122
		setLargeurChamp(largeur);
129
		setLargeurChamp(largeur);
123
		
130
		
124
		titreErreur = Mediateur.i18nC.erreurSaisieTitre();
131
		titreErreur = Mediateur.i18nC.erreurSaisieTitre();
125
		valeurVideMsg = Mediateur.i18nC.demanderValeur();
132
		valeurVideMsg = Mediateur.i18nC.demanderValeur();
126
		valeurIdentiqueMsg = Mediateur.i18nC.valeurDejaPresente();
133
		valeurIdentiqueMsg = Mediateur.i18nC.valeurDejaPresente();
127
		
134
		
128
		valeurs = new HashMap<String, LayoutContainer>();
135
		valeurs = new HashMap<String, LayoutContainer>();
129
		champRecapitulatif = new HiddenField<String>();
136
		champRecapitulatif = new HiddenField<String>();
130
		champRecapitulatif.setValue("");
137
		champRecapitulatif.setValue("");
131
		
138
		
132
		setLayout(new FormLayout());
139
		setLayout(new FormLayout());
133
		
140
		
134
		creerChampMultiValeurs();
141
		creerChampMultiValeurs();
135
	}
142
	}
136
	
143
	
137
	private void creerChampMultiValeurs() {
144
	private void creerChampMultiValeurs() {
138
		principalLayout = new LayoutContainer();
145
		principalLayout = new LayoutContainer();
139
		principalLayout.setLayout(new RowLayout());
146
		principalLayout.setLayout(new RowLayout());
140
		
147
		
141
		LabelField label = new LabelField(nomLabelChampTxt + ":");
148
		LabelField label = new LabelField(nomLabelChampTxt + ":");
142
		label.setWidth("95%");
149
		label.setWidth("95%");
143
		principalLayout.add(label);
150
		principalLayout.add(label);
144
		
151
		
145
		LayoutContainer colonneConteneur = new LayoutContainer();
152
		LayoutContainer colonneConteneur = new LayoutContainer();
146
		colonneConteneur.setLayout(new ColumnLayout());
153
		colonneConteneur.setLayout(new ColumnLayout());
147
		
154
		
148
		if (estMultiType == true)	{
155
		if (estMultiType == true)	{
149
			types = new ComboBox<Valeur>();
156
			types = new ComboBox<Valeur>();
150
			types.setDisplayField("nom");
157
			types.setDisplayField("nom");
151
			types.setEmptyText("Choisissez:");			
158
			types.setEmptyText("Choisissez:");			
152
			types.setStore(new ListStore<Valeur>());
159
			types.setStore(new ListStore<Valeur>());
153
			types.setTypeAhead(true);
160
			types.setTypeAhead(true);
154
			types.setTriggerAction(TriggerAction.ALL);
161
			types.setTriggerAction(TriggerAction.ALL);
-
 
162
			
-
 
163
			types.addListener(Events.Select, new Listener<FieldEvent>() {
-
 
164
				public void handleEvent(FieldEvent fe) {
-
 
165
 
-
 
166
				}
-
 
167
			});
-
 
168
			
155
			colonneConteneur.add(types, new ColumnData(largeurType));
169
			colonneConteneur.add(types, new ColumnData(largeurType));
156
		}
170
		}
157
		
171
		
158
		if (estComboBox) {
172
		if (estComboBox) {
159
			champValeurCombo = new ComboBox<Valeur>();
173
			champValeurCombo = new ComboBox<Valeur>();
160
			champValeurCombo.setDisplayField("nom");
174
			champValeurCombo.setDisplayField("nom");
161
			champValeurCombo.setStore(new ListStore<Valeur>());
175
			champValeurCombo.setStore(new ListStore<Valeur>());
162
			colonneConteneur.add(champValeurCombo, new ColumnData(largeurChamp));
176
			colonneConteneur.add(champValeurCombo, new ColumnData(largeurChamp));			
163
		} else {
177
		} else {
164
			champValeurTxt = new TextField<String>();
178
			champValeurTxt = new TextField<String>();
165
			colonneConteneur.add(champValeurTxt, new ColumnData(largeurChamp));
179
			colonneConteneur.add(champValeurTxt, new ColumnData(largeurChamp));
166
		}
180
		}
167
		Button ajouterBouton = new Button();
181
		Button ajouterBouton = new Button();
168
		ajouterBouton.setIcon(Images.ICONES.ajouter());
182
		ajouterBouton.setIcon(Images.ICONES.ajouter());
169
		ajouterBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
183
		ajouterBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
170
			public void componentSelected(ButtonEvent ce) {
184
			public void componentSelected(ButtonEvent ce) {
171
				String valeurChamp = "";
185
				String valeurChamp = "";
172
				if (estComboBox) {
186
				if (estComboBox) {
173
					if (champValeurCombo.getValue() != null) {
187
					if (champValeurCombo.getValue() != null) {
174
						valeurChamp = champValeurCombo.getValue().getNom();
188
						valeurChamp = champValeurCombo.getValue().getNom();
175
					}
189
					}
176
				} else {
190
				} else {
177
					valeurChamp = champValeurTxt.getValue();
191
					valeurChamp = champValeurTxt.getValue();
178
				}
192
				}
179
				
193
				
180
				if ((valeurChamp == null) || valeurChamp.trim().equals("") || valeurChamp.trim().equals(valeurParDefaut))	{
194
				if ((valeurChamp == null) || valeurChamp.trim().equals("") || valeurChamp.trim().equals(valeurParDefaut))	{
181
					MessageBox.alert(titreErreur, valeurVideMsg, null);
195
					MessageBox.alert(titreErreur, valeurVideMsg, null);
182
				} else if (valeurs.get(valeurChamp) != null){
196
				} else if (valeurs.get(valeurChamp) != null){
183
					MessageBox.alert(titreErreur, valeurIdentiqueMsg, null);							
197
					MessageBox.alert(titreErreur, valeurIdentiqueMsg, null);							
184
				} else {
198
				} else {
185
					if (validationMasque != null && !valeurChamp.matches(validationMasque)) 	{
199
					if (validationMasque != null && !valeurChamp.matches(validationMasque)) 	{
186
						MessageBox.alert(titreErreur, valeurNonValideMsg, null);
200
						MessageBox.alert(titreErreur, valeurNonValideMsg, null);
187
					} else {
201
					} else {
188
						if (estMultiType)	{
202
						if (estMultiType)	{
189
							String type = "";
203
							String type = "";
190
							String id = "";
204
							String id = "";
191
							Valeur valeur = types.getValue();
205
							Valeur valeur = types.getValue();
192
				
206
				
193
							if (valeur != null)	{
207
							if (valeur != null)	{
194
								type = valeur.getNom();
208
								type = valeur.getNom();
195
								id = valeur.getId();
209
								id = valeur.getId();
196
							} else {
210
							} else {
197
								type = types.getRawValue();
211
								type = types.getRawValue();
198
								id = type;
212
								id = type;
199
							}
213
							}
200
			
214
			
201
							if (type.trim().equals(""))	{
215
							if (type.trim().equals(""))	{
202
								MessageBox.alert(Mediateur.i18nM.titreErreurSaisie(), Mediateur.i18nM.typeChampMulti(), null);
216
								MessageBox.alert(Mediateur.i18nM.titreErreurSaisie(), Mediateur.i18nM.typeChampMulti(), null);
203
							} else {
217
							} else {
204
								ajouterValeur(valeurChamp, type, id);
218
								ajouterValeur(valeurChamp, type, id);
205
							}
219
							}
206
						} else {
220
						} else {
207
							ajouterValeur(valeurChamp);
221
							ajouterValeur(valeurChamp);
208
						}
222
						}
209
					}
223
					}
210
				}
224
				}
211
			}
225
			}
212
		});
226
		});
213
		colonneConteneur.add(ajouterBouton, new ColumnData(largeurBouton));
227
		colonneConteneur.add(ajouterBouton, new ColumnData(largeurBouton));
214
		
228
		
215
		principalLayout.add(champRecapitulatif);
229
		principalLayout.add(champRecapitulatif);
216
		principalLayout.add(colonneConteneur);
230
		principalLayout.add(colonneConteneur);
217
		add(principalLayout);
231
		add(principalLayout);
218
	}
232
	}
219
	
233
	
220
	public void ajouterValeur(final String texte, final String strValeur, final String id)	{
234
	public void ajouterValeur(final String texte, final String strValeur, final String id)	{
221
		//Implémenté dans classe inférieure
235
		//Implémenté dans classe inférieure
222
	}
236
	}
223
	
237
	
224
	public void ajouterValeur(final String texte) 	{
238
	public void ajouterValeur(final String texte) 	{
225
		LayoutContainer colonneLayout = new LayoutContainer();
239
		LayoutContainer colonneLayout = new LayoutContainer();
226
		colonneLayout.setLayout(new ColumnLayout());
240
		colonneLayout.setLayout(new ColumnLayout());
227
		valeurs.put(texte, colonneLayout);
241
		valeurs.put(texte, colonneLayout);
228
		
242
		
229
		Text champTxt = new Text();
243
		Text champTxt = new Text();
230
		champTxt.setText(texte);
244
		champTxt.setText(texte);
231
		colonneLayout.add(champTxt, new ColumnData(largeurChamp));
245
		colonneLayout.add(champTxt, new ColumnData(largeurChamp));
232
		
246
		
233
		Button supprimerBouton = new Button();
247
		Button supprimerBouton = new Button();
234
		supprimerBouton.setIcon(Images.ICONES.supprimer());
248
		supprimerBouton.setIcon(Images.ICONES.supprimer());
235
		supprimerBouton.setText(boutonSupprimerLabel);
249
		supprimerBouton.setText(boutonSupprimerLabel);
236
		supprimerBouton.setData("valeur", texte);
250
		supprimerBouton.setData("valeur", texte);
237
		supprimerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
251
		supprimerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
238
			public void componentSelected(ButtonEvent ce) {
252
			public void componentSelected(ButtonEvent ce) {
239
				String valeur = ce.getComponent().getData("valeur");
253
				String valeur = ce.getComponent().getData("valeur");
240
				LayoutContainer valeurLayout = valeurs.get(valeur);
254
				LayoutContainer valeurLayout = valeurs.get(valeur);
241
				principalLayout.remove(valeurLayout);
255
				principalLayout.remove(valeurLayout);
242
				
256
				
243
				valeurs.remove(valeur);
257
				valeurs.remove(valeur);
244
				
258
				
245
				supprimerValeurDuRecapitulatif(valeur);
259
				supprimerValeurDuRecapitulatif(valeur);
246
				
260
				
247
				actualiserLayoutGlobal();
261
				actualiserLayoutGlobal();
248
			}
262
			}
249
		});
263
		});
250
		colonneLayout.add(supprimerBouton, new ColumnData(largeurBouton));
264
		colonneLayout.add(supprimerBouton, new ColumnData(largeurBouton));
251
		
265
		
252
		// Ajout du layout de la valeur au layout principal
266
		// Ajout du layout de la valeur au layout principal
253
		principalLayout.add(colonneLayout);
267
		principalLayout.add(colonneLayout);
254
		
268
		
255
		// Ajout de la valeur au champ récapitulatif des valeurs ajoutées
269
		// Ajout de la valeur au champ récapitulatif des valeurs ajoutées
256
		ajouterValeurAuRecapitulatif(texte);
270
		ajouterValeurAuRecapitulatif(texte);
257
		reinitialiserChamp();
271
		reinitialiserChamp();
258
		actualiserLayoutGlobal();
272
		actualiserLayoutGlobal();
259
	}
273
	}
260
	
274
	
261
	public void reinitialiserChamp()	{
275
	public void reinitialiserChamp()	{
262
		if (estComboBox) {
276
		if (estComboBox) {
263
			champValeurCombo.setValue(champValeurCombo.getStore().findModel("id_valeur", valeurParDefaut));
277
			champValeurCombo.setValue(champValeurCombo.getStore().findModel("id_valeur", valeurParDefaut));
264
		} else {
278
		} else {
265
			champValeurTxt.setValue(valeurParDefaut);
279
			champValeurTxt.setValue(valeurParDefaut);
266
		}
280
		}
267
		
281
		
268
		if (estMultiType) {
282
		if (estMultiType) {
269
			types.reset();
283
			types.reset();
270
		}
284
		}
271
	}
285
	}
272
	
286
	
273
	public void actualiserLayoutGlobal() {
287
	public void actualiserLayoutGlobal() {
274
		layout();
288
		layout();
275
	}
289
	}
276
	
290
	
277
	public void ajouterValeurAuRecapitulatif(String texte) {
291
	public void ajouterValeurAuRecapitulatif(String texte) {
278
		String texteRecapitulatif = "";
292
		String texteRecapitulatif = "";
279
		if (champRecapitulatif.getValue() != null)	{
293
		if (champRecapitulatif.getValue() != null)	{
280
			texteRecapitulatif = champRecapitulatif.getValue();
294
			texteRecapitulatif = champRecapitulatif.getValue();
281
		}
295
		}
282
		texteRecapitulatif += texte + aDonnee.SEPARATEUR_VALEURS;
296
		texteRecapitulatif += texte + aDonnee.SEPARATEUR_VALEURS;
283
		champRecapitulatif.setValue(texteRecapitulatif);
297
		champRecapitulatif.setValue(texteRecapitulatif);
284
	}
298
	}
285
	
299
	
286
	public void supprimerValeurDuRecapitulatif(String texte) {
300
	public void supprimerValeurDuRecapitulatif(String texte) {
287
		if (champRecapitulatif.getValue() != null)	{
301
		if (champRecapitulatif.getValue() != null)	{
288
			String texteRecapitulatif = champRecapitulatif.getValue();
302
			String texteRecapitulatif = champRecapitulatif.getValue();
289
			texteRecapitulatif = texteRecapitulatif.replace(texte + aDonnee.SEPARATEUR_VALEURS, "");
303
			texteRecapitulatif = texteRecapitulatif.replace(texte + aDonnee.SEPARATEUR_VALEURS, "");
290
			champRecapitulatif.setValue(texteRecapitulatif);
304
			champRecapitulatif.setValue(texteRecapitulatif);
291
		}
305
		}
292
	}
306
	}
293
	
307
	
294
	public String getValeurs() {
308
	public String getValeurs() {
295
		String texteRecapitulatif = "";
309
		String texteRecapitulatif = "";
296
		if (champRecapitulatif.getValue() != null) {
310
		if (champRecapitulatif.getValue() != null) {
297
			texteRecapitulatif = champRecapitulatif.getValue();
311
			texteRecapitulatif = champRecapitulatif.getValue();
298
			texteRecapitulatif = texteRecapitulatif.replaceAll("(.*)"+aDonnee.SEPARATEUR_VALEURS+"$", "$1");
312
			texteRecapitulatif = texteRecapitulatif.replaceAll("(.*)"+aDonnee.SEPARATEUR_VALEURS+"$", "$1");
299
		}
313
		}
300
		return texteRecapitulatif;
314
		return texteRecapitulatif;
301
	}
315
	}
302
	
316
	
303
	public void peupler(String chaineExistante) {
317
	public void peupler(String chaineExistante) {
304
		if (valeurs.size()>0)	{
318
		if (valeurs.size()>0)	{
305
			reinitialiser();
319
			reinitialiser();
306
		}
320
		}
307
		if (chaineExistante != null && !chaineExistante.trim().equals("")) {
321
		if (chaineExistante != null && !chaineExistante.trim().equals("")) {
308
			String[] valeurs = chaineExistante.split(aDonnee.SEPARATEUR_VALEURS);
322
			String[] valeurs = chaineExistante.split(aDonnee.SEPARATEUR_VALEURS);
309
			for (int i = 0; i < valeurs.length; i++) {
323
			for (int i = 0; i < valeurs.length; i++) {
310
				ajouterValeur(valeurs[i]);
324
				ajouterValeur(valeurs[i]);
311
			}
325
			}
312
		}
326
		}
313
	}
327
	}
314
	
328
	
315
	public void reinitialiser()	{
329
	public void reinitialiser()	{
316
		//TODO : pourrait etre mieux fait si les valeurs étaient enregistrées dans un 
330
		//TODO : pourrait etre mieux fait si les valeurs étaient enregistrées dans un 
317
		// layout particulier. Il suffirait alors d'enlever les valeurs de ce layout.
331
		// layout particulier. Il suffirait alors d'enlever les valeurs de ce layout.
318
		principalLayout.removeAll();
332
		principalLayout.removeAll();
319
		initialiserChampMultiValeur(nomLabelChampTxt, largeurTotale);
333
		initialiserChampMultiValeur(nomLabelChampTxt, largeurTotale);
320
	}
334
	}
321
}
335
}