Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1251 Rev 1253
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
import java.util.HashMap;
4
import java.util.HashMap;
5
import java.util.Iterator;
5
import java.util.Iterator;
6
import java.util.List;
6
import java.util.List;
7
 
7
 
8
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.Mediateur;
9
import org.tela_botanica.client.composants.ChampCaseACocher;
9
import org.tela_botanica.client.composants.ChampCaseACocher;
10
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
10
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
11
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
11
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
12
import org.tela_botanica.client.composants.ChampSliderPourcentage;
12
import org.tela_botanica.client.composants.ChampSliderPourcentage;
13
import org.tela_botanica.client.composants.InfoLogger;
13
import org.tela_botanica.client.composants.InfoLogger;
14
import org.tela_botanica.client.images.Images;
14
import org.tela_botanica.client.images.Images;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.modeles.InterneValeur;
16
import org.tela_botanica.client.modeles.InterneValeur;
17
import org.tela_botanica.client.modeles.Valeur;
17
import org.tela_botanica.client.modeles.Valeur;
18
import org.tela_botanica.client.modeles.ValeurListe;
18
import org.tela_botanica.client.modeles.ValeurListe;
19
import org.tela_botanica.client.modeles.aDonnee;
19
import org.tela_botanica.client.modeles.aDonnee;
20
import org.tela_botanica.client.modeles.collection.Collection;
20
import org.tela_botanica.client.modeles.collection.Collection;
21
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
21
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
22
import org.tela_botanica.client.modeles.collection.UniteBase;
22
import org.tela_botanica.client.modeles.collection.UniteBase;
23
import org.tela_botanica.client.modeles.collection.UniteRangement;
23
import org.tela_botanica.client.modeles.collection.UniteRangement;
24
import org.tela_botanica.client.util.Debug;
24
import org.tela_botanica.client.util.Debug;
25
import org.tela_botanica.client.util.Pattern;
25
import org.tela_botanica.client.util.Pattern;
26
import org.tela_botanica.client.util.UtilNombre;
26
import org.tela_botanica.client.util.UtilNombre;
27
import org.tela_botanica.client.util.UtilString;
27
import org.tela_botanica.client.util.UtilString;
28
import org.tela_botanica.client.vues.Formulaire;
28
import org.tela_botanica.client.vues.Formulaire;
29
import org.tela_botanica.client.vues.FormulaireOnglet;
29
import org.tela_botanica.client.vues.FormulaireOnglet;
30
 
30
 
31
import com.extjs.gxt.ui.client.Style.Scroll;
31
import com.extjs.gxt.ui.client.Style.Scroll;
-
 
32
import com.extjs.gxt.ui.client.event.BaseEvent;
32
import com.extjs.gxt.ui.client.event.ButtonEvent;
33
import com.extjs.gxt.ui.client.event.ButtonEvent;
-
 
34
import com.extjs.gxt.ui.client.event.ComponentEvent;
-
 
35
import com.extjs.gxt.ui.client.event.Events;
-
 
36
import com.extjs.gxt.ui.client.event.FieldEvent;
33
import com.extjs.gxt.ui.client.event.Listener;
37
import com.extjs.gxt.ui.client.event.Listener;
34
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
38
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
35
import com.extjs.gxt.ui.client.event.SelectionListener;
39
import com.extjs.gxt.ui.client.event.SelectionListener;
36
import com.extjs.gxt.ui.client.store.ListStore;
40
import com.extjs.gxt.ui.client.store.ListStore;
37
import com.extjs.gxt.ui.client.widget.ContentPanel;
41
import com.extjs.gxt.ui.client.widget.ContentPanel;
38
import com.extjs.gxt.ui.client.widget.Info;
42
import com.extjs.gxt.ui.client.widget.Info;
39
import com.extjs.gxt.ui.client.widget.MessageBox;
43
import com.extjs.gxt.ui.client.widget.MessageBox;
40
import com.extjs.gxt.ui.client.widget.Text;
44
import com.extjs.gxt.ui.client.widget.Text;
41
import com.extjs.gxt.ui.client.widget.button.Button;
45
import com.extjs.gxt.ui.client.widget.button.Button;
42
import com.extjs.gxt.ui.client.widget.form.ComboBox;
46
import com.extjs.gxt.ui.client.widget.form.ComboBox;
43
import com.extjs.gxt.ui.client.widget.form.FieldSet;
47
import com.extjs.gxt.ui.client.widget.form.FieldSet;
-
 
48
import com.extjs.gxt.ui.client.widget.form.LabelField;
44
import com.extjs.gxt.ui.client.widget.form.NumberField;
49
import com.extjs.gxt.ui.client.widget.form.NumberField;
-
 
50
import com.extjs.gxt.ui.client.widget.form.TextArea;
45
import com.extjs.gxt.ui.client.widget.form.TextField;
51
import com.extjs.gxt.ui.client.widget.form.TextField;
46
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
52
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
47
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
53
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
48
import com.extjs.gxt.ui.client.widget.grid.AggregationRowConfig;
54
import com.extjs.gxt.ui.client.widget.grid.AggregationRowConfig;
49
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
55
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
50
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
56
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
51
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
57
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
52
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
58
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
53
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
59
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
54
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
60
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
55
import com.extjs.gxt.ui.client.widget.grid.SummaryType;
61
import com.extjs.gxt.ui.client.widget.grid.SummaryType;
56
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
62
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
57
import com.extjs.gxt.ui.client.widget.layout.FormData;
63
import com.extjs.gxt.ui.client.widget.layout.FormData;
58
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
64
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
59
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
65
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
60
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
66
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
61
import com.google.gwt.i18n.client.NumberFormat;
67
import com.google.gwt.i18n.client.NumberFormat;
62
 
68
 
63
public class CollectionFormDescription extends FormulaireOnglet implements Rafraichissable {
69
public class CollectionFormDescription extends FormulaireOnglet implements Rafraichissable {
64
	
70
	
65
	public static final String ID = "description";
71
	public static final String ID = "description";
66
	private Collection collection = null;
72
	private Collection collection = null;
67
	private CollectionBotanique collectionBotanique = null;
73
	private CollectionBotanique collectionBotanique = null;
68
	private Collection collectionCollectee = null;
74
	private Collection collectionCollectee = null;
69
	private CollectionBotanique collectionBotaniqueCollectee = null;
75
	private CollectionBotanique collectionBotaniqueCollectee = null;
70
	
76
	
71
	private static ListStore<InterneValeur> precisionStore = null;
77
	private static ListStore<InterneValeur> precisionStore = null;
72
	private ChampComboBoxListeValeurs typesCollectionBotaCombo = null;
78
	private ChampComboBoxListeValeurs typesCollectionBotaCombo = null;
73
	private NumberField nbreEchantillonChp = null;
79
	private NumberField nbreEchantillonChp = null;
74
	private EditorGrid<UniteRangement> uniteRangementGrille = null;
80
	private EditorGrid<UniteRangement> uniteRangementGrille = null;
75
	private ChampComboBoxListeValeurs etatUniteRangementCombo = null;
81
	private ChampComboBoxListeValeurs etatUniteRangementCombo = null;
76
	private EditorGrid<UniteBase> uniteBaseGrille = null;
82
	private EditorGrid<UniteBase> uniteBaseGrille = null;
77
	private ChampCaseACocher typePapierConservationChp = null;
83
	private ChampCaseACocher typePapierConservationChp = null;
78
	private ChampCaseACocher methodeConservationChp = null;
84
	private ChampCaseACocher methodeConservationChp = null;
79
	private ChampSliderPourcentage specimenFixationPourcentChp = null;
85
	private ChampSliderPourcentage specimenFixationPourcentChp = null;
80
	private ChampSliderPourcentage etiquetteFixationPourcentChp = null;
86
	private ChampSliderPourcentage etiquetteFixationPourcentChp = null;
81
	private ChampCaseACocher specimentMethodeFixationChp = null;
87
	private ChampCaseACocher specimentMethodeFixationChp = null;
82
	private ChampCaseACocher etiquetteMethodeFixationSurSupportChp = null;
88
	private ChampCaseACocher etiquetteMethodeFixationSurSupportChp = null;
83
	private ChampCaseACocher etiquetteMethodeFixationSurSpecimenChp = null;
89
	private ChampCaseACocher etiquetteMethodeFixationSurSpecimenChp = null;
84
	private ChampCaseACocher typeEcritureChp = null;
90
	private ChampCaseACocher typeEcritureChp = null;
85
	private ChampComboBoxListeValeurs traitementCombo = null;
91
	private ChampComboBoxListeValeurs traitementCombo = null;
86
	private ChampCaseACocher poisonTraitementChp = null;
92
	private ChampCaseACocher poisonTraitementChp = null;
87
	private ChampCaseACocher insecteTraitementChp = null;
93
	private ChampCaseACocher insecteTraitementChp = null;
88
	private ChampComboBoxListeValeurs etatGeneralCombo = null;
94
	private ChampComboBoxListeValeurs etatGeneralCombo = null;
89
	private ChampComboBoxListeValeurs determinationCombo = null;
95
	private ChampComboBoxListeValeurs determinationCombo = null;
90
	private ChampMultiValeursMultiTypes specimenDegradationChp = null;
96
	private ChampMultiValeursMultiTypes specimenDegradationChp = null;
91
	private ChampMultiValeursMultiTypes presentationDegradationChp = null;
97
	private ChampMultiValeursMultiTypes presentationDegradationChp = null;
-
 
98
	private Text labelPresentationDegradationChp = null;
92
		
99
		
93
	public CollectionFormDescription(Formulaire formulaireCourrant) {
100
	public CollectionFormDescription(Formulaire formulaireCourrant) {
94
		initialiserOnglet(formulaireCourrant);
101
		initialiserOnglet(formulaireCourrant);
95
		setId(ID);
102
		setId(ID);
96
		setText(Mediateur.i18nC.collectionDescription());
103
		setText(Mediateur.i18nC.collectionDescription());
97
 
104
 
98
		FormLayout formulaireLayout = (FormLayout) this.getLayout();
105
		FormLayout formulaireLayout = (FormLayout) this.getLayout();
99
		formulaireLayout.setLabelAlign(LabelAlign.LEFT);
106
		formulaireLayout.setLabelAlign(LabelAlign.LEFT);
100
		formulaireLayout.setLabelWidth(300);
107
		formulaireLayout.setLabelWidth(300);
101
		
108
		
102
		creerFieldsetPrecision();
109
		creerFieldsetPrecision();
103
		creerStorePrecision();
110
		creerStorePrecision();
104
		creerUniteRangement();
111
		creerUniteRangement();
105
		creerUniteBase();
112
		creerUniteBase();
106
		creerFieldsetConservation();
113
		creerFieldsetConservation();
107
		creerFieldsetEtiquette();
114
		creerFieldsetEtiquette();
108
		creerFieldsetTraitement();
115
		creerFieldsetTraitement();
109
		creerFieldsetEtat();
116
		creerFieldsetEtat();
110
		
117
		
111
		layout();
118
		layout();
112
	}
119
	}
113
	
120
	
114
	private void creerFieldsetPrecision() {
121
	private void creerFieldsetPrecision() {
115
		FieldSet precisionFieldSet = new FieldSet();
122
		FieldSet precisionFieldSet = new FieldSet();
116
		precisionFieldSet.setHeading(i18nC.collectionTitrePrecision());
123
		precisionFieldSet.setHeading(i18nC.collectionTitrePrecision());
117
		precisionFieldSet.setCollapsible(true);
124
		precisionFieldSet.setCollapsible(true);
118
		precisionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
125
		precisionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
119
		
126
		
120
		typesCollectionBotaCombo = new ChampComboBoxListeValeurs(i18nC.typeCollectionBotanique(), "typeCollectionBota");
127
		typesCollectionBotaCombo = new ChampComboBoxListeValeurs(i18nC.typeCollectionBotanique(), "typeCollectionBota");
121
		typesCollectionBotaCombo.setTabIndex(tabIndex++);
128
		typesCollectionBotaCombo.setTabIndex(tabIndex++);
122
		precisionFieldSet.add(typesCollectionBotaCombo, new FormData(250, 0));
129
		precisionFieldSet.add(typesCollectionBotaCombo, new FormData(250, 0));
123
		
130
		
124
		nbreEchantillonChp = new NumberField(); 
131
		nbreEchantillonChp = new NumberField(); 
125
		nbreEchantillonChp.setFieldLabel(i18nC.nbreEchantillon());
132
		nbreEchantillonChp.setFieldLabel(i18nC.nbreEchantillon());
126
		nbreEchantillonChp.setToolTip(i18nC.nbreEchantillonInfo());
133
		nbreEchantillonChp.setToolTip(i18nC.nbreEchantillonInfo());
127
		nbreEchantillonChp.setFormat(NumberFormat.getFormat("#"));
134
		nbreEchantillonChp.setFormat(NumberFormat.getFormat("#"));
128
		precisionFieldSet.add(nbreEchantillonChp);
135
		precisionFieldSet.add(nbreEchantillonChp);
129
		
136
		
130
		this.add(precisionFieldSet);
137
		this.add(precisionFieldSet);
131
	}
138
	}
132
	
139
	
133
	private static void creerStorePrecision() {
140
	private static void creerStorePrecision() {
134
		if (precisionStore == null) {
141
		if (precisionStore == null) {
135
			precisionStore = new ListStore<InterneValeur>();
142
			precisionStore = new ListStore<InterneValeur>();
136
			precisionStore.add(new InterneValeur(UniteRangement.COMPTE_APPROXIMATIF, Mediateur.i18nC.precisionApproximatif()));  
143
			precisionStore.add(new InterneValeur(UniteRangement.COMPTE_APPROXIMATIF, Mediateur.i18nC.precisionApproximatif()));  
137
			precisionStore.add(new InterneValeur(UniteRangement.COMPTE_EXACT, Mediateur.i18nC.precisionExact()));
144
			precisionStore.add(new InterneValeur(UniteRangement.COMPTE_EXACT, Mediateur.i18nC.precisionExact()));
138
		}
145
		}
139
	}
146
	}
140
	
147
	
141
	private static String getPrecisionNom(String precisionAbr) {
148
	private static String getPrecisionNom(String precisionAbr) {
142
		String precision = "";
149
		String precision = "";
143
		if (!precisionAbr.equals("NULL")) {
150
		if (!precisionAbr.equals("NULL")) {
144
			creerStorePrecision();
151
			creerStorePrecision();
145
			InterneValeur precisionValeur = precisionStore.findModel("abr", precisionAbr);
152
			InterneValeur precisionValeur = precisionStore.findModel("abr", precisionAbr);
146
			if (precisionValeur != null && !precisionValeur.getNom().equals("NULL")) {
153
			if (precisionValeur != null && !precisionValeur.getNom().equals("NULL")) {
147
				precision = precisionValeur.getNom();
154
				precision = precisionValeur.getNom();
148
			}
155
			}
149
		}
156
		}
150
		return precision;
157
		return precision;
151
	}
158
	}
152
	
159
	
153
	private static String getPrecisionAbr(String precisionNom) {
160
	private static String getPrecisionAbr(String precisionNom) {
154
		String precision = "";
161
		String precision = "";
155
		if (!precisionNom.equals("NULL")) {
162
		if (!precisionNom.equals("NULL")) {
156
			creerStorePrecision();
163
			creerStorePrecision();
157
			InterneValeur precisionValeur = precisionStore.findModel("nom", precisionNom);
164
			InterneValeur precisionValeur = precisionStore.findModel("nom", precisionNom);
158
			if (precisionValeur != null) {
165
			if (precisionValeur != null) {
159
				precision = precisionValeur.getAbr();
166
				precision = precisionValeur.getAbr();
160
			}
167
			}
161
		}
168
		}
162
		return precision;
169
		return precision;
163
	}
170
	}
164
	
171
	
165
	private ComboBox<InterneValeur> getChampPrecision() {
172
	private ComboBox<InterneValeur> getChampPrecision() {
166
		ComboBox<InterneValeur> precisionCombo = new ComboBox<InterneValeur>();
173
		ComboBox<InterneValeur> precisionCombo = new ComboBox<InterneValeur>();
167
		precisionCombo.setForceSelection(true);
174
		precisionCombo.setForceSelection(true);
168
		precisionCombo.setTriggerAction(TriggerAction.ALL);
175
		precisionCombo.setTriggerAction(TriggerAction.ALL);
169
		precisionCombo.setDisplayField("nom");
176
		precisionCombo.setDisplayField("nom");
170
		precisionCombo.setStore(precisionStore);
177
		precisionCombo.setStore(precisionStore);
171
		precisionCombo.setEditable(false);
178
		precisionCombo.setEditable(false);
172
		return precisionCombo;
179
		return precisionCombo;
173
	}
180
	}
174
	
181
	
175
	private void creerUniteRangement() {
182
	private void creerUniteRangement() {
176
		ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteRangementTitre());
183
		ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteRangementTitre());
177
		
184
		
178
		uniteRangementGrille  = creerGrilleUniteRangement();
185
		uniteRangementGrille  = creerGrilleUniteRangement();
179
		mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteRangement");
186
		mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteRangement");
180
		panneauGrille.add(uniteRangementGrille);
187
		panneauGrille.add(uniteRangementGrille);
181
		
188
		
182
		ToolBar barreOutils = creerBarreOutilsGrilleUniteRangement();
189
		ToolBar barreOutils = creerBarreOutilsGrilleUniteRangement();
183
		panneauGrille.setTopComponent(barreOutils);
190
		panneauGrille.setTopComponent(barreOutils);
184
		
191
		
185
		add(panneauGrille);
192
		add(panneauGrille);
186
	}
193
	}
187
	
194
	
188
	private ContentPanel creerPanneauContenantGrille(String titre) {
195
	private ContentPanel creerPanneauContenantGrille(String titre) {
189
		ContentPanel panneau = new ContentPanel();
196
		ContentPanel panneau = new ContentPanel();
190
		panneau.setHeading(titre);
197
		panneau.setHeading(titre);
191
		panneau.setIcon(Images.ICONES.table());
198
		panneau.setIcon(Images.ICONES.table());
192
		panneau.setLayout(new FitLayout());
199
		panneau.setLayout(new FitLayout());
193
		panneau.setFrame(true);
200
		panneau.setFrame(true);
194
		panneau.setScrollMode(Scroll.AUTO);
201
		panneau.setScrollMode(Scroll.AUTO);
195
		panneau.setCollapsible(true);
202
		panneau.setCollapsible(true);
196
		panneau.setStyleAttribute("margin", "5px 0");
203
		panneau.setStyleAttribute("margin", "5px 0");
197
		
204
		
198
		return panneau;
205
		return panneau;
199
	}
206
	}
200
	
207
	
201
	private EditorGrid<UniteRangement> creerGrilleUniteRangement() {
208
	private EditorGrid<UniteRangement> creerGrilleUniteRangement() {
202
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
209
		ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
203
		
210
		
204
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
211
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
205
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
212
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
206
		
213
		
207
		NumberField champNombre = new NumberField();
214
		NumberField champNombre = new NumberField();
208
		champNombre.setFormat(NumberFormat.getFormat("#"));
215
		champNombre.setFormat(NumberFormat.getFormat("#"));
209
		
216
		
210
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
217
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
211
		nombreColonne.setEditor(new CellEditor(champNombre));
218
		nombreColonne.setEditor(new CellEditor(champNombre));
212
		nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
219
		nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
213
		colonnes.add(nombreColonne);
220
		colonnes.add(nombreColonne);
214
				
221
				
215
		CellEditor editeurPrecision = new CellEditor(getChampPrecision()) {  
222
		CellEditor editeurPrecision = new CellEditor(getChampPrecision()) {  
216
			@Override  
223
			@Override  
217
			public Object preProcessValue(Object valeur) {  
224
			public Object preProcessValue(Object valeur) {  
218
				InterneValeur retour = null;
225
				InterneValeur retour = null;
219
				if (valeur != null ) {
226
				if (valeur != null ) {
220
					if (precisionStore.findModel("nom", valeur.toString()) != null) {
227
					if (precisionStore.findModel("nom", valeur.toString()) != null) {
221
						retour = precisionStore.findModel("nom", valeur.toString());
228
						retour = precisionStore.findModel("nom", valeur.toString());
222
					} else if (precisionStore.findModel("abr", valeur.toString()) != null) {
229
					} else if (precisionStore.findModel("abr", valeur.toString()) != null) {
223
						retour = precisionStore.findModel("abr", valeur.toString());
230
						retour = precisionStore.findModel("abr", valeur.toString());
224
					}
231
					}
225
				}
232
				}
226
				return retour;
233
				return retour;
227
			}  
234
			}  
228
 
235
 
229
			@Override  
236
			@Override  
230
			public Object postProcessValue(Object valeur) {  
237
			public Object postProcessValue(Object valeur) {  
231
				String retour = null;
238
				String retour = null;
232
				if (valeur != null ) {
239
				if (valeur != null ) {
233
					if (valeur instanceof InterneValeur) {
240
					if (valeur instanceof InterneValeur) {
234
						InterneValeur valeurInterne = (InterneValeur) valeur;
241
						InterneValeur valeurInterne = (InterneValeur) valeur;
235
						retour = valeurInterne.getNom();
242
						retour = valeurInterne.getNom();
236
					}
243
					}
237
				}
244
				}
238
				return retour;  
245
				return retour;  
239
			}
246
			}
240
		};
247
		};
241
		
248
		
242
		ColumnConfig precisionColonne = new ColumnConfig("precision", i18nC.collectionUnitePrecision(), 50);
249
		ColumnConfig precisionColonne = new ColumnConfig("precision", i18nC.collectionUnitePrecision(), 50);
243
		precisionColonne.setEditor(editeurPrecision);
250
		precisionColonne.setEditor(editeurPrecision);
244
		colonnes.add(precisionColonne);
251
		colonnes.add(precisionColonne);
245
		
252
		
246
		TextField<String> formatChp = new TextField<String>();
253
		TextField<String> formatChp = new TextField<String>();
247
		ColumnConfig formatColonne =  new ColumnConfig("format", i18nC.collectionUniteFormat(), 100);
254
		ColumnConfig formatColonne =  new ColumnConfig("format", i18nC.collectionUniteFormat(), 100);
248
		formatColonne.setEditor(new CellEditor(formatChp));
255
		formatColonne.setEditor(new CellEditor(formatChp));
249
		colonnes.add(formatColonne);
256
		colonnes.add(formatColonne);
250
		
257
		
251
		GridSelectionModel<UniteRangement> modeleDeSelection = new GridSelectionModel<UniteRangement>();
258
		GridSelectionModel<UniteRangement> modeleDeSelection = new GridSelectionModel<UniteRangement>();
252
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
259
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
253
		
260
		
254
		AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
261
		AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
255
		total.setHtml("type", i18nC.total());
262
		total.setHtml("type", i18nC.total());
256
		total.setSummaryType("nombre", SummaryType.SUM);
263
		total.setSummaryType("nombre", SummaryType.SUM);
257
		total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
264
		total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
258
		modeleDeColonnes.addAggregationRow(total);
265
		modeleDeColonnes.addAggregationRow(total);
259
		
266
		
260
		EditorGrid<UniteRangement> grilleUniteRangement = new EditorGrid<UniteRangement>(storeGrille, modeleDeColonnes);
267
		EditorGrid<UniteRangement> grilleUniteRangement = new EditorGrid<UniteRangement>(storeGrille, modeleDeColonnes);
261
		grilleUniteRangement.setHeight(300);
268
		grilleUniteRangement.setHeight(300);
262
		grilleUniteRangement.setBorders(true);
269
		grilleUniteRangement.setBorders(true);
263
		grilleUniteRangement.setSelectionModel(modeleDeSelection);
270
		grilleUniteRangement.setSelectionModel(modeleDeSelection);
264
		grilleUniteRangement.getView().setForceFit(true);
271
		grilleUniteRangement.getView().setForceFit(true);
265
		grilleUniteRangement.getView().setAutoFill(true);
272
		grilleUniteRangement.getView().setAutoFill(true);
266
		grilleUniteRangement.setAutoExpandColumn("type");
273
		grilleUniteRangement.setAutoExpandColumn("type");
267
		grilleUniteRangement.setStripeRows(true);
274
		grilleUniteRangement.setStripeRows(true);
268
		grilleUniteRangement.setTrackMouseOver(true);
275
		grilleUniteRangement.setTrackMouseOver(true);
269
		
276
		
270
		return grilleUniteRangement;
277
		return grilleUniteRangement;
271
	}
278
	}
272
	
279
	
273
	private String collecterGrilleUniteRangement() {
280
	private String collecterGrilleUniteRangement() {
274
		String truk = "";
281
		String truk = "";
275
		int nbreUnite = uniteRangementGrille.getStore().getCount();
282
		int nbreUnite = uniteRangementGrille.getStore().getCount();
276
		for (int i = 0; i < nbreUnite; i++) {
283
		for (int i = 0; i < nbreUnite; i++) {
277
			UniteRangement unite = uniteRangementGrille.getStore().getAt(i);
284
			UniteRangement unite = uniteRangementGrille.getStore().getAt(i);
278
			if (unite.getTypeAutre()) {
285
			if (unite.getTypeAutre()) {
279
				truk += unite.getType();
286
				truk += unite.getType();
280
			} else {
287
			} else {
281
				truk += unite.getId();
288
				truk += unite.getId();
282
			}
289
			}
283
			truk += aDonnee.SEPARATEUR_TYPE_VALEUR;
290
			truk += aDonnee.SEPARATEUR_TYPE_VALEUR;
284
			truk += UtilNombre.formaterEnEntier(unite.getNombre())+aDonnee.SEPARATEUR_DONNEES;
291
			truk += UtilNombre.formaterEnEntier(unite.getNombre())+aDonnee.SEPARATEUR_DONNEES;
285
			truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
292
			truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
286
			truk += unite.getFormat();
293
			truk += unite.getFormat();
287
			truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
294
			truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
288
		}
295
		}
289
		return truk;
296
		return truk;
290
	}
297
	}
291
	
298
	
292
	private void peuplerGrilleUniteRangement(String valeurTruk) {
299
	private void peuplerGrilleUniteRangement(String valeurTruk) {
293
		if (!UtilString.isEmpty(valeurTruk)) {
300
		if (!UtilString.isEmpty(valeurTruk)) {
294
			HashMap<String,UniteRangement> unitesEnregistrees = parserValeurUniteRangement(valeurTruk);
301
			HashMap<String,UniteRangement> unitesEnregistrees = parserValeurUniteRangement(valeurTruk);
295
			
302
			
296
			ArrayList<UniteRangement> listeUniteMaj = new ArrayList<UniteRangement>();
303
			ArrayList<UniteRangement> listeUniteMaj = new ArrayList<UniteRangement>();
297
			int nbreUnite = uniteRangementGrille.getStore().getCount();
304
			int nbreUnite = uniteRangementGrille.getStore().getCount();
298
			for (int i = 0; i < nbreUnite; i++) {
305
			for (int i = 0; i < nbreUnite; i++) {
299
				UniteRangement uniteDansGrille = uniteRangementGrille.getStore().getAt(i);
306
				UniteRangement uniteDansGrille = uniteRangementGrille.getStore().getAt(i);
300
				UniteRangement uniteEnregistree = unitesEnregistrees.get(uniteDansGrille.getId());
307
				UniteRangement uniteEnregistree = unitesEnregistrees.get(uniteDansGrille.getId());
301
				if (uniteEnregistree != null) {
308
				if (uniteEnregistree != null) {
302
					uniteEnregistree.setType(uniteDansGrille.getType());
309
					uniteEnregistree.setType(uniteDansGrille.getType());
303
					listeUniteMaj.add(uniteEnregistree);
310
					listeUniteMaj.add(uniteEnregistree);
304
				} else {
311
				} else {
305
					listeUniteMaj.add(uniteDansGrille);
312
					listeUniteMaj.add(uniteDansGrille);
306
				}
313
				}
307
			}
314
			}
308
			
315
			
309
			Iterator<String> it = unitesEnregistrees.keySet().iterator();
316
			Iterator<String> it = unitesEnregistrees.keySet().iterator();
310
			while (it.hasNext()) {
317
			while (it.hasNext()) {
311
				String cle = it.next();
318
				String cle = it.next();
312
				if (cle.matches(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR)) {
319
				if (cle.matches(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR)) {
313
					UniteRangement uniteAutreEnregistree = unitesEnregistrees.get(cle);
320
					UniteRangement uniteAutreEnregistree = unitesEnregistrees.get(cle);
314
					listeUniteMaj.add(uniteAutreEnregistree);
321
					listeUniteMaj.add(uniteAutreEnregistree);
315
				}
322
				}
316
			}
323
			}
317
			
324
			
318
			uniteRangementGrille.getStore().removeAll();
325
			uniteRangementGrille.getStore().removeAll();
319
			uniteRangementGrille.getStore().add(listeUniteMaj);
326
			uniteRangementGrille.getStore().add(listeUniteMaj);
320
			layout();
327
			layout();
321
		}
328
		}
322
	}
329
	}
323
	
330
	
324
	public static HashMap<String,UniteRangement> parserValeurUniteRangement(String valeurTruk) {
331
	public static HashMap<String,UniteRangement> parserValeurUniteRangement(String valeurTruk) {
325
		HashMap<String,UniteRangement> unitesEnregistrees = new HashMap<String,UniteRangement>(); 
332
		HashMap<String,UniteRangement> unitesEnregistrees = new HashMap<String,UniteRangement>(); 
326
		if (!UtilString.isEmpty(valeurTruk)) {
333
		if (!UtilString.isEmpty(valeurTruk)) {
327
			String[] unites = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS));
334
			String[] unites = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS));
328
			for (int i = 0; i < unites.length; i++) {
335
			for (int i = 0; i < unites.length; i++) {
329
				String[] uniteTypeIdDonnees = unites[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR));
336
				String[] uniteTypeIdDonnees = unites[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR));
330
				String uniteChaineDonnees = uniteTypeIdDonnees[1];
337
				String uniteChaineDonnees = uniteTypeIdDonnees[1];
331
				String[] uniteDonnees = uniteChaineDonnees.split(Pattern.quote(aDonnee.SEPARATEUR_DONNEES));
338
				String[] uniteDonnees = uniteChaineDonnees.split(Pattern.quote(aDonnee.SEPARATEUR_DONNEES));
332
				
339
				
333
				UniteRangement uniteRangement = new UniteRangement();
340
				UniteRangement uniteRangement = new UniteRangement();
334
				if (uniteDonnees.length > 0) {
341
				if (uniteDonnees.length > 0) {
335
					uniteRangement.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
342
					uniteRangement.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
336
				}
343
				}
337
				if (uniteDonnees.length > 1) {
344
				if (uniteDonnees.length > 1) {
338
					uniteRangement.setPrecision(getPrecisionNom(uniteDonnees[1]));
345
					uniteRangement.setPrecision(getPrecisionNom(uniteDonnees[1]));
339
				}
346
				}
340
				if (uniteDonnees.length > 2) {
347
				if (uniteDonnees.length > 2) {
341
					uniteRangement.setFormat(uniteDonnees[2]);
348
					uniteRangement.setFormat(uniteDonnees[2]);
342
				}
349
				}
343
				
350
				
344
				if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
351
				if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
345
					uniteRangement.setId(uniteTypeIdDonnees[0]);
352
					uniteRangement.setId(uniteTypeIdDonnees[0]);
346
					uniteRangement.setTypeAutre(false);
353
					uniteRangement.setTypeAutre(false);
347
					unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteRangement);
354
					unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteRangement);
348
				} else {
355
				} else {
349
					uniteRangement.setType(uniteTypeIdDonnees[0]);
356
					uniteRangement.setType(uniteTypeIdDonnees[0]);
350
					uniteRangement.setTypeAutre(true);
357
					uniteRangement.setTypeAutre(true);
351
					String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
358
					String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
352
					uniteRangement.setId(id);
359
					uniteRangement.setId(id);
353
					unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR, uniteRangement);
360
					unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR, uniteRangement);
354
				}
361
				}
355
			}
362
			}
356
		}
363
		}
357
		return unitesEnregistrees;
364
		return unitesEnregistrees;
358
	}
365
	}
359
	
366
	
360
	private ToolBar creerBarreOutilsGrilleUniteRangement() {
367
	private ToolBar creerBarreOutilsGrilleUniteRangement() {
361
		ToolBar barreOutils = new ToolBar();  
368
		ToolBar barreOutils = new ToolBar();  
362
		
369
		
363
		Button ajouterBouton = creerBoutonAjouterUniteRangement();
370
		Button ajouterBouton = creerBoutonAjouterUniteRangement();
364
		barreOutils.add(ajouterBouton);
371
		barreOutils.add(ajouterBouton);
365
		
372
		
366
		barreOutils.add(new SeparatorToolItem());
373
		barreOutils.add(new SeparatorToolItem());
367
		
374
		
368
		Button supprimerBouton = creerBoutonSupprimerUniteRangement();
375
		Button supprimerBouton = creerBoutonSupprimerUniteRangement();
369
		barreOutils.add(supprimerBouton);
376
		barreOutils.add(supprimerBouton);
370
		
377
		
371
		barreOutils.add(new SeparatorToolItem());
378
		barreOutils.add(new SeparatorToolItem());
372
		barreOutils.add(new Text(i18nC.collectionUniteRangementEtatGeneralLabel()));
379
		barreOutils.add(new Text(i18nC.collectionUniteRangementEtatGeneralLabel()));
373
		etatUniteRangementCombo = new ChampComboBoxListeValeurs("", "etat");
380
		etatUniteRangementCombo = new ChampComboBoxListeValeurs("", "etat");
374
		etatUniteRangementCombo.setEmptyText(i18nC.collectionUniteRangementEtatGeneral());
381
		etatUniteRangementCombo.setEmptyText(i18nC.collectionUniteRangementEtatGeneral());
375
		etatUniteRangementCombo.setToolTip(i18nC.collectionUniteRangementEtatGeneralInfo());
382
		etatUniteRangementCombo.setToolTip(i18nC.collectionUniteRangementEtatGeneralInfo());
376
		etatUniteRangementCombo.setTrie("id_valeur");
383
		etatUniteRangementCombo.setTrie("id_valeur");
377
		etatUniteRangementCombo.setWidth(300);
384
		etatUniteRangementCombo.setWidth(300);
378
		barreOutils.add(etatUniteRangementCombo);
385
		barreOutils.add(etatUniteRangementCombo);
379
		
386
		
380
		return barreOutils;
387
		return barreOutils;
381
	}
388
	}
382
	
389
	
383
	private Button creerBoutonAjouterUniteRangement() {
390
	private Button creerBoutonAjouterUniteRangement() {
384
		Button bouton = new Button(i18nC.ajouter());
391
		Button bouton = new Button(i18nC.ajouter());
385
		bouton.setIcon(Images.ICONES.ajouter());
392
		bouton.setIcon(Images.ICONES.ajouter());
386
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
393
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
387
			@Override
394
			@Override
388
			public void componentSelected(ButtonEvent ce) {
395
			public void componentSelected(ButtonEvent ce) {
389
				final MessageBox box = MessageBox.prompt(i18nC.collectionUniteType(), i18nC.collectionUniteRangementSaisirType());
396
				final MessageBox box = MessageBox.prompt(i18nC.collectionUniteType(), i18nC.collectionUniteRangementSaisirType());
390
					box.addCallback(new Listener<MessageBoxEvent>() {
397
					box.addCallback(new Listener<MessageBoxEvent>() {
391
					public void handleEvent(MessageBoxEvent be) {
398
					public void handleEvent(MessageBoxEvent be) {
392
						if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
399
						if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
393
							final UniteRangement unite = new UniteRangement();
400
							final UniteRangement unite = new UniteRangement();
394
							unite.setType(be.getValue());
401
							unite.setType(be.getValue());
395
							unite.setTypeAutre(true);
402
							unite.setTypeAutre(true);
396
							uniteRangementGrille.getStore().add(unite);
403
							uniteRangementGrille.getStore().add(unite);
397
						} else {
404
						} else {
398
							InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
405
							InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
399
						}
406
						}
400
					}
407
					}
401
				});
408
				});
402
			}
409
			}
403
		});
410
		});
404
		return bouton;
411
		return bouton;
405
	}
412
	}
406
	
413
	
407
	private Button creerBoutonSupprimerUniteRangement() {
414
	private Button creerBoutonSupprimerUniteRangement() {
408
		Button bouton = new Button(i18nC.supprimer());
415
		Button bouton = new Button(i18nC.supprimer());
409
		bouton.setIcon(Images.ICONES.supprimer());
416
		bouton.setIcon(Images.ICONES.supprimer());
410
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
417
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
411
			@Override
418
			@Override
412
			public void componentSelected(ButtonEvent ce) {
419
			public void componentSelected(ButtonEvent ce) {
413
				UniteRangement uniteRangementSelectionnee = uniteRangementGrille.getSelectionModel().getSelectedItem();
420
				UniteRangement uniteRangementSelectionnee = uniteRangementGrille.getSelectionModel().getSelectedItem();
414
				if (uniteRangementSelectionnee == null) {
421
				if (uniteRangementSelectionnee == null) {
415
					InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteRangement()));
422
					InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteRangement()));
416
				} else if (uniteRangementSelectionnee.getTypeAutre() == false) {
423
				} else if (uniteRangementSelectionnee.getTypeAutre() == false) {
417
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteRangementAjoute());
424
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteRangementAjoute());
418
				} else {
425
				} else {
419
					uniteRangementGrille.getStore().remove(uniteRangementSelectionnee);
426
					uniteRangementGrille.getStore().remove(uniteRangementSelectionnee);
420
				}
427
				}
421
			}   
428
			}   
422
		});
429
		});
423
		return bouton;
430
		return bouton;
424
	}
431
	}
425
	
432
	
426
	private void creerUniteBase() {
433
	private void creerUniteBase() {
427
		ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteBaseTitre());
434
		ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteBaseTitre());
428
		
435
		
429
		uniteBaseGrille  = creerGrilleUniteBase();
436
		uniteBaseGrille  = creerGrilleUniteBase();
430
		mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteBase");
437
		mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteBase");
431
		panneauGrille.add(uniteBaseGrille);
438
		panneauGrille.add(uniteBaseGrille);
432
		
439
		
433
		ToolBar barreOutils = creerBarreOutilsGrilleUniteBase();
440
		ToolBar barreOutils = creerBarreOutilsGrilleUniteBase();
434
		panneauGrille.setTopComponent(barreOutils);
441
		panneauGrille.setTopComponent(barreOutils);
435
		
442
		
436
		add(panneauGrille);		
443
		add(panneauGrille);		
437
	}
444
	}
438
	
445
	
439
	private EditorGrid<UniteBase> creerGrilleUniteBase() {
446
	private EditorGrid<UniteBase> creerGrilleUniteBase() {
440
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
447
		ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
441
		
448
		
442
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
449
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
443
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
450
		colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
444
		
451
		
445
		NumberField champNombre = new NumberField();
452
		NumberField champNombre = new NumberField();
446
		champNombre.setFormat(NumberFormat.getFormat("#"));
453
		champNombre.setFormat(NumberFormat.getFormat("#"));
447
		CellEditor editeurNombre = new CellEditor(champNombre);
454
		CellEditor editeurNombre = new CellEditor(champNombre);
448
		
455
		
449
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
456
		ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
450
		nombreColonne.setEditor(editeurNombre);
457
		nombreColonne.setEditor(editeurNombre);
451
		nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
458
		nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
452
		colonnes.add(nombreColonne);
459
		colonnes.add(nombreColonne);
453
		
460
		
454
		CellEditor editeurPrecision = new CellEditor(getChampPrecision()) {  
461
		CellEditor editeurPrecision = new CellEditor(getChampPrecision()) {  
455
			@Override  
462
			@Override  
456
			public Object preProcessValue(Object valeur) {  
463
			public Object preProcessValue(Object valeur) {  
457
				InterneValeur retour = null;
464
				InterneValeur retour = null;
458
				if (valeur != null ) {
465
				if (valeur != null ) {
459
					if (precisionStore.findModel("nom", valeur.toString()) != null) {
466
					if (precisionStore.findModel("nom", valeur.toString()) != null) {
460
						retour = precisionStore.findModel("nom", valeur.toString());
467
						retour = precisionStore.findModel("nom", valeur.toString());
461
					} else if (precisionStore.findModel("abr", valeur.toString()) != null) {
468
					} else if (precisionStore.findModel("abr", valeur.toString()) != null) {
462
						retour = precisionStore.findModel("abr", valeur.toString());
469
						retour = precisionStore.findModel("abr", valeur.toString());
463
					}
470
					}
464
				}
471
				}
465
				return retour;
472
				return retour;
466
			}  
473
			}  
467
 
474
 
468
			@Override  
475
			@Override  
469
			public Object postProcessValue(Object valeur) {  
476
			public Object postProcessValue(Object valeur) {  
470
				String retour = null;
477
				String retour = null;
471
				if (valeur != null ) {
478
				if (valeur != null ) {
472
					if (valeur instanceof InterneValeur) {
479
					if (valeur instanceof InterneValeur) {
473
						InterneValeur valeurInterne = (InterneValeur) valeur;
480
						InterneValeur valeurInterne = (InterneValeur) valeur;
474
						retour = valeurInterne.getNom();
481
						retour = valeurInterne.getNom();
475
					}
482
					}
476
				}
483
				}
477
				return retour;
484
				return retour;
478
			}  
485
			}  
479
		};
486
		};
480
		
487
		
481
		ColumnConfig precisionColonne = new ColumnConfig("precision", i18nC.collectionUnitePrecision(), 50);
488
		ColumnConfig precisionColonne = new ColumnConfig("precision", i18nC.collectionUnitePrecision(), 50);
482
		precisionColonne.setEditor(editeurPrecision);
489
		precisionColonne.setEditor(editeurPrecision);
483
		colonnes.add(precisionColonne);
490
		colonnes.add(precisionColonne);
484
		
491
		
485
		TextField<String> formatChp = new TextField<String>();
492
		TextField<String> formatChp = new TextField<String>();
486
		ColumnConfig formatColonne =  new ColumnConfig("format", i18nC.collectionUniteFormat(), 100);
493
		ColumnConfig formatColonne =  new ColumnConfig("format", i18nC.collectionUniteFormat(), 100);
487
		formatColonne.setEditor(new CellEditor(formatChp));
494
		formatColonne.setEditor(new CellEditor(formatChp));
488
		colonnes.add(formatColonne);
495
		colonnes.add(formatColonne);
489
		
496
		
490
		ColumnConfig partNombreColonne = new ColumnConfig("nombre_part", i18nC.collectionUniteNbre(), 50);
497
		ColumnConfig partNombreColonne = new ColumnConfig("nombre_part", i18nC.collectionUniteNbre(), 50);
491
		partNombreColonne.setEditor(editeurNombre);
498
		partNombreColonne.setEditor(editeurNombre);
492
		partNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
499
		partNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
493
		colonnes.add(partNombreColonne);
500
		colonnes.add(partNombreColonne);
494
		
501
		
495
		ColumnConfig partPrecisionColonne = new ColumnConfig("precision_part", i18nC.collectionUnitePrecision(), 50);
502
		ColumnConfig partPrecisionColonne = new ColumnConfig("precision_part", i18nC.collectionUnitePrecision(), 50);
496
		partPrecisionColonne.setEditor(editeurPrecision);
503
		partPrecisionColonne.setEditor(editeurPrecision);
497
		colonnes.add(partPrecisionColonne);
504
		colonnes.add(partPrecisionColonne);
498
		
505
		
499
		ColumnConfig spNombreColonne = new ColumnConfig("nombre_sp", i18nC.collectionUniteNbre(), 50);
506
		ColumnConfig spNombreColonne = new ColumnConfig("nombre_sp", i18nC.collectionUniteNbre(), 50);
500
		spNombreColonne.setEditor(editeurNombre);
507
		spNombreColonne.setEditor(editeurNombre);
501
		spNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
508
		spNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
502
		colonnes.add(spNombreColonne);
509
		colonnes.add(spNombreColonne);
503
		
510
		
504
		ColumnConfig spPrecisionColonne = new ColumnConfig("precision_sp", i18nC.collectionUnitePrecision(), 50);
511
		ColumnConfig spPrecisionColonne = new ColumnConfig("precision_sp", i18nC.collectionUnitePrecision(), 50);
505
		spPrecisionColonne.setEditor(editeurPrecision);
512
		spPrecisionColonne.setEditor(editeurPrecision);
506
		colonnes.add(spPrecisionColonne);
513
		colonnes.add(spPrecisionColonne);
507
		
514
		
508
		GridSelectionModel<UniteBase> modeleDeSelection = new GridSelectionModel<UniteBase>();
515
		GridSelectionModel<UniteBase> modeleDeSelection = new GridSelectionModel<UniteBase>();
509
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
516
		ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
510
		modeleDeColonnes.addHeaderGroup(0, 0, new HeaderGroupConfig(i18nC.collectionUniteBase(), 1, 4));
517
		modeleDeColonnes.addHeaderGroup(0, 0, new HeaderGroupConfig(i18nC.collectionUniteBase(), 1, 4));
511
		modeleDeColonnes.addHeaderGroup(0, 4, new HeaderGroupConfig(i18nC.collectionUniteBasePart(), 1, 2));
518
		modeleDeColonnes.addHeaderGroup(0, 4, new HeaderGroupConfig(i18nC.collectionUniteBasePart(), 1, 2));
512
		modeleDeColonnes.addHeaderGroup(0, 6, new HeaderGroupConfig(i18nC.collectionUniteBaseSp(), 1, 2));
519
		modeleDeColonnes.addHeaderGroup(0, 6, new HeaderGroupConfig(i18nC.collectionUniteBaseSp(), 1, 2));
513
		
520
		
514
		AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
521
		AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
515
		total.setHtml("type", "TOTAL");
522
		total.setHtml("type", "TOTAL");
516
		total.setSummaryType("nombre", SummaryType.SUM);
523
		total.setSummaryType("nombre", SummaryType.SUM);
517
		total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
524
		total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
518
		total.setSummaryType("nombre_part", SummaryType.SUM);
525
		total.setSummaryType("nombre_part", SummaryType.SUM);
519
		total.setSummaryFormat("nombre_part", NumberFormat.getFormat("#"));
526
		total.setSummaryFormat("nombre_part", NumberFormat.getFormat("#"));
520
		total.setSummaryType("nombre_sp", SummaryType.SUM);
527
		total.setSummaryType("nombre_sp", SummaryType.SUM);
521
		total.setSummaryFormat("nombre_sp", NumberFormat.getFormat("#"));
528
		total.setSummaryFormat("nombre_sp", NumberFormat.getFormat("#"));
522
		modeleDeColonnes.addAggregationRow(total);
529
		modeleDeColonnes.addAggregationRow(total);
523
		
530
		
524
		EditorGrid<UniteBase> grilleUniteBase = new EditorGrid<UniteBase>(storeGrille, modeleDeColonnes);
531
		EditorGrid<UniteBase> grilleUniteBase = new EditorGrid<UniteBase>(storeGrille, modeleDeColonnes);
525
		grilleUniteBase.setHeight(200);
532
		grilleUniteBase.setHeight(200);
526
		grilleUniteBase.setBorders(true);
533
		grilleUniteBase.setBorders(true);
527
		grilleUniteBase.setSelectionModel(modeleDeSelection);
534
		grilleUniteBase.setSelectionModel(modeleDeSelection);
528
		grilleUniteBase.getView().setForceFit(true);
535
		grilleUniteBase.getView().setForceFit(true);
529
		grilleUniteBase.getView().setAutoFill(true);
536
		grilleUniteBase.getView().setAutoFill(true);
530
		grilleUniteBase.setAutoExpandColumn("type");
537
		grilleUniteBase.setAutoExpandColumn("type");
531
		grilleUniteBase.setStripeRows(true);
538
		grilleUniteBase.setStripeRows(true);
532
		grilleUniteBase.setTrackMouseOver(true);
539
		grilleUniteBase.setTrackMouseOver(true);
533
		
540
		
534
		return grilleUniteBase;
541
		return grilleUniteBase;
535
	}
542
	}
536
	
543
	
537
	private String collecterGrilleUniteBase() {
544
	private String collecterGrilleUniteBase() {
538
		String truk = "";
545
		String truk = "";
539
		int nbreUnite = uniteBaseGrille.getStore().getCount();
546
		int nbreUnite = uniteBaseGrille.getStore().getCount();
540
		for (int i = 0; i < nbreUnite; i++) {
547
		for (int i = 0; i < nbreUnite; i++) {
541
			UniteBase unite = uniteBaseGrille.getStore().getAt(i);
548
			UniteBase unite = uniteBaseGrille.getStore().getAt(i);
542
			if (unite.getTypeAutre()) {
549
			if (unite.getTypeAutre()) {
543
				truk += unite.getType();
550
				truk += unite.getType();
544
			} else {
551
			} else {
545
				truk += unite.getId();
552
				truk += unite.getId();
546
			}
553
			}
547
			truk += aDonnee.SEPARATEUR_TYPE_VALEUR;
554
			truk += aDonnee.SEPARATEUR_TYPE_VALEUR;
548
			truk += UtilNombre.formaterEnEntier(unite.getNombre())+aDonnee.SEPARATEUR_DONNEES;
555
			truk += UtilNombre.formaterEnEntier(unite.getNombre())+aDonnee.SEPARATEUR_DONNEES;
549
			truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
556
			truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
550
			truk += unite.getFormat()+aDonnee.SEPARATEUR_DONNEES;
557
			truk += unite.getFormat()+aDonnee.SEPARATEUR_DONNEES;
551
			truk += UtilNombre.formaterEnEntier(unite.getNombrePart())+aDonnee.SEPARATEUR_DONNEES;
558
			truk += UtilNombre.formaterEnEntier(unite.getNombrePart())+aDonnee.SEPARATEUR_DONNEES;
552
			truk += getPrecisionAbr(unite.getPrecisionPart())+aDonnee.SEPARATEUR_DONNEES;
559
			truk += getPrecisionAbr(unite.getPrecisionPart())+aDonnee.SEPARATEUR_DONNEES;
553
			truk += UtilNombre.formaterEnEntier(unite.getNombreSp())+aDonnee.SEPARATEUR_DONNEES;
560
			truk += UtilNombre.formaterEnEntier(unite.getNombreSp())+aDonnee.SEPARATEUR_DONNEES;
554
			truk += getPrecisionAbr(unite.getPrecisionSp());
561
			truk += getPrecisionAbr(unite.getPrecisionSp());
555
			truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
562
			truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
556
		}
563
		}
557
		return truk;
564
		return truk;
558
	}
565
	}
559
	
566
	
560
	private void peuplerGrilleUniteBase(String valeurTruk) {
567
	private void peuplerGrilleUniteBase(String valeurTruk) {
561
		if (!UtilString.isEmpty(valeurTruk)) {
568
		if (!UtilString.isEmpty(valeurTruk)) {
562
			HashMap<String,UniteBase> unitesEnregistrees = parserValeurUniteBase(valeurTruk);
569
			HashMap<String,UniteBase> unitesEnregistrees = parserValeurUniteBase(valeurTruk);
563
			
570
			
564
			ArrayList<UniteBase> listeUniteMaj = new ArrayList<UniteBase>();
571
			ArrayList<UniteBase> listeUniteMaj = new ArrayList<UniteBase>();
565
			int nbreUnite = uniteBaseGrille.getStore().getCount();
572
			int nbreUnite = uniteBaseGrille.getStore().getCount();
566
			for (int i = 0; i < nbreUnite; i++) {
573
			for (int i = 0; i < nbreUnite; i++) {
567
				UniteBase uniteDansGrille = uniteBaseGrille.getStore().getAt(i);
574
				UniteBase uniteDansGrille = uniteBaseGrille.getStore().getAt(i);
568
				UniteBase uniteEnregistree = unitesEnregistrees.get(uniteDansGrille.getId());
575
				UniteBase uniteEnregistree = unitesEnregistrees.get(uniteDansGrille.getId());
569
				if (uniteEnregistree != null) {
576
				if (uniteEnregistree != null) {
570
					uniteEnregistree.setType(uniteDansGrille.getType());
577
					uniteEnregistree.setType(uniteDansGrille.getType());
571
					listeUniteMaj.add(uniteEnregistree);
578
					listeUniteMaj.add(uniteEnregistree);
572
				} else {
579
				} else {
573
					listeUniteMaj.add(uniteDansGrille);
580
					listeUniteMaj.add(uniteDansGrille);
574
				}
581
				}
575
			}
582
			}
576
			
583
			
577
			Iterator<String> it = unitesEnregistrees.keySet().iterator();
584
			Iterator<String> it = unitesEnregistrees.keySet().iterator();
578
			while (it.hasNext()) {
585
			while (it.hasNext()) {
579
				String cle = it.next();
586
				String cle = it.next();
580
				if (cle.matches(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR)) {
587
				if (cle.matches(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR)) {
581
					UniteBase uniteAutreEnregistree = unitesEnregistrees.get(cle);
588
					UniteBase uniteAutreEnregistree = unitesEnregistrees.get(cle);
582
					listeUniteMaj.add(uniteAutreEnregistree);
589
					listeUniteMaj.add(uniteAutreEnregistree);
583
				}
590
				}
584
			}
591
			}
585
			
592
			
586
			uniteBaseGrille.getStore().removeAll();
593
			uniteBaseGrille.getStore().removeAll();
587
			uniteBaseGrille.getStore().add(listeUniteMaj);
594
			uniteBaseGrille.getStore().add(listeUniteMaj);
588
			layout();
595
			layout();
589
		}
596
		}
590
	}
597
	}
591
	
598
	
592
	public static HashMap<String,UniteBase> parserValeurUniteBase(String valeurTruk) {
599
	public static HashMap<String,UniteBase> parserValeurUniteBase(String valeurTruk) {
593
		HashMap<String,UniteBase> unitesEnregistrees = new HashMap<String,UniteBase>();
600
		HashMap<String,UniteBase> unitesEnregistrees = new HashMap<String,UniteBase>();
594
		if (!UtilString.isEmpty(valeurTruk)) {
601
		if (!UtilString.isEmpty(valeurTruk)) {
595
			String[] unites = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS));
602
			String[] unites = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS));
596
			for (int i = 0; i < unites.length; i++) {
603
			for (int i = 0; i < unites.length; i++) {
597
				String[] uniteTypeIdDonnees = unites[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR));
604
				String[] uniteTypeIdDonnees = unites[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR));
598
				String uniteChaineDonnees = uniteTypeIdDonnees[1];
605
				String uniteChaineDonnees = uniteTypeIdDonnees[1];
599
				String[] uniteDonnees = uniteChaineDonnees.split(Pattern.quote(aDonnee.SEPARATEUR_DONNEES));
606
				String[] uniteDonnees = uniteChaineDonnees.split(Pattern.quote(aDonnee.SEPARATEUR_DONNEES));
600
				
607
				
601
				UniteBase uniteBase = new UniteBase();
608
				UniteBase uniteBase = new UniteBase();
602
				if (uniteDonnees.length > 0) {
609
				if (uniteDonnees.length > 0) {
603
					uniteBase.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
610
					uniteBase.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
604
				}
611
				}
605
				if (uniteDonnees.length > 1) {
612
				if (uniteDonnees.length > 1) {
606
					uniteBase.setPrecision(getPrecisionNom(uniteDonnees[1]));
613
					uniteBase.setPrecision(getPrecisionNom(uniteDonnees[1]));
607
				}
614
				}
608
				if (uniteDonnees.length > 2) {
615
				if (uniteDonnees.length > 2) {
609
					uniteBase.setFormat(uniteDonnees[2]);
616
					uniteBase.setFormat(uniteDonnees[2]);
610
				}
617
				}
611
				if (uniteDonnees.length > 3) {
618
				if (uniteDonnees.length > 3) {
612
					uniteBase.setNombrePart(UtilString.formaterEnEntier(uniteDonnees[3]));
619
					uniteBase.setNombrePart(UtilString.formaterEnEntier(uniteDonnees[3]));
613
				}
620
				}
614
				if (uniteDonnees.length > 4) {
621
				if (uniteDonnees.length > 4) {
615
					uniteBase.setPrecisionPart(getPrecisionNom(uniteDonnees[4]));
622
					uniteBase.setPrecisionPart(getPrecisionNom(uniteDonnees[4]));
616
				}
623
				}
617
				if (uniteDonnees.length > 5) {
624
				if (uniteDonnees.length > 5) {
618
					uniteBase.setNombreSp(UtilString.formaterEnEntier(uniteDonnees[5]));
625
					uniteBase.setNombreSp(UtilString.formaterEnEntier(uniteDonnees[5]));
619
				}
626
				}
620
				if (uniteDonnees.length > 6) {
627
				if (uniteDonnees.length > 6) {
621
					uniteBase.setPrecisionSp(getPrecisionNom(uniteDonnees[6]));
628
					uniteBase.setPrecisionSp(getPrecisionNom(uniteDonnees[6]));
622
				}
629
				}
623
				
630
				
624
				if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
631
				if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
625
					uniteBase.setId(uniteTypeIdDonnees[0]);
632
					uniteBase.setId(uniteTypeIdDonnees[0]);
626
					uniteBase.setTypeAutre(false);
633
					uniteBase.setTypeAutre(false);
627
					unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteBase);
634
					unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteBase);
628
				} else {
635
				} else {
629
					uniteBase.setType(uniteTypeIdDonnees[0]);
636
					uniteBase.setType(uniteTypeIdDonnees[0]);
630
					uniteBase.setTypeAutre(true);
637
					uniteBase.setTypeAutre(true);
631
					String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
638
					String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
632
					uniteBase.setId(id);
639
					uniteBase.setId(id);
633
					unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR, uniteBase);					
640
					unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR, uniteBase);					
634
				}
641
				}
635
			}
642
			}
636
		}
643
		}
637
		return unitesEnregistrees;
644
		return unitesEnregistrees;
638
	}
645
	}
639
	
646
	
640
	private ToolBar creerBarreOutilsGrilleUniteBase() {
647
	private ToolBar creerBarreOutilsGrilleUniteBase() {
641
		ToolBar barreOutils = new ToolBar();  
648
		ToolBar barreOutils = new ToolBar();  
642
		
649
		
643
		Button ajouterBouton = creerBoutonAjouterUniteBase();
650
		Button ajouterBouton = creerBoutonAjouterUniteBase();
644
		barreOutils.add(ajouterBouton);
651
		barreOutils.add(ajouterBouton);
645
		
652
		
646
		barreOutils.add(new SeparatorToolItem());
653
		barreOutils.add(new SeparatorToolItem());
647
		
654
		
648
		Button supprimerBouton = creerBoutonSupprimerUniteBase();
655
		Button supprimerBouton = creerBoutonSupprimerUniteBase();
649
		barreOutils.add(supprimerBouton);		
656
		barreOutils.add(supprimerBouton);		
650
		
657
		
651
		return barreOutils;
658
		return barreOutils;
652
	}
659
	}
653
	
660
	
654
	private Button creerBoutonAjouterUniteBase() {
661
	private Button creerBoutonAjouterUniteBase() {
655
		Button bouton = new Button(i18nC.ajouter());
662
		Button bouton = new Button(i18nC.ajouter());
656
		bouton.setIcon(Images.ICONES.ajouter());
663
		bouton.setIcon(Images.ICONES.ajouter());
657
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
664
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
658
			@Override
665
			@Override
659
			public void componentSelected(ButtonEvent ce) {
666
			public void componentSelected(ButtonEvent ce) {
660
				final MessageBox box = MessageBox.prompt(i18nC.collectionUniteType(), i18nC.collectionUniteBaseSaisirType());
667
				final MessageBox box = MessageBox.prompt(i18nC.collectionUniteType(), i18nC.collectionUniteBaseSaisirType());
661
					box.addCallback(new Listener<MessageBoxEvent>() {
668
					box.addCallback(new Listener<MessageBoxEvent>() {
662
					public void handleEvent(MessageBoxEvent be) {
669
					public void handleEvent(MessageBoxEvent be) {
663
						if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
670
						if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
664
							final UniteBase unite = new UniteBase();
671
							final UniteBase unite = new UniteBase();
665
							unite.setType(be.getValue());
672
							unite.setType(be.getValue());
666
							unite.setTypeAutre(true);
673
							unite.setTypeAutre(true);
667
							uniteBaseGrille.getStore().add(unite);
674
							uniteBaseGrille.getStore().add(unite);
668
						} else {
675
						} else {
669
							InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
676
							InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
670
						}
677
						}
671
					}
678
					}
672
				});
679
				});
673
			}
680
			}
674
		});
681
		});
675
		return bouton;
682
		return bouton;
676
	}
683
	}
677
	
684
	
678
	private Button creerBoutonSupprimerUniteBase() {
685
	private Button creerBoutonSupprimerUniteBase() {
679
		Button bouton = new Button(i18nC.supprimer());
686
		Button bouton = new Button(i18nC.supprimer());
680
		bouton.setIcon(Images.ICONES.supprimer());
687
		bouton.setIcon(Images.ICONES.supprimer());
681
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
688
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
682
			@Override
689
			@Override
683
			public void componentSelected(ButtonEvent ce) {
690
			public void componentSelected(ButtonEvent ce) {
684
				UniteBase uniteBaseSelectionnee = uniteBaseGrille.getSelectionModel().getSelectedItem();
691
				UniteBase uniteBaseSelectionnee = uniteBaseGrille.getSelectionModel().getSelectedItem();
685
				if (uniteBaseSelectionnee == null) {
692
				if (uniteBaseSelectionnee == null) {
686
					InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteBase()));
693
					InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteBase()));
687
				} else if (uniteBaseSelectionnee.getTypeAutre() == false) {
694
				} else if (uniteBaseSelectionnee.getTypeAutre() == false) {
688
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteBaseAjoute());
695
					InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteBaseAjoute());
689
				} else {
696
				} else {
690
					uniteBaseGrille.getStore().remove(uniteBaseSelectionnee);
697
					uniteBaseGrille.getStore().remove(uniteBaseSelectionnee);
691
				}
698
				}
692
			}   
699
			}   
693
		});
700
		});
694
		return bouton;
701
		return bouton;
695
	}
702
	}
696
	
703
	
697
	private void creerFieldsetConservation() {
704
	private void creerFieldsetConservation() {
698
		FieldSet conservationFieldSet = new FieldSet();
705
		FieldSet conservationFieldSet = new FieldSet();
699
		conservationFieldSet.setHeading(i18nC.collectionTitreConservation());
706
		conservationFieldSet.setHeading(i18nC.collectionTitreConservation());
700
		conservationFieldSet.setCollapsible(true);
707
		conservationFieldSet.setCollapsible(true);
701
		conservationFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
708
		conservationFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
702
		
709
		
703
		typePapierConservationChp = new ChampCaseACocher(i18nC.typePapierConservation(), "typePapier", true);
710
		typePapierConservationChp = new ChampCaseACocher(i18nC.typePapierConservation(), "typePapier", true);
704
		conservationFieldSet.add(typePapierConservationChp);
711
		conservationFieldSet.add(typePapierConservationChp);
705
		
712
		
706
		methodeConservationChp = new ChampCaseACocher(i18nC.methodeConservation(), "methodeRangement", true);
713
		methodeConservationChp = new ChampCaseACocher(i18nC.methodeConservation(), "methodeRangement", true);
707
		conservationFieldSet.add(methodeConservationChp);
714
		conservationFieldSet.add(methodeConservationChp);
708
		
715
		
709
		this.add(conservationFieldSet);
716
		this.add(conservationFieldSet);
710
	}
717
	}
711
	
718
	
712
	private void creerFieldsetEtiquette() {
719
	private void creerFieldsetEtiquette() {
713
		FieldSet etiquetteFieldSet = new FieldSet();
720
		FieldSet etiquetteFieldSet = new FieldSet();
714
		etiquetteFieldSet.setHeading(i18nC.collectionTitreEtiquette());
721
		etiquetteFieldSet.setHeading(i18nC.collectionTitreEtiquette());
715
		etiquetteFieldSet.setCollapsible(true);
722
		etiquetteFieldSet.setCollapsible(true);
716
		etiquetteFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
723
		etiquetteFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
717
		
724
		
718
		Text fixationPoucentLabel = new Text(i18nC.fixationPourcent());
725
		Text fixationPoucentLabel = new Text(i18nC.fixationPourcent());
719
		etiquetteFieldSet.add(fixationPoucentLabel);
726
		etiquetteFieldSet.add(fixationPoucentLabel);
720
		
727
		
721
		specimenFixationPourcentChp = new ChampSliderPourcentage(i18nC.specimenFixationPourcent());
728
		specimenFixationPourcentChp = new ChampSliderPourcentage(i18nC.specimenFixationPourcent());
722
		etiquetteFieldSet.add(specimenFixationPourcentChp, new FormData(200, 0));
729
		etiquetteFieldSet.add(specimenFixationPourcentChp, new FormData(200, 0));
723
		
730
		
724
		etiquetteFixationPourcentChp = new ChampSliderPourcentage(i18nC.etiquetteFixationPourcent());
731
		etiquetteFixationPourcentChp = new ChampSliderPourcentage(i18nC.etiquetteFixationPourcent());
725
		etiquetteFieldSet.add(etiquetteFixationPourcentChp, new FormData(200, 0));
732
		etiquetteFieldSet.add(etiquetteFixationPourcentChp, new FormData(200, 0));
726
		
733
		
727
		specimentMethodeFixationChp = new ChampCaseACocher(i18nC.specimenMethodeFixation(), "methodeFixation", true);
734
		specimentMethodeFixationChp = new ChampCaseACocher(i18nC.specimenMethodeFixation(), "methodeFixation", true);
728
		etiquetteFieldSet.add(specimentMethodeFixationChp);
735
		etiquetteFieldSet.add(specimentMethodeFixationChp);
729
		
736
		
730
		etiquetteMethodeFixationSurSupportChp = new ChampCaseACocher(i18nC.etiquetteMethodeFixationSurSupport(), "methodeFixation", true);
737
		etiquetteMethodeFixationSurSupportChp = new ChampCaseACocher(i18nC.etiquetteMethodeFixationSurSupport(), "methodeFixation", true);
731
		etiquetteFieldSet.add(etiquetteMethodeFixationSurSupportChp);
738
		etiquetteFieldSet.add(etiquetteMethodeFixationSurSupportChp);
732
		
739
		
733
		etiquetteMethodeFixationSurSpecimenChp = new ChampCaseACocher(i18nC.etiquetteMethodeFixationSurSpecimen(), "methodeFixationSurSpecimen", true);
740
		etiquetteMethodeFixationSurSpecimenChp = new ChampCaseACocher(i18nC.etiquetteMethodeFixationSurSpecimen(), "methodeFixationSurSpecimen", true);
734
		etiquetteFieldSet.add(etiquetteMethodeFixationSurSpecimenChp);
741
		etiquetteFieldSet.add(etiquetteMethodeFixationSurSpecimenChp);
735
		
742
		
736
		typeEcritureChp = new ChampCaseACocher(i18nC.typeEcriture(), "typeEcriture", false);
743
		typeEcritureChp = new ChampCaseACocher(i18nC.typeEcriture(), "typeEcriture", false);
737
		etiquetteFieldSet.add(typeEcritureChp);
744
		etiquetteFieldSet.add(typeEcritureChp);
738
		
745
		
739
		this.add(etiquetteFieldSet);
746
		this.add(etiquetteFieldSet);
740
	}
747
	}
741
	
748
	
742
	private void creerFieldsetTraitement() {
749
	private void creerFieldsetTraitement() {
743
		FieldSet traitementFieldSet = new FieldSet();
750
		FieldSet traitementFieldSet = new FieldSet();
744
		traitementFieldSet.setHeading(i18nC.collectionTitreTraitement());
751
		traitementFieldSet.setHeading(i18nC.collectionTitreTraitement());
745
		traitementFieldSet.setCollapsible(true);
752
		traitementFieldSet.setCollapsible(true);
746
		traitementFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
753
		traitementFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
747
		
754
		
748
		traitementCombo  = new ChampComboBoxListeValeurs(i18nC.collectionTraitement(), "onpi");
755
		traitementCombo  = new ChampComboBoxListeValeurs(i18nC.collectionTraitement(), "onpi");
749
		traitementCombo.setTrie("id_valeur");
756
		traitementCombo.setTrie("id_valeur");
750
		traitementFieldSet.add(traitementCombo, new FormData(300, 0));
757
		traitementFieldSet.add(traitementCombo, new FormData(300, 0));
751
		
758
		
752
		poisonTraitementChp = new ChampCaseACocher(i18nC.collectionTraitementPoison(), "poisonTraitement", true);
759
		poisonTraitementChp = new ChampCaseACocher(i18nC.collectionTraitementPoison(), "poisonTraitement", true);
753
		traitementFieldSet.add(poisonTraitementChp);
760
		traitementFieldSet.add(poisonTraitementChp);
754
		
761
		
755
		insecteTraitementChp = new ChampCaseACocher(i18nC.collectionTraitementInsecte(), "insecteTraitement", true);
762
		insecteTraitementChp = new ChampCaseACocher(i18nC.collectionTraitementInsecte(), "insecteTraitement", true);
756
		traitementFieldSet.add(insecteTraitementChp);
763
		traitementFieldSet.add(insecteTraitementChp);
757
 
764
 
758
		this.add(traitementFieldSet);
765
		this.add(traitementFieldSet);
759
	}
766
	}
760
	
767
	
761
	private void creerFieldsetEtat() {
768
	private void creerFieldsetEtat() {
762
		FieldSet etatFieldSet = new FieldSet();
769
		FieldSet etatFieldSet = new FieldSet();
763
		etatFieldSet.setHeading(i18nC.collectionTitreEtatEtDegradation());
770
		etatFieldSet.setHeading(i18nC.collectionTitreEtatEtDegradation());
764
		etatFieldSet.setCollapsible(true);
771
		etatFieldSet.setCollapsible(true);
765
		etatFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
772
		etatFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
766
		
773
		
767
		etatGeneralCombo = new ChampComboBoxListeValeurs(i18nC.collectionEtatGeneral(), "etat");
774
		etatGeneralCombo = new ChampComboBoxListeValeurs(i18nC.collectionEtatGeneral(), "etat");
768
		etatGeneralCombo.setToolTip(i18nC.collectionEtatGeneralInfo());
775
		etatGeneralCombo.setToolTip(i18nC.collectionEtatGeneralInfo());
769
		etatGeneralCombo.setTrie("id_valeur");
776
		etatGeneralCombo.setTrie("id_valeur");
770
		etatFieldSet.add(etatGeneralCombo, new FormData(300, 0));
777
		etatFieldSet.add(etatGeneralCombo, new FormData(300, 0));
771
		
778
		
772
		specimenDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationSpecimen(), 150, true);
779
		specimenDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationSpecimen(), 150, true);
773
		specimenDegradationChp.initialiserType("specimenDegradation");
780
		specimenDegradationChp.initialiserType("specimenDegradation");
774
		specimenDegradationChp.initialiserCombobox("niveauImportance");
781
		specimenDegradationChp.initialiserCombobox("niveauImportance");
775
		etatFieldSet.add(specimenDegradationChp);
782
		etatFieldSet.add(specimenDegradationChp);
-
 
783
		
-
 
784
		labelPresentationDegradationChp = new Text();
-
 
785
		labelPresentationDegradationChp.setWidth("95%");
-
 
786
		labelPresentationDegradationChp.setVisible(false);
776
		
787
		
777
		presentationDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationPresentation(), 150, 200, true);
788
		presentationDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationPresentation(), 150, 200, true);
778
		presentationDegradationChp.initialiserType("supportDegradation");
789
		presentationDegradationChp.initialiserType("supportDegradation");
779
		presentationDegradationChp.initialiserCombobox("niveauImportance");
790
		presentationDegradationChp.initialiserCombobox("niveauImportance");
-
 
791
		
-
 
792
		presentationDegradationChp.getTypes().addListener(Events.Select,
-
 
793
			new Listener<FieldEvent>() {
-
 
794
				public void handleEvent(FieldEvent be) {
-
 
795
					if (((Valeur)(be.getField().getValue())).get("id_valeur").equals("2310")) {
-
 
796
						labelPresentationDegradationChp.setText(i18nC.degradationPresentationLabel());
-
 
797
						labelPresentationDegradationChp.setVisible(true);
-
 
798
					}
-
 
799
					else {
-
 
800
						labelPresentationDegradationChp.setText("");
-
 
801
						labelPresentationDegradationChp.setVisible(false);						
-
 
802
					}
-
 
803
				}		
-
 
804
			});
780
		etatFieldSet.add(presentationDegradationChp);
805
		etatFieldSet.add(presentationDegradationChp);
-
 
806
		etatFieldSet.add(labelPresentationDegradationChp);
781
		
807
		
782
		determinationCombo = new ChampComboBoxListeValeurs(i18nC.collectionDetermination(), "niveauDetermination");
808
		determinationCombo = new ChampComboBoxListeValeurs(i18nC.collectionDetermination(), "niveauDetermination");
783
		determinationCombo.setTrie("id_valeur");
809
		determinationCombo.setTrie("id_valeur");
784
		etatFieldSet.add(determinationCombo, new FormData(450, 0));
810
		etatFieldSet.add(determinationCombo, new FormData(450, 0));
785
		
811
		
786
		this.add(etatFieldSet);
812
		this.add(etatFieldSet);
787
	}
813
	}
788
	
814
	
789
	public void peupler() {
815
	public void peupler() {
790
		initialiserCollection();
816
		initialiserCollection();
791
		if (collectionBotanique != null) {
817
		if (collectionBotanique != null) {
792
			typesCollectionBotaCombo.peupler(collectionBotanique.getType());
818
			typesCollectionBotaCombo.peupler(collectionBotanique.getType());
793
			if (!UtilString.isEmpty(collectionBotanique.getNbreEchantillon())) {
819
			if (!UtilString.isEmpty(collectionBotanique.getNbreEchantillon())) {
794
				nbreEchantillonChp.setValue(Integer.parseInt(collectionBotanique.getNbreEchantillon()));
820
				nbreEchantillonChp.setValue(Integer.parseInt(collectionBotanique.getNbreEchantillon()));
795
			}
821
			}
796
			
822
			
797
			peuplerGrilleUniteRangement(collectionBotanique.getUniteRangement());
823
			peuplerGrilleUniteRangement(collectionBotanique.getUniteRangement());
798
			etatUniteRangementCombo.peupler(collectionBotanique.getUniteRangementEtat());
824
			etatUniteRangementCombo.peupler(collectionBotanique.getUniteRangementEtat());
799
			
825
			
800
			peuplerGrilleUniteBase(collectionBotanique.getUniteBase());
826
			peuplerGrilleUniteBase(collectionBotanique.getUniteBase());
801
			
827
			
802
			typePapierConservationChp.peupler(collectionBotanique.getConservationPapierType());
828
			typePapierConservationChp.peupler(collectionBotanique.getConservationPapierType());
803
			methodeConservationChp.peupler(collectionBotanique.getConservationMethode());
829
			methodeConservationChp.peupler(collectionBotanique.getConservationMethode());
804
			
830
			
805
			specimenFixationPourcentChp.peupler(collectionBotanique.getSpecimenFixationPourcent());
831
			specimenFixationPourcentChp.peupler(collectionBotanique.getSpecimenFixationPourcent());
806
			etiquetteFixationPourcentChp.peupler(collectionBotanique.getEtiquetteFixationPourcent());
832
			etiquetteFixationPourcentChp.peupler(collectionBotanique.getEtiquetteFixationPourcent());
807
			specimentMethodeFixationChp.peupler(collectionBotanique.getSpecimenFixationMethode());
833
			specimentMethodeFixationChp.peupler(collectionBotanique.getSpecimenFixationMethode());
808
			etiquetteMethodeFixationSurSupportChp.peupler(collectionBotanique.getEtiquetteFixationSupport());
834
			etiquetteMethodeFixationSurSupportChp.peupler(collectionBotanique.getEtiquetteFixationSupport());
809
			etiquetteMethodeFixationSurSpecimenChp.peupler(collectionBotanique.getEtiquetteFixationSpecimen());
835
			etiquetteMethodeFixationSurSpecimenChp.peupler(collectionBotanique.getEtiquetteFixationSpecimen());
810
			typeEcritureChp.peupler(collectionBotanique.getEtiquetteEcriture());
836
			typeEcritureChp.peupler(collectionBotanique.getEtiquetteEcriture());
811
			
837
			
812
			traitementCombo.peupler(collectionBotanique.getTraitement());
838
			traitementCombo.peupler(collectionBotanique.getTraitement());
813
			poisonTraitementChp.peupler(collectionBotanique.getTraitementPoison());
839
			poisonTraitementChp.peupler(collectionBotanique.getTraitementPoison());
814
			insecteTraitementChp.peupler(collectionBotanique.getTraitementInsecte());
840
			insecteTraitementChp.peupler(collectionBotanique.getTraitementInsecte());
815
			
841
			
816
			etatGeneralCombo.peupler(collectionBotanique.getEtatGeneral());
842
			etatGeneralCombo.peupler(collectionBotanique.getEtatGeneral());
817
			specimenDegradationChp.peupler(collectionBotanique.getDegradationSpecimen());
843
			specimenDegradationChp.peupler(collectionBotanique.getDegradationSpecimen());
818
			presentationDegradationChp.peupler(collectionBotanique.getDegradationPresentation());
844
			presentationDegradationChp.peupler(collectionBotanique.getDegradationPresentation());
819
			determinationCombo.peupler(collectionBotanique.getDetermination());
845
			determinationCombo.peupler(collectionBotanique.getDetermination());
820
		}		
846
		}		
821
	}
847
	}
822
	
848
	
823
	public void collecter() {
849
	public void collecter() {
824
		initialiserCollection();
850
		initialiserCollection();
825
		if (etreAccede()) {
851
		if (etreAccede()) {
826
			collectionBotaniqueCollectee.setType(typesCollectionBotaCombo.getValeur());
852
			collectionBotaniqueCollectee.setType(typesCollectionBotaCombo.getValeur());
827
			if (nbreEchantillonChp.getValue() != null) {
853
			if (nbreEchantillonChp.getValue() != null) {
828
				collectionBotaniqueCollectee.setNbreEchantillon(Integer.toString(nbreEchantillonChp.getValue().intValue()));
854
				collectionBotaniqueCollectee.setNbreEchantillon(Integer.toString(nbreEchantillonChp.getValue().intValue()));
829
			}
855
			}
830
			
856
			
831
			collectionBotaniqueCollectee.setUniteRangement(collecterGrilleUniteRangement());
857
			collectionBotaniqueCollectee.setUniteRangement(collecterGrilleUniteRangement());
832
			collectionBotaniqueCollectee.setUniteRangementEtat(etatUniteRangementCombo.getValeur());
858
			collectionBotaniqueCollectee.setUniteRangementEtat(etatUniteRangementCombo.getValeur());
833
			
859
			
834
			collectionBotaniqueCollectee.setUniteBase(collecterGrilleUniteBase());
860
			collectionBotaniqueCollectee.setUniteBase(collecterGrilleUniteBase());
835
			
861
			
836
			collectionBotaniqueCollectee.setConservationPapierType(typePapierConservationChp.getValeur());
862
			collectionBotaniqueCollectee.setConservationPapierType(typePapierConservationChp.getValeur());
837
			collectionBotaniqueCollectee.setConservationMethode(methodeConservationChp.getValeur());
863
			collectionBotaniqueCollectee.setConservationMethode(methodeConservationChp.getValeur());
838
			
864
			
839
			collectionBotaniqueCollectee.setSpecimenFixationPourcent(specimenFixationPourcentChp.getValeur());
865
			collectionBotaniqueCollectee.setSpecimenFixationPourcent(specimenFixationPourcentChp.getValeur());
840
			collectionBotaniqueCollectee.setEtiquetteFixationPourcent(etiquetteFixationPourcentChp.getValeur());
866
			collectionBotaniqueCollectee.setEtiquetteFixationPourcent(etiquetteFixationPourcentChp.getValeur());
841
			collectionBotaniqueCollectee.setSpecimenFixationMethode(specimentMethodeFixationChp.getValeur());
867
			collectionBotaniqueCollectee.setSpecimenFixationMethode(specimentMethodeFixationChp.getValeur());
842
			collectionBotaniqueCollectee.setEtiquetteFixationSupport(etiquetteMethodeFixationSurSupportChp.getValeur());
868
			collectionBotaniqueCollectee.setEtiquetteFixationSupport(etiquetteMethodeFixationSurSupportChp.getValeur());
843
			collectionBotaniqueCollectee.setEtiquetteFixationSpecimen(etiquetteMethodeFixationSurSpecimenChp.getValeur());
869
			collectionBotaniqueCollectee.setEtiquetteFixationSpecimen(etiquetteMethodeFixationSurSpecimenChp.getValeur());
844
			collectionBotaniqueCollectee.setEtiquetteEcriture(typeEcritureChp.getValeur());
870
			collectionBotaniqueCollectee.setEtiquetteEcriture(typeEcritureChp.getValeur());
845
			
871
			
846
			collectionBotaniqueCollectee.setTraitement(traitementCombo.getValeur());
872
			collectionBotaniqueCollectee.setTraitement(traitementCombo.getValeur());
847
			collectionBotaniqueCollectee.setTraitementPoison(poisonTraitementChp.getValeur());
873
			collectionBotaniqueCollectee.setTraitementPoison(poisonTraitementChp.getValeur());
848
			collectionBotaniqueCollectee.setTraitementInsecte(insecteTraitementChp.getValeur());
874
			collectionBotaniqueCollectee.setTraitementInsecte(insecteTraitementChp.getValeur());
849
			
875
			
850
			collectionBotaniqueCollectee.setEtatGeneral(etatGeneralCombo.getValeur());
876
			collectionBotaniqueCollectee.setEtatGeneral(etatGeneralCombo.getValeur());
851
			collectionBotaniqueCollectee.setDegradationSpecimen(specimenDegradationChp.getValeurs());
877
			collectionBotaniqueCollectee.setDegradationSpecimen(specimenDegradationChp.getValeurs());
852
			collectionBotaniqueCollectee.setDegradationPresentation(presentationDegradationChp.getValeurs());
878
			collectionBotaniqueCollectee.setDegradationPresentation(presentationDegradationChp.getValeurs());
853
			collectionBotaniqueCollectee.setDetermination(determinationCombo.getValeur());
879
			collectionBotaniqueCollectee.setDetermination(determinationCombo.getValeur());
854
		}
880
		}
855
	}
881
	}
856
 
882
 
857
	private void initialiserCollection() {
883
	private void initialiserCollection() {
858
		collection = ((CollectionForm) formulaire).collection;
884
		collection = ((CollectionForm) formulaire).collection;
859
		if (collection != null) {
885
		if (collection != null) {
860
			collectionBotanique = collection.getBotanique();
886
			collectionBotanique = collection.getBotanique();
861
		}
887
		}
862
		
888
		
863
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
889
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
864
		if (collectionCollectee != null) {
890
		if (collectionCollectee != null) {
865
			collectionBotaniqueCollectee = collectionCollectee.getBotanique();
891
			collectionBotaniqueCollectee = collectionCollectee.getBotanique();
866
		}
892
		}
867
	}
893
	}
868
	
894
	
869
	public void rafraichir(Object nouvellesDonnees) {
895
	public void rafraichir(Object nouvellesDonnees) {
870
		if (nouvellesDonnees instanceof ValeurListe) {
896
		if (nouvellesDonnees instanceof ValeurListe) {
871
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
897
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
872
			rafraichirValeurListe(listeValeurs);
898
			rafraichirValeurListe(listeValeurs);
873
		} else {
899
		} else {
874
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
900
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
875
		}
901
		}
876
	}
902
	}
877
	
903
	
878
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
904
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
879
		if (listeValeurs.getId().equals(config.getListeId("typeUniteRangement"))) {
905
		if (listeValeurs.getId().equals(config.getListeId("typeUniteRangement"))) {
880
			Iterator<String> it = listeValeurs.keySet().iterator();
906
			Iterator<String> it = listeValeurs.keySet().iterator();
881
			while (it.hasNext()) {
907
			while (it.hasNext()) {
882
				Valeur valeur = listeValeurs.get(it.next());
908
				Valeur valeur = listeValeurs.get(it.next());
883
				UniteRangement unite = new UniteRangement();
909
				UniteRangement unite = new UniteRangement();
884
				unite.setId(valeur.getId());
910
				unite.setId(valeur.getId());
885
				unite.setType(valeur.getNom());
911
				unite.setType(valeur.getNom());
886
				unite.setTypeAutre(false);
912
				unite.setTypeAutre(false);
887
				uniteRangementGrille.getStore().add(unite);
913
				uniteRangementGrille.getStore().add(unite);
888
			}
914
			}
889
		} else if (listeValeurs.getId().equals(config.getListeId("typeUniteBase"))) {
915
		} else if (listeValeurs.getId().equals(config.getListeId("typeUniteBase"))) {
890
			Iterator<String> it = listeValeurs.keySet().iterator();
916
			Iterator<String> it = listeValeurs.keySet().iterator();
891
			while (it.hasNext()) {
917
			while (it.hasNext()) {
892
				Valeur valeur = listeValeurs.get(it.next());
918
				Valeur valeur = listeValeurs.get(it.next());
893
				UniteBase unite = new UniteBase();
919
				UniteBase unite = new UniteBase();
894
				unite.setId(valeur.getId());
920
				unite.setId(valeur.getId());
895
				unite.setType(valeur.getNom());
921
				unite.setType(valeur.getNom());
896
				unite.setTypeAutre(false);
922
				unite.setTypeAutre(false);
897
				uniteBaseGrille.getStore().add(unite);
923
				uniteBaseGrille.getStore().add(unite);
898
			}
924
			}
899
		} else {
925
		} else {
900
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
926
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
901
		}
927
		}
902
	}
928
	}
903
}
929
}