Subversion Repositories eFlore/Applications.coel

Rev

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

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