Subversion Repositories eFlore/Applications.coel

Rev

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

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