Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 338 Rev 339
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
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.ComposantClass;
8
import org.tela_botanica.client.ComposantClass;
9
import org.tela_botanica.client.Mediateur;
9
import org.tela_botanica.client.Mediateur;
10
import org.tela_botanica.client.RegistreId;
10
import org.tela_botanica.client.RegistreId;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.modeles.Configuration;
12
import org.tela_botanica.client.modeles.Configuration;
13
import org.tela_botanica.client.modeles.InterneValeur;
13
import org.tela_botanica.client.modeles.InterneValeur;
14
 
14
 
15
import org.tela_botanica.client.modeles.Personne;
15
import org.tela_botanica.client.modeles.Personne;
16
import org.tela_botanica.client.modeles.Valeur;
16
import org.tela_botanica.client.modeles.Valeur;
17
import org.tela_botanica.client.modeles.ValeurListe;
17
import org.tela_botanica.client.modeles.ValeurListe;
18
 
18
 
19
 
19
 
20
import com.extjs.gxt.ui.client.Registry;
20
import com.extjs.gxt.ui.client.Registry;
21
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
21
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
22
import com.extjs.gxt.ui.client.Style.Scroll;
22
import com.extjs.gxt.ui.client.Style.Scroll;
23
import com.extjs.gxt.ui.client.event.ComponentEvent;
23
import com.extjs.gxt.ui.client.event.ComponentEvent;
24
import com.extjs.gxt.ui.client.event.KeyListener;
24
import com.extjs.gxt.ui.client.event.KeyListener;
25
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
25
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
26
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
26
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
27
import com.extjs.gxt.ui.client.event.SelectionListener;
27
import com.extjs.gxt.ui.client.event.SelectionListener;
28
import com.extjs.gxt.ui.client.store.ListStore;
28
import com.extjs.gxt.ui.client.store.ListStore;
29
import com.extjs.gxt.ui.client.widget.ContentPanel;
29
import com.extjs.gxt.ui.client.widget.ContentPanel;
30
import com.extjs.gxt.ui.client.widget.LayoutContainer;
30
import com.extjs.gxt.ui.client.widget.LayoutContainer;
31
import com.extjs.gxt.ui.client.widget.MessageBox;
31
import com.extjs.gxt.ui.client.widget.MessageBox;
32
 
32
 
33
import com.extjs.gxt.ui.client.widget.TabItem;
33
import com.extjs.gxt.ui.client.widget.TabItem;
34
import com.extjs.gxt.ui.client.widget.TabPanel;
34
import com.extjs.gxt.ui.client.widget.TabPanel;
35
import com.extjs.gxt.ui.client.widget.Text;
35
import com.extjs.gxt.ui.client.widget.Text;
36
 
36
 
37
import com.extjs.gxt.ui.client.widget.button.IconButton;
37
import com.extjs.gxt.ui.client.widget.button.IconButton;
38
import com.extjs.gxt.ui.client.widget.form.ComboBox;
38
import com.extjs.gxt.ui.client.widget.form.ComboBox;
39
import com.extjs.gxt.ui.client.widget.form.DateField;
39
import com.extjs.gxt.ui.client.widget.form.DateField;
40
import com.extjs.gxt.ui.client.widget.form.FieldSet;
40
import com.extjs.gxt.ui.client.widget.form.FieldSet;
41
import com.extjs.gxt.ui.client.widget.form.HiddenField;
41
import com.extjs.gxt.ui.client.widget.form.HiddenField;
42
import com.extjs.gxt.ui.client.widget.form.LabelField;
42
import com.extjs.gxt.ui.client.widget.form.LabelField;
43
import com.extjs.gxt.ui.client.widget.form.TextArea;
43
import com.extjs.gxt.ui.client.widget.form.TextArea;
44
import com.extjs.gxt.ui.client.widget.form.TextField;
44
import com.extjs.gxt.ui.client.widget.form.TextField;
45
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
45
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
46
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
46
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
47
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
47
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
48
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
48
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
49
import com.extjs.gxt.ui.client.widget.layout.FormData;
49
import com.extjs.gxt.ui.client.widget.layout.FormData;
50
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
50
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
51
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
51
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
52
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
52
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
53
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
53
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
-
 
54
import com.google.gwt.i18n.client.DateTimeFormat;
54
import com.google.gwt.user.client.ui.Widget;
55
import com.google.gwt.user.client.ui.Widget;
55
 
56
 
56
 
57
 
57
 
58
 
58
public class FormPersonneVue extends ContentPanel implements Rafraichissable {
59
public class FormPersonneVue extends ContentPanel implements Rafraichissable {
59
	
60
	
60
	
61
	
61
	/*--------------------------------------------------------------------------------------
62
	/*--------------------------------------------------------------------------------------
62
	 * 		VARIABLES
63
	 * 		VARIABLES
63
	 * -------------------------------------------------------------------------------------
64
	 * -------------------------------------------------------------------------------------
64
	 */
65
	 */
65
	
66
	
66
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
67
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
67
	private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
68
	private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
68
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
69
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
69
	private Personne personneSelectionnee = null;
70
	private Personne personneSelectionnee = null;
70
	
71
	
71
	/*--------------------------------------------------------------------------------------
72
	/*--------------------------------------------------------------------------------------
72
	 * 		CONSTRUCTEUR 
73
	 * 		CONSTRUCTEUR 
73
	 * -------------------------------------------------------------------------------------
74
	 * -------------------------------------------------------------------------------------
74
	 */
75
	 */
75
	/**
76
	/**
76
	 * Constructeur du panneau
77
	 * Constructeur du panneau
77
	 * 
78
	 * 
78
	 * Initialise le panneau et ajoute une barre d'outils à deux boutons (réinitialiser le 
79
	 * Initialise le panneau et ajoute une barre d'outils à deux boutons (réinitialiser le 
79
	 * formulaire et annuler la saisie). 
80
	 * formulaire et annuler la saisie). 
80
	 * 
81
	 * 
81
	 * */
82
	 * */
82
	public FormPersonneVue() {
83
	public FormPersonneVue() {
83
		
84
		
84
		initialiserPanneau();
85
		initialiserPanneau();
85
		
86
		
86
		ToolBar barreOutils = new ToolBar();
87
		ToolBar barreOutils = new ToolBar();
87
		
88
		
88
		ajouterBoutonEnregistrer(barreOutils);
89
		ajouterBoutonEnregistrer(barreOutils);
89
		ajouterBoutonEnregistrerEtRevenir(barreOutils);
90
		ajouterBoutonEnregistrerEtRevenir(barreOutils);
90
		ajouterBoutonReinitialiser(barreOutils);
91
		ajouterBoutonReinitialiser(barreOutils);
91
		ajouterBoutonAnnuler(barreOutils);
92
		ajouterBoutonAnnuler(barreOutils);
92
		
93
		
93
		
94
		
94
		setBottomComponent(barreOutils);
95
		setBottomComponent(barreOutils);
95
		
96
		
96
		initialiserOnglets();	
97
		initialiserOnglets();	
97
		
98
		
98
		creerComposantsIdentite();
99
		creerComposantsIdentite();
99
		creerComposantsAdresse();
100
		creerComposantsAdresse();
100
		
101
		
101
		
102
		
102
		
103
		
103
	}
104
	}
104
	
105
	
105
	
106
	
106
	/*---------------------------------------------------------------------------------------
107
	/*---------------------------------------------------------------------------------------
107
	 * 		SOUS-METHODES
108
	 * 		SOUS-METHODES
108
	 * --------------------------------------------------------------------------------------
109
	 * --------------------------------------------------------------------------------------
109
	 */
110
	 */
110
	/**
111
	/**
111
	 * Inialise le panneau donné
112
	 * Inialise le panneau donné
112
	 * 
113
	 * 
113
	 * @param contentPanel le panneau à initialiser
114
	 * @param contentPanel le panneau à initialiser
114
	 * */
115
	 * */
115
	public void initialiserPanneau()	{
116
	public void initialiserPanneau()	{
116
		
117
		
117
		setLayout(new FitLayout());
118
		setLayout(new FitLayout());
118
		setIconStyle("icone-form-ajouter");  
119
		setIconStyle("icone-form-ajouter");  
119
		setCollapsible(false);  
120
		setCollapsible(false);  
120
		setHeading("Ajouter une personne");
121
		setHeading("Ajouter une personne");
121
		setButtonAlign(HorizontalAlignment.CENTER);  
122
		setButtonAlign(HorizontalAlignment.CENTER);  
122
		setLayout(new FormLayout());
123
		setLayout(new FormLayout());
123
	}
124
	}
124
	
125
	
125
	/**
126
	/**
126
	 * Crée les onglets identité, adresse et informations naturaliste
127
	 * Crée les onglets identité, adresse et informations naturaliste
127
	 * 
128
	 * 
128
	 * */
129
	 * */
129
	public void initialiserOnglets()	{
130
	public void initialiserOnglets()	{
130
		//TabPanel
131
		//TabPanel
131
		TabPanel formulaireOnglets = new TabPanel();
132
		TabPanel formulaireOnglets = new TabPanel();
132
		
133
		
133
		//Tab 1 : identite
134
		//Tab 1 : identite
134
		tiIdentite = new TabItem("Identité");
135
		tiIdentite = new TabItem("Identité");
135
		tiIdentite.setLayout(new FormLayout());
136
		tiIdentite.setLayout(new FormLayout());
136
		tiIdentite.setScrollMode(Scroll.AUTO);
137
		tiIdentite.setScrollMode(Scroll.AUTO);
137
		formulaireOnglets.add(tiIdentite);
138
		formulaireOnglets.add(tiIdentite);
138
		
139
		
139
		hmIdentite.put("tiIdentite", tiIdentite);
140
		hmIdentite.put("tiIdentite", tiIdentite);
140
		
141
		
141
		
142
		
142
		//Tab 2 : Adresse
143
		//Tab 2 : Adresse
143
		tiAdresses = new TabItem("Adresse");
144
		tiAdresses = new TabItem("Adresse");
144
		tiAdresses.setLayout(new FormLayout());
145
		tiAdresses.setLayout(new FormLayout());
145
		tiAdresses.setScrollMode(Scroll.AUTO);
146
		tiAdresses.setScrollMode(Scroll.AUTO);
146
		formulaireOnglets.add(tiAdresses);
147
		formulaireOnglets.add(tiAdresses);
147
		
148
		
148
		//Tab 3 : Infos Naturalistes
149
		//Tab 3 : Infos Naturalistes
149
		tiInfosNat = new TabItem("Informations Naturalistes");
150
		tiInfosNat = new TabItem("Informations Naturalistes");
150
		tiInfosNat.setLayout(new FormLayout());
151
		tiInfosNat.setLayout(new FormLayout());
151
		tiInfosNat.setScrollMode(Scroll.AUTO);
152
		tiInfosNat.setScrollMode(Scroll.AUTO);
152
		formulaireOnglets.add(tiInfosNat);
153
		formulaireOnglets.add(tiInfosNat);
153
		
154
		
154
		add(formulaireOnglets);
155
		add(formulaireOnglets);
155
	}
156
	}
156
	
157
	
157
	/**
158
	/**
158
	 * Crée les widgets pour l'onglet identité
159
	 * Crée les widgets pour l'onglet identité
159
	 * 
160
	 * 
160
	 * */
161
	 * */
161
	
162
	
162
	//hmIdentite[...] référence par une chaine de caractère tous les composants de l'onglet Identite
163
	//hmIdentite[...] référence par une chaine de caractère tous les composants de l'onglet Identite
163
	private HashMap<String, Widget>hmIdentite = new HashMap<String, Widget>();
164
	private HashMap<String, Widget>hmIdentite = new HashMap<String, Widget>();
164
	private HashMap<String, Widget>hmAdresse = new HashMap<String, Widget>();
165
	private HashMap<String, Widget>hmAdresse = new HashMap<String, Widget>();
165
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
166
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
166
	private FormData fd100 = new FormData("1");
167
	private FormData fd100 = new FormData("1");
167
	
168
	
168
	
169
	
169
	public void creerComposantsIdentite()	{
170
	public void creerComposantsIdentite()	{
170
		
171
		
171
		// Gestion de l'affichage en colonnes
172
		// Gestion de l'affichage en colonnes
172
			// On crée 3 Layout container : un principal, un pour la colonne de gauche, un pour la colonne de droite
173
			// On crée 3 Layout container : un principal, un pour la colonne de gauche, un pour la colonne de droite
173
		
174
		
174
			// Gauche
175
			// Gauche
175
			LayoutContainer left = new LayoutContainer();
176
			LayoutContainer left = new LayoutContainer();
176
			left.setLayout(new FormLayout());
177
			left.setLayout(new FormLayout());
177
			
178
			
178
			// Droite
179
			// Droite
179
			LayoutContainer right = new LayoutContainer();
180
			LayoutContainer right = new LayoutContainer();
180
			right.setLayout(new FormLayout());
181
			right.setLayout(new FormLayout());
181
			
182
			
182
			// Principal
183
			// Principal
183
			LayoutContainer main = new LayoutContainer();
184
			LayoutContainer main = new LayoutContainer();
184
			main.setLayout(new ColumnLayout());
185
			main.setLayout(new ColumnLayout());
185
			
186
			
186
			// Ajout au principal
187
			// Ajout au principal
187
			main.add(left, new ColumnData(.49));
188
			main.add(left, new ColumnData(.49));
188
			main.add(right, new ColumnData(.49));			
189
			main.add(right, new ColumnData(.49));			
189
			
190
			
190
			// Création des champs
191
			// Création des champs
191
			
192
			
192
			//FormLayout sera utilisé à plusieurs reprises
193
			//FormLayout sera utilisé à plusieurs reprises
193
			FormLayout formLayout = new FormLayout();
194
			FormLayout formLayout = new FormLayout();
194
			
195
			
195
			FieldSet fsNoms = new FieldSet();
196
			FieldSet fsNoms = new FieldSet();
196
			fsNoms.setHeading("Noms");
197
			fsNoms.setHeading("Noms");
197
			
198
			
198
			formLayout.setLabelAlign(LabelAlign.LEFT);
199
			formLayout.setLabelAlign(LabelAlign.LEFT);
199
			fsNoms.setLayout(formLayout); 
200
			fsNoms.setLayout(formLayout); 
200
			
201
			
201
			// Nom complet
202
			// Nom complet
202
			// Affiché que si valeurs saisies
203
			// Affiché que si valeurs saisies
203
			LabelField nomComplet = new LabelField();
204
			LabelField nomComplet = new LabelField();
204
			nomComplet.setFieldLabel("Nom complet:");
205
			nomComplet.setFieldLabel("Nom complet:");
205
			nomComplet.hide();
206
			nomComplet.hide();
206
			fsNoms.add(nomComplet);
207
			fsNoms.add(nomComplet);
207
			
208
			
208
			hmIdentite.put("nomComplet", nomComplet);
209
			hmIdentite.put("nomComplet", nomComplet);
209
			
210
			
210
			//Préfixe
211
			//Préfixe
211
			ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>();
212
			ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>();
212
			ListStore<Valeur> storePrefixe = new ListStore<Valeur>();
213
			ListStore<Valeur> storePrefixe = new ListStore<Valeur>();
213
			cbPrefixe.setStore(storePrefixe);
214
			cbPrefixe.setStore(storePrefixe);
214
			cbPrefixe.setDisplayField("nom");
215
			cbPrefixe.setDisplayField("nom");
215
			cbPrefixe.setEmptyText("Choisissez le préfixe:");
216
			cbPrefixe.setEmptyText("Choisissez le préfixe:");
216
			cbPrefixe.setFieldLabel("Prefix");
217
			cbPrefixe.setFieldLabel("Prefix");
217
			fsNoms.add(cbPrefixe);			
218
			fsNoms.add(cbPrefixe);			
218
			
219
			
219
			hmIdentite.put("cbPrefixe", cbPrefixe);
220
			hmIdentite.put("cbPrefixe", cbPrefixe);
220
			
221
			
221
			// Remplir la liste des préfixe
222
			// Remplir la liste des préfixe
222
			mediateur.obtenirListeValeurEtRafraichir(this, "prefixe");
223
			mediateur.obtenirListeValeurEtRafraichir(this, "prefixe");
223
			
224
			
224
			//Prénom
225
			//Prénom
225
			TextField<String> tfPrenom = new TextField<String>();
226
			TextField<String> tfPrenom = new TextField<String>();
226
			tfPrenom.setFieldLabel("Prénom");
227
			tfPrenom.setFieldLabel("Prénom");
227
			fsNoms.add(tfPrenom);
228
			fsNoms.add(tfPrenom);
228
			
229
			
229
			hmIdentite.put("tfPrenom", tfPrenom);
230
			hmIdentite.put("tfPrenom", tfPrenom);
230
			
231
			
231
			//Nom
232
			//Nom
232
			TextField<String> tfNom = new TextField<String>();
233
			TextField<String> tfNom = new TextField<String>();
233
			tfNom.setFieldLabel("Nom");
234
			tfNom.setFieldLabel("Nom");
234
			fsNoms.add(tfNom);
235
			fsNoms.add(tfNom);
235
			
236
			
236
			hmIdentite.put("tfNom", tfNom);
237
			hmIdentite.put("tfNom", tfNom);
237
			
238
			
238
			//Suffixe
239
			//Suffixe
239
			ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>();
240
			ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>();
240
			ListStore<Valeur> storeSuffixe = new ListStore<Valeur>();
241
			ListStore<Valeur> storeSuffixe = new ListStore<Valeur>();
241
			cbSuffixe.setStore(storeSuffixe);
242
			cbSuffixe.setStore(storeSuffixe);
242
			cbSuffixe.setFieldLabel("Suffixe");
243
			cbSuffixe.setFieldLabel("Suffixe");
243
			cbSuffixe.setDisplayField("nom");
244
			cbSuffixe.setDisplayField("nom");
244
			cbSuffixe.setEmptyText("Choisissez un suffixe:");
245
			cbSuffixe.setEmptyText("Choisissez un suffixe:");
245
			fsNoms.add(cbSuffixe);			
246
			fsNoms.add(cbSuffixe);			
246
			
247
			
247
			hmIdentite.put("cbSuffixe", cbSuffixe);
248
			hmIdentite.put("cbSuffixe", cbSuffixe);
248
			
249
			
249
			// Remplir la liste des suffixes:
250
			// Remplir la liste des suffixes:
250
			mediateur.obtenirListeValeurEtRafraichir(this, "suffixes");
251
			mediateur.obtenirListeValeurEtRafraichir(this, "suffixes");
251
			
252
			
252
			// Nom : autre
253
			// Nom : autre
253
			TextField<String> tfNomAutre = new TextField();
254
			TextField<String> tfNomAutre = new TextField();
254
			tfNomAutre.setFieldLabel("Autres noms");
255
			tfNomAutre.setFieldLabel("Autres noms");
255
			fsNoms.add(tfNomAutre);
256
			fsNoms.add(tfNomAutre);
256
			
257
			
257
			hmIdentite.put("tfNomAutre", tfNomAutre);
258
			hmIdentite.put("tfNomAutre", tfNomAutre);
258
			
259
			
259
			//Abréviation
260
			//Abréviation
260
			TextField<String> tfAbreviation = new TextField<String>();
261
			TextField<String> tfAbreviation = new TextField<String>();
261
			tfAbreviation.setFieldLabel("Abréviation");
262
			tfAbreviation.setFieldLabel("Abréviation");
262
			fsNoms.add(tfAbreviation);
263
			fsNoms.add(tfAbreviation);
263
			
264
			
264
			hmIdentite.put("tfAbreviation", tfAbreviation);
265
			hmIdentite.put("tfAbreviation", tfAbreviation);
265
			
266
			
266
			//Abréviation autres
267
			//Abréviation autres
267
			TextField<String> tfAbreviationAutre = new TextField<String>();
268
			TextField<String> tfAbreviationAutre = new TextField<String>();
268
			tfAbreviationAutre.setFieldLabel("Autres Abrév.");
269
			tfAbreviationAutre.setFieldLabel("Autres Abrév.");
269
			fsNoms.add(tfAbreviationAutre);
270
			fsNoms.add(tfAbreviationAutre);
270
			
271
			
271
			hmIdentite.put("tfAbreviationAutre", tfAbreviationAutre);
272
			hmIdentite.put("tfAbreviationAutre", tfAbreviationAutre);
272
			
273
			
273
			
274
			
274
			left.add(fsNoms);
275
			left.add(fsNoms);
275
			
276
			
276
			// Naissance
277
			// Naissance
277
			FieldSet fsNaissance = new FieldSet();
278
			FieldSet fsNaissance = new FieldSet();
278
			fsNaissance.setHeading("Naissance");
279
			fsNaissance.setHeading("Naissance");
279
			
280
			
280
			formLayout = new FormLayout();
281
			formLayout = new FormLayout();
281
			formLayout.setLabelAlign(LabelAlign.LEFT);
282
			formLayout.setLabelAlign(LabelAlign.LEFT);
282
			fsNaissance.setLayout(formLayout); 
283
			fsNaissance.setLayout(formLayout); 
283
			
284
			
284
			// Date naissance
285
			// Date naissance
285
			DateField dfDateNaissance = new DateField();
286
			DateField dfDateNaissance = new DateField();
286
			dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
287
			dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
287
			
288
			
288
			dfDateNaissance.setFieldLabel("Date");
289
			dfDateNaissance.setFieldLabel("Date");
289
			fsNaissance.add(dfDateNaissance);
290
			fsNaissance.add(dfDateNaissance);
290
			
291
			
291
			hmIdentite.put("dfDateNaissance", dfDateNaissance);
292
			hmIdentite.put("dfDateNaissance", dfDateNaissance);
292
			
293
			
293
			// Lieu naissance
294
			// Lieu naissance
294
			TextField<String> tfLieuNaissance = new TextField();
295
			TextField<String> tfLieuNaissance = new TextField();
295
			tfLieuNaissance.setFieldLabel("Lieu");
296
			tfLieuNaissance.setFieldLabel("Lieu");
296
			fsNaissance.add(tfLieuNaissance);
297
			fsNaissance.add(tfLieuNaissance);
297
			
298
			
298
			hmIdentite.put("tfLieuNaissance", tfLieuNaissance);
299
			hmIdentite.put("tfLieuNaissance", tfLieuNaissance);
299
			
300
			
300
			left.add(fsNaissance);
301
			left.add(fsNaissance);
301
			
302
			
302
			// Deces
303
			// Deces
303
			FieldSet fsDeces = new FieldSet();
304
			FieldSet fsDeces = new FieldSet();
304
			fsDeces.setHeading("Décès");
305
			fsDeces.setHeading("Décès");
305
			
306
			
306
			formLayout = new FormLayout();
307
			formLayout = new FormLayout();
307
			formLayout.setLabelAlign(LabelAlign.LEFT);
308
			formLayout.setLabelAlign(LabelAlign.LEFT);
308
			fsDeces.setLayout(formLayout); 
309
			fsDeces.setLayout(formLayout); 
309
			
310
			
310
			// Date décès
311
			// Date décès
311
			DateField dfDateDeces = new DateField();
312
			DateField dfDateDeces = new DateField();
312
			dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
313
			dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
313
			dfDateDeces.setFormatValue(true);
314
			dfDateDeces.setFormatValue(true);
314
			dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
315
			dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
315
			
316
			
316
			dfDateDeces.setFieldLabel("Date");
317
			dfDateDeces.setFieldLabel("Date");
317
			fsDeces.add(dfDateDeces);
318
			fsDeces.add(dfDateDeces);
318
			
319
			
319
			hmIdentite.put("dfDateDeces", dfDateDeces);
320
			hmIdentite.put("dfDateDeces", dfDateDeces);
320
			
321
			
321
			// Lieu décès
322
			// Lieu décès
322
			TextField<String> tfLieuDeces = new TextField();
323
			TextField<String> tfLieuDeces = new TextField();
323
			tfLieuDeces.setFieldLabel("Lieu");
324
			tfLieuDeces.setFieldLabel("Lieu");
324
			fsDeces.add(tfLieuDeces);
325
			fsDeces.add(tfLieuDeces);
325
			
326
			
326
			hmIdentite.put("tfLieuDeces", tfLieuDeces);
327
			hmIdentite.put("tfLieuDeces", tfLieuDeces);
327
			
328
			
328
			left.add(fsDeces);
329
			left.add(fsDeces);
329
			
330
			
330
			tiIdentite.add(main);
331
			tiIdentite.add(main);
331
			
332
			
332
			// Contact - Téléphone
333
			// Contact - Téléphone
333
			FieldSet fsContactTel = new FieldSet();
334
			FieldSet fsContactTel = new FieldSet();
334
			fsContactTel.setHeading("Contact - Téléphones");
335
			fsContactTel.setHeading("Contact - Téléphones");
335
			fsContactTel.setLayout(new TableLayout(3));
336
			fsContactTel.setLayout(new TableLayout(3));
336
			hmIdentite.put("fsContactTel", fsContactTel);
337
			hmIdentite.put("fsContactTel", fsContactTel);
337
			
338
			
338
			right.add(fsContactTel);
339
			right.add(fsContactTel);
339
			
340
			
340
			//Téléphone
341
			//Téléphone
341
			TextField tfTelephone = new TextField();
342
			TextField tfTelephone = new TextField();
342
			tfTelephone.setFieldLabel("tel");
343
			tfTelephone.setFieldLabel("tel");
343
			fsContactTel.add(tfTelephone);
344
			fsContactTel.add(tfTelephone);
344
			
345
			
345
			hmIdentite.put("tfTelephone", tfTelephone);
346
			hmIdentite.put("tfTelephone", tfTelephone);
346
			
347
			
347
			//Type de téléphone
348
			//Type de téléphone
348
			ComboBox<Valeur> cbTelephone = new ComboBox<Valeur>();
349
			ComboBox<Valeur> cbTelephone = new ComboBox<Valeur>();
349
			
350
			
350
			cbTelephone.setDisplayField("nom");
351
			cbTelephone.setDisplayField("nom");
351
			cbTelephone.setEmptyText("Choisissez:");
352
			cbTelephone.setEmptyText("Choisissez:");
352
			ListStore<Valeur> storeTel = new ListStore<Valeur>();
353
			ListStore<Valeur> storeTel = new ListStore<Valeur>();
353
			cbTelephone.setStore(storeTel);
354
			cbTelephone.setStore(storeTel);
354
			
355
			
355
			fsContactTel.add(cbTelephone);
356
			fsContactTel.add(cbTelephone);
356
			
357
			
357
			hmIdentite.put("cbTelephone", cbTelephone);
358
			hmIdentite.put("cbTelephone", cbTelephone);
358
			
359
			
359
			mediateur.obtenirListeValeurEtRafraichir(this, "tel");
360
			mediateur.obtenirListeValeurEtRafraichir(this, "tel");
360
			
361
			
361
			// Bouton ajouter
362
			// Bouton ajouter
362
			IconButton bAjouter = new IconButton(ComposantClass.ICONE_AJOUTER);
363
			IconButton bAjouter = new IconButton(ComposantClass.ICONE_AJOUTER);
363
			
364
			
364
			// Evenement bouton
365
			// Evenement bouton
365
			bAjouter.addSelectionListener(
366
			bAjouter.addSelectionListener(
366
					new SelectionListener<ComponentEvent>() {
367
					new SelectionListener<ComponentEvent>() {
367
						
368
						
368
						public void componentSelected(ComponentEvent ce) {
369
						public void componentSelected(ComponentEvent ce) {
369
								
370
								
370
							String strTelephone = ((TextField<String>) hmIdentite.get("tfTelephone")).getValue();
371
							String strTelephone = ((TextField<String>) hmIdentite.get("tfTelephone")).getValue();
371
							if ((strTelephone==null)||(strTelephone.trim().equals("")))	{
372
							if ((strTelephone==null)||(strTelephone.trim().equals("")))	{
372
								MessageBox.alert("Erreur de saisie", "Vous devez saisir un numéro de téléphone", null);
373
								MessageBox.alert("Erreur de saisie", "Vous devez saisir un numéro de téléphone", null);
373
							} else if (hmIdentite.get("tel-" + strTelephone) != null){
374
							} else if (hmIdentite.get("tel-" + strTelephone) != null){
374
								MessageBox.alert("Erreur de saisie", "Le numéro saisi est déjà présent dans la liste", null);							
375
								MessageBox.alert("Erreur de saisie", "Le numéro saisi est déjà présent dans la liste", null);							
375
							} else {
376
							} else {
376
								
377
								
377
								String strValeurTypeTel = "";
378
								String strValeurTypeTel = "";
378
								Valeur valeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getValue();
379
								Valeur valeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getValue();
379
								
380
								
380
								if (valeurTypeTel != null)	{
381
								if (valeurTypeTel != null)	{
381
									strValeurTypeTel = valeurTypeTel.getNom();									
382
									strValeurTypeTel = valeurTypeTel.getNom();									
382
								}	else {
383
								}	else {
383
									strValeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getRawValue();
384
									strValeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getRawValue();
384
								}
385
								}
385
								
386
								
386
								
387
								
387
								if (strValeurTypeTel.trim().equals(""))	{
388
								if (strValeurTypeTel.trim().equals(""))	{
388
									MessageBox.alert("Erreur de saisie", "Vous devez saisir un type de téléphone", null);
389
									MessageBox.alert("Erreur de saisie", "Vous devez saisir un type de téléphone", null);
389
								}	else {
390
								}	else {
390
									
391
									
391
									//Ajout d'un champ à la liste
392
									//Ajout d'un champ à la liste
392
									HiddenField<String> hfTelephone = new HiddenField<String>();
393
									HiddenField<String> hfTelephone = new HiddenField<String>();
393
									hfTelephone.setId("hidden-" + strTelephone);
394
									hfTelephone.setId("hidden-" + strTelephone);
394
									hfTelephone.setFieldLabel(strValeurTypeTel);
395
									hfTelephone.setFieldLabel(strValeurTypeTel);
395
									hfTelephone.setValue(strTelephone);
396
									hfTelephone.setValue(strTelephone);
396
									hmIdentite.put("hidden-" + strTelephone, hfTelephone);
397
									hmIdentite.put("hidden-" + strTelephone, hfTelephone);
397
									
398
									
398
									FieldSet fsContactTel = (FieldSet) hmIdentite.get("fsContactTel");
399
									FieldSet fsContactTel = (FieldSet) hmIdentite.get("fsContactTel");
399
									
400
									
400
									Text tTypeTelephone = new Text();
401
									Text tTypeTelephone = new Text();
401
									tTypeTelephone.setText(strValeurTypeTel+":");
402
									tTypeTelephone.setText(strValeurTypeTel+":");
402
									
403
									
403
									hmIdentite.put("type-" + strTelephone, tTypeTelephone);
404
									hmIdentite.put("type-" + strTelephone, tTypeTelephone);
404
									fsContactTel.add(tTypeTelephone);
405
									fsContactTel.add(tTypeTelephone);
405
									
406
									
406
									Text tTelephone = new Text();
407
									Text tTelephone = new Text();
407
									tTelephone.setText(strTelephone);
408
									tTelephone.setText(strTelephone);
408
									hmIdentite.put("tel-" + strTelephone, tTelephone);
409
									hmIdentite.put("tel-" + strTelephone, tTelephone);
409
									fsContactTel.add(tTelephone);
410
									fsContactTel.add(tTelephone);
410
									
411
									
411
									IconButton bSupprimer = new IconButton(ComposantClass.ICONE_SUPPRIMER);
412
									IconButton bSupprimer = new IconButton(ComposantClass.ICONE_SUPPRIMER);
412
									bSupprimer.setId(strTelephone);
413
									bSupprimer.setId(strTelephone);
413
									
414
									
414
									bSupprimer.addSelectionListener(new SelectionListener<ComponentEvent>() {
415
									bSupprimer.addSelectionListener(new SelectionListener<ComponentEvent>() {
415
											public void componentSelected(ComponentEvent ce) {
416
											public void componentSelected(ComponentEvent ce) {
416
												
417
												
417
												String strTelephone = ce.component.getId();
418
												String strTelephone = ce.component.getId();
418
												FieldSet fsContactTel = (FieldSet) hmIdentite.get("fsContactTel");
419
												FieldSet fsContactTel = (FieldSet) hmIdentite.get("fsContactTel");
419
												
420
												
420
												fsContactTel.remove(hmIdentite.get("type-" + strTelephone));
421
												fsContactTel.remove(hmIdentite.get("type-" + strTelephone));
421
												hmIdentite.remove("type-" + strTelephone);
422
												hmIdentite.remove("type-" + strTelephone);
422
												
423
												
423
												fsContactTel.remove(hmIdentite.get("tel-" + strTelephone));
424
												fsContactTel.remove(hmIdentite.get("tel-" + strTelephone));
424
												hmIdentite.remove("tel-" + strTelephone);
425
												hmIdentite.remove("tel-" + strTelephone);
425
												
426
												
426
												((TabItem) hmIdentite.get("tiIdentite")).remove(hmIdentite.get("hidden-" + strTelephone));
427
												((TabItem) hmIdentite.get("tiIdentite")).remove(hmIdentite.get("hidden-" + strTelephone));
427
												hmIdentite.remove("hidden-" + strTelephone);
428
												hmIdentite.remove("hidden-" + strTelephone);
428
												
429
												
429
												fsContactTel.remove(ce.component);
430
												fsContactTel.remove(ce.component);
430
												
431
												
431
												layout();
432
												layout();
432
												
433
												
433
											}
434
											}
434
									});
435
									});
435
									
436
									
436
									fsContactTel.add(bSupprimer);
437
									fsContactTel.add(bSupprimer);
437
									
438
									
438
									((TabItem) hmIdentite.get("tiIdentite")).add(hfTelephone);
439
									((TabItem) hmIdentite.get("tiIdentite")).add(hfTelephone);
439
									
440
									
440
									layout();
441
									layout();
441
								}
442
								}
442
								
443
								
443
							}
444
							}
444
							
445
							
445
							
446
							
446
						}
447
						}
447
					}			
448
					}			
448
			);
449
			);
449
			
450
			
450
			fsContactTel.add(bAjouter);
451
			fsContactTel.add(bAjouter);
451
			
452
			
452
			//Contact - autres
453
			//Contact - autres
453
			FieldSet fsContact = new FieldSet();
454
			FieldSet fsContact = new FieldSet();
454
			fsContact.setHeading("Contact - Autres");
455
			fsContact.setHeading("Contact - Autres");
455
			fsContact.setId("fsContact");
456
			fsContact.setId("fsContact");
456
			
457
			
457
			formLayout = new FormLayout();
458
			formLayout = new FormLayout();
458
			formLayout.setLabelAlign(LabelAlign.LEFT);
459
			formLayout.setLabelAlign(LabelAlign.LEFT);
459
			fsContact.setLayout(formLayout);
460
			fsContact.setLayout(formLayout);
460
			
461
			
461
			right.add(fsContact);
462
			right.add(fsContact);
462
			
463
			
463
			// Courriels
464
			// Courriels
464
			TextArea taCourriel = new TextArea();
465
			TextArea taCourriel = new TextArea();
465
			taCourriel.setFieldLabel("Courriels");
466
			taCourriel.setFieldLabel("Courriels");
466
			taCourriel.setEmptyText("Saisissez les adresses courriels séparées par un saut de ligne");
467
			taCourriel.setEmptyText("Saisissez les adresses courriels séparées par un saut de ligne");
467
			
468
			
468
			fsContact.add(taCourriel, fd100);
469
			fsContact.add(taCourriel, fd100);
469
			
470
			
470
			hmIdentite.put("taCourriel", taCourriel);
471
			hmIdentite.put("taCourriel", taCourriel);
471
			
472
			
472
			// URLS
473
			// URLS
473
			TextArea taUrl = new TextArea();
474
			TextArea taUrl = new TextArea();
474
			taUrl.setFieldLabel("Sites");
475
			taUrl.setFieldLabel("Sites");
475
			taUrl.setWidth("100%");
476
			taUrl.setWidth("100%");
476
			taUrl.setEmptyText("Saisissez les adresses des sites séparées par un saut de ligne");
477
			taUrl.setEmptyText("Saisissez les adresses des sites séparées par un saut de ligne");
477
			fsContact.add(taUrl, fd100);
478
			fsContact.add(taUrl, fd100);
478
			
479
			
479
			hmIdentite.put("taUrl", taUrl);
480
			hmIdentite.put("taUrl", taUrl);
480
			
481
			
481
			
482
			
482
			// Autres informations
483
			// Autres informations
483
			FieldSet fsAutresInfos = new FieldSet();
484
			FieldSet fsAutresInfos = new FieldSet();
484
			fsAutresInfos.setHeading("Autres informations");
485
			fsAutresInfos.setHeading("Autres informations");
485
			
486
			
486
			formLayout = new FormLayout();
487
			formLayout = new FormLayout();
487
			formLayout.setLabelAlign(LabelAlign.LEFT);
488
			formLayout.setLabelAlign(LabelAlign.LEFT);
488
			fsAutresInfos.setLayout(formLayout); 
489
			fsAutresInfos.setLayout(formLayout); 
489
			
490
			
490
			right.add(fsAutresInfos);
491
			right.add(fsAutresInfos);
491
			
492
			
492
			//Civilité
493
			//Civilité
493
			
494
			
494
			ComboBox<Valeur> cbSexe = new ComboBox<Valeur>();
495
			ComboBox<Valeur> cbSexe = new ComboBox<Valeur>();
495
			ListStore<Valeur> storeSexe = new ListStore<Valeur>();
496
			ListStore<Valeur> storeSexe = new ListStore<Valeur>();
496
			cbSexe.setStore(storeSexe);
497
			cbSexe.setStore(storeSexe);
497
			cbSexe.setFieldLabel("Sexe");
498
			cbSexe.setFieldLabel("Sexe");
498
			cbSexe.setDisplayField("nom");
499
			cbSexe.setDisplayField("nom");
499
			cbSexe.setEmptyText("Choisissez le sexe:");
500
			cbSexe.setEmptyText("Choisissez le sexe:");
500
			
501
			
501
			fsAutresInfos.add(cbSexe, fd100);			
502
			fsAutresInfos.add(cbSexe, fd100);			
502
			
503
			
503
			hmIdentite.put("cbSexe", cbSexe);
504
			hmIdentite.put("cbSexe", cbSexe);
504
			
505
			
505
			mediateur.obtenirListeValeurEtRafraichir(this, "sexe");			
506
			mediateur.obtenirListeValeurEtRafraichir(this, "sexe");			
506
			
507
			
507
			//Description
508
			//Description
508
			TextArea taDescription = new TextArea();
509
			TextArea taDescription = new TextArea();
509
			taDescription.setEmptyText("Saisissez une description");
510
			taDescription.setEmptyText("Saisissez une description");
510
			taDescription.setFieldLabel("Description");
511
			taDescription.setFieldLabel("Description");
511
			taDescription.setWidth("100%");
512
			taDescription.setWidth("100%");
512
			fsAutresInfos.add(taDescription, fd100);
513
			fsAutresInfos.add(taDescription, fd100);
513
			
514
			
514
			hmIdentite.put("taDescription", taDescription);
515
			hmIdentite.put("taDescription", taDescription);
515
			
516
			
516
			// Logo
517
			// Logo
517
			TextArea taLogo = new TextArea();
518
			TextArea taLogo = new TextArea();
518
			taLogo.setFieldLabel("Logos");
519
			taLogo.setFieldLabel("Logos");
519
			taLogo.setWidth("100%");
520
			taLogo.setWidth("100%");
520
			taLogo.setEmptyText("Saisissez les adresses des logos séparées par un saut de ligne");
521
			taLogo.setEmptyText("Saisissez les adresses des logos séparées par un saut de ligne");
521
			fsAutresInfos.add(taLogo, fd100);
522
			fsAutresInfos.add(taLogo, fd100);
522
			
523
			
523
			hmIdentite.put("taLogo", taLogo);
524
			hmIdentite.put("taLogo", taLogo);
524
			
525
			
525
			
526
			
526
			
527
			
527
			// Ajout des évènements saisi
528
			// Ajout des évènements saisi
528
			KeyListener klNoms = new KeyListener()	{
529
			KeyListener klNoms = new KeyListener()	{
529
				public void componentKeyUp(ComponentEvent ev)	{
530
				public void componentKeyUp(ComponentEvent ev)	{
530
					rafraichir(null);	
531
					rafraichir(null);	
531
				}				
532
				}				
532
			};
533
			};
533
			
534
			
534
			SelectionChangedListener<InterneValeur> selectionChange = new SelectionChangedListener<InterneValeur>() {
535
			SelectionChangedListener<InterneValeur> selectionChange = new SelectionChangedListener<InterneValeur>() {
535
				public void selectionChanged(SelectionChangedEvent se) {
536
				public void selectionChanged(SelectionChangedEvent se) {
536
						rafraichir(null);
537
						rafraichir(null);
537
					}
538
					}
538
			};
539
			};
539
						
540
						
540
			cbPrefixe.addSelectionChangedListener(selectionChange);
541
			cbPrefixe.addSelectionChangedListener(selectionChange);
541
			cbPrefixe.addKeyListener(klNoms);
542
			cbPrefixe.addKeyListener(klNoms);
542
			tfPrenom.addKeyListener(klNoms);
543
			tfPrenom.addKeyListener(klNoms);
543
			tfNom.addKeyListener(klNoms);
544
			tfNom.addKeyListener(klNoms);
544
			cbSuffixe.addSelectionChangedListener(selectionChange);		
545
			cbSuffixe.addSelectionChangedListener(selectionChange);		
545
			
546
			
546
	}
547
	}
547
	
548
	
548
	public void creerComposantsAdresse()	{
549
	public void creerComposantsAdresse()	{
549
		
550
		
550
		// Gauche
551
		// Gauche
551
		LayoutContainer left = new LayoutContainer();
552
		LayoutContainer left = new LayoutContainer();
552
		left.setLayout(new FormLayout());
553
		left.setLayout(new FormLayout());
553
		
554
		
554
		// Droite
555
		// Droite
555
		LayoutContainer right = new LayoutContainer();
556
		LayoutContainer right = new LayoutContainer();
556
		right.setLayout(new FormLayout());
557
		right.setLayout(new FormLayout());
557
		
558
		
558
		// Principal
559
		// Principal
559
		LayoutContainer main = new LayoutContainer();
560
		LayoutContainer main = new LayoutContainer();
560
		main.setLayout(new ColumnLayout());
561
		main.setLayout(new ColumnLayout());
561
		
562
		
562
		// Ajout au principal
563
		// Ajout au principal
563
		main.add(left, new ColumnData(.49));
564
		main.add(left, new ColumnData(.49));
564
		main.add(right, new ColumnData(.49));	
565
		main.add(right, new ColumnData(.49));	
565
		
566
		
566
		TextField<String> tfAdresse1 = new TextField();
567
		TextField<String> tfAdresse1 = new TextField();
567
		tfAdresse1.setFieldLabel("Adresse");
568
		tfAdresse1.setFieldLabel("Adresse");
568
		left.add(tfAdresse1, fd100);
569
		left.add(tfAdresse1, fd100);
569
		hmAdresse.put("tfAdresse1", tfAdresse1);
570
		hmAdresse.put("tfAdresse1", tfAdresse1);
570
		
571
		
571
		TextField<String> tfAdresse2 = new TextField();
572
		TextField<String> tfAdresse2 = new TextField();
572
		tfAdresse2.setFieldLabel("Complément d'adresse");
573
		tfAdresse2.setFieldLabel("Complément d'adresse");
573
		left.add(tfAdresse2, fd100);
574
		left.add(tfAdresse2, fd100);
574
		hmAdresse.put("tfAdresse2", tfAdresse2);
575
		hmAdresse.put("tfAdresse2", tfAdresse2);
575
		
576
		
576
		ComboBox<Valeur> cbPays = new ComboBox<Valeur>();
577
		ComboBox<Valeur> cbPays = new ComboBox<Valeur>();
577
		cbPays.setFieldLabel("Pays");
578
		cbPays.setFieldLabel("Pays");
578
		cbPays.setDisplayField("nom");
579
		cbPays.setDisplayField("nom");
579
		cbPays.setEmptyText("Sélectionnez le pays:");
580
		cbPays.setEmptyText("Sélectionnez le pays:");
580
		
581
		
581
		ListStore<Valeur> storePays = new ListStore<Valeur>();
582
		ListStore<Valeur> storePays = new ListStore<Valeur>();
582
		cbPays.setStore(storePays);
583
		cbPays.setStore(storePays);
583
		
584
		
584
		right.add(cbPays, fd100);
585
		right.add(cbPays, fd100);
585
		hmAdresse.put("cbPays", cbPays);
586
		hmAdresse.put("cbPays", cbPays);
586
		
587
		
587
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
588
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
588
			public void selectionChanged(SelectionChangedEvent se) {
589
			public void selectionChanged(SelectionChangedEvent se) {
589
					// Rafraichir avec le pays sélectionné
590
					// Rafraichir avec le pays sélectionné
590
					obtenirListeRegionParPays(((Valeur) se.getSelectedItem()).getAbreviation().toString());
591
					obtenirListeRegionParPays(((Valeur) se.getSelectedItem()).getAbreviation().toString());
591
					
592
					
592
				}
593
				}
593
		};
594
		};
594
					
595
					
595
		cbPays.addSelectionChangedListener(selectionChange);
596
		cbPays.addSelectionChangedListener(selectionChange);
596
		
597
		
597
		
598
		
598
		ComboBox<Valeur> cbRegion = new ComboBox<Valeur>();
599
		ComboBox<Valeur> cbRegion = new ComboBox<Valeur>();
599
		cbRegion.setFieldLabel("Region");
600
		cbRegion.setFieldLabel("Region");
600
		cbRegion.setDisplayField("nom");
601
		cbRegion.setDisplayField("nom");
601
		cbRegion.setEmptyText("Sélectionnez la région:");
602
		cbRegion.setEmptyText("Sélectionnez la région:");
602
		cbRegion.setVisible(false);
603
		cbRegion.setVisible(false);
603
		
604
		
604
		ListStore<Valeur> storeRegion = new ListStore<Valeur>();
605
		ListStore<Valeur> storeRegion = new ListStore<Valeur>();
605
		cbRegion.setStore(storeRegion);
606
		cbRegion.setStore(storeRegion);
606
		
607
		
607
		right.add(cbRegion, fd100);
608
		right.add(cbRegion, fd100);
608
		hmAdresse.put("cbRegion", cbRegion);
609
		hmAdresse.put("cbRegion", cbRegion);
609
		
610
		
610
		TextField<String> tfBoitePostale = new TextField<String>();
611
		TextField<String> tfBoitePostale = new TextField<String>();
611
		tfBoitePostale.setFieldLabel("Boite postale");
612
		tfBoitePostale.setFieldLabel("Boite postale");
612
		left.add(tfBoitePostale, fd100);
613
		left.add(tfBoitePostale, fd100);
613
		hmAdresse.put("tfBoitePostale", tfBoitePostale);
614
		hmAdresse.put("tfBoitePostale", tfBoitePostale);
614
		
615
		
615
		TextField<Integer> tfCodePostal = new TextField<Integer>();
616
		TextField<Integer> tfCodePostal = new TextField<Integer>();
616
		tfCodePostal.setFieldLabel("Code postal");
617
		tfCodePostal.setFieldLabel("Code postal");
617
		right.add(tfCodePostal, fd100);
618
		right.add(tfCodePostal, fd100);
618
		hmAdresse.put("tfCodePostal", tfCodePostal);
619
		hmAdresse.put("tfCodePostal", tfCodePostal);
619
		
620
		
620
		TextField tfVille = new TextField();
621
		TextField tfVille = new TextField();
621
		tfVille.setFieldLabel("Ville");
622
		tfVille.setFieldLabel("Ville");
622
		
623
		
623
		right.add(tfVille, fd100);
624
		right.add(tfVille, fd100);
624
		hmAdresse.put("tfVille", tfVille);
625
		hmAdresse.put("tfVille", tfVille);
625
		
626
		
626
		// MAJ ComboBox
627
		// MAJ ComboBox
627
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
628
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
628
		
629
		
629
		FieldSet fsAdresse = new FieldSet();
630
		FieldSet fsAdresse = new FieldSet();
630
		fsAdresse.setHeading("Adresse personnelle");
631
		fsAdresse.setHeading("Adresse personnelle");
631
		fsAdresse.add(main);
632
		fsAdresse.add(main);
632
		
633
		
633
		tiAdresses.add(fsAdresse);
634
		tiAdresses.add(fsAdresse);
634
		
635
		
635
	}
636
	}
636
		
637
		
637
	/**
638
	/**
638
	 * Ajouter le bouton réinitialiser à la barre d'outils donnée
639
	 * Ajouter le bouton réinitialiser à la barre d'outils donnée
639
	 * 
640
	 * 
640
	 * @param barreOutils la barre d'outils à modifier
641
	 * @param barreOutils la barre d'outils à modifier
641
	 * */
642
	 * */
642
	public static void ajouterBoutonReinitialiser(ToolBar barreOutils)	{
643
	public static void ajouterBoutonReinitialiser(ToolBar barreOutils)	{
643
		
644
		
644
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
645
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
645
		TextToolItem reinitialiser = new TextToolItem("Réinitialiser");
646
		TextToolItem reinitialiser = new TextToolItem("Réinitialiser");
646
		reinitialiser.setIconStyle(ComposantClass.ICONE_RAFRAICHIR);
647
		reinitialiser.setIconStyle(ComposantClass.ICONE_RAFRAICHIR);
647
		reinitialiser.addSelectionListener(new SelectionListener<ComponentEvent>() {  
648
		reinitialiser.addSelectionListener(new SelectionListener<ComponentEvent>() {  
648
			public void componentSelected(ComponentEvent ce) {  
649
			public void componentSelected(ComponentEvent ce) {  
649
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicAjouterPersonne();
650
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicAjouterPersonne();
650
			}  
651
			}  
651
		});
652
		});
652
		barreOutils.add(reinitialiser);
653
		barreOutils.add(reinitialiser);
653
	}
654
	}
654
	
655
	
655
	/**
656
	/**
656
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
657
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
657
	 * 
658
	 * 
658
	 * @param barreOutils la barre d'outils à modifier
659
	 * @param barreOutils la barre d'outils à modifier
659
	 * */
660
	 * */
660
	public static void ajouterBoutonEnregistrerEtRevenir(ToolBar barreOutils)	{
661
	public static void ajouterBoutonEnregistrerEtRevenir(ToolBar barreOutils)	{
661
		
662
		
662
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
663
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
663
		TextToolItem enregistrer = new TextToolItem("Enregistrer et revenir à la liste");
664
		TextToolItem enregistrer = new TextToolItem("Enregistrer et revenir à la liste");
664
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
665
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
665
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
666
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
666
			public void componentSelected(ComponentEvent ce) {  
667
			public void componentSelected(ComponentEvent ce) {  
667
				// TODO : Enregistrer le formulaire
668
				// TODO : Enregistrer le formulaire
668
			}  
669
			}  
669
		});
670
		});
670
		barreOutils.add(enregistrer);
671
		barreOutils.add(enregistrer);
671
	}
672
	}
672
	
673
	
673
	/**
674
	/**
674
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
675
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
675
	 * 
676
	 * 
676
	 * @param barreOutils la barre d'outils à modifier
677
	 * @param barreOutils la barre d'outils à modifier
677
	 * */
678
	 * */
678
	public static void ajouterBoutonEnregistrer(ToolBar barreOutils)	{
679
	public static void ajouterBoutonEnregistrer(ToolBar barreOutils)	{
679
		
680
		
680
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
681
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
681
		TextToolItem enregistrer = new TextToolItem("Enregistrer");
682
		TextToolItem enregistrer = new TextToolItem("Enregistrer");
682
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
683
		enregistrer.setIconStyle(ComposantClass.ICONE_PREFERENCE);
683
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
684
		enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {  
684
			public void componentSelected(ComponentEvent ce) {  
685
			public void componentSelected(ComponentEvent ce) {  
685
				// TODO : Enregistrer le formulaire
686
				// TODO : Enregistrer le formulaire
686
			}  
687
			}  
687
		});
688
		});
688
		barreOutils.add(enregistrer);
689
		barreOutils.add(enregistrer);
689
	}
690
	}
690
	
691
	
691
	/**
692
	/**
692
	 * Ajouter le bouton annuler à la barre d'outils donnée
693
	 * Ajouter le bouton annuler à la barre d'outils donnée
693
	 * 
694
	 * 
694
	 * @param barreOutils la barre d'outils à modifier
695
	 * @param barreOutils la barre d'outils à modifier
695
	 * */
696
	 * */
696
	public static void ajouterBoutonAnnuler(ToolBar barreOutils)	{
697
	public static void ajouterBoutonAnnuler(ToolBar barreOutils)	{
697
		
698
		
698
		// Le bouton annuler ne sauvegarde pas les informations et renvoie vers la page précédente
699
		// Le bouton annuler ne sauvegarde pas les informations et renvoie vers la page précédente
699
		TextToolItem annuler = new TextToolItem("Revenir à la liste");
700
		TextToolItem annuler = new TextToolItem("Revenir à la liste");
700
		annuler.addSelectionListener(new SelectionListener<ComponentEvent>() {  
701
		annuler.addSelectionListener(new SelectionListener<ComponentEvent>() {  
701
			public void componentSelected(ComponentEvent ce) {  
702
			public void componentSelected(ComponentEvent ce) {  
702
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
703
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
703
			}  
704
			}  
704
		});
705
		});
705
		annuler.setIconStyle(ComposantClass.ICONE_SUPPRIMER);
706
		annuler.setIconStyle(ComposantClass.ICONE_SUPPRIMER);
706
		barreOutils.add(annuler);
707
		barreOutils.add(annuler);
707
	}
708
	}
708
	
709
	
709
	public void obtenirListeRegionParPays(String strPays)	{
710
	public void obtenirListeRegionParPays(String strPays)	{
710
		mediateur.obtenirListeRegionsEtRafraichir(this, "region", strPays);
711
		mediateur.obtenirListeRegionsEtRafraichir(this, "region", strPays);
711
	}
712
	}
712
	
713
	
713
	
714
	
714
	
715
	
715
	/*---------------------------------------------------------------------------------------
716
	/*---------------------------------------------------------------------------------------
716
	 * 		RAFRAICHISSEMENT DU PANNEAU
717
	 * 		RAFRAICHISSEMENT DU PANNEAU
717
	 * --------------------------------------------------------------------------------------
718
	 * --------------------------------------------------------------------------------------
718
	 */	
719
	 */	
719
	public void rafraichir(Object nouvellesDonnees) {
720
	public void rafraichir(Object nouvellesDonnees) {
720
		if (nouvellesDonnees instanceof ValeurListe){
721
		if (nouvellesDonnees instanceof ValeurListe){
721
			
722
			
722
			
723
			
723
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
724
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
724
			
725
			
725
			// Créer une liste de valeurs
726
			// Créer une liste de valeurs
726
			List<Valeur> liste = new ArrayList<Valeur>();
727
			List<Valeur> liste = new ArrayList<Valeur>();
727
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
728
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
728
				liste.add(listeValeurs.get(it.next()));
729
				liste.add(listeValeurs.get(it.next()));
729
			}
730
			}
730
			
731
			
731
			if (listeValeurs.getId().equals(config.getListeId("prefixe")))	{
732
			if (listeValeurs.getId().equals(config.getListeId("prefixe")))	{
732
 
733
 
733
				remplirCombobox("cbPrefixe", liste, "hmIdentite");
734
				remplirCombobox("cbPrefixe", liste, "hmIdentite");
734
								
735
								
735
			} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
736
			} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
736
			
737
			
737
				remplirCombobox("cbSuffixe", liste, "hmIdentite");
738
				remplirCombobox("cbSuffixe", liste, "hmIdentite");
738
								
739
								
739
			} else if (listeValeurs.getId().equals(config.getListeId("sexe"))) {
740
			} else if (listeValeurs.getId().equals(config.getListeId("sexe"))) {
740
 
741
 
741
				remplirCombobox("cbSexe", liste, "hmIdentite");
742
				remplirCombobox("cbSexe", liste, "hmIdentite");
742
				
743
				
743
			} else if (listeValeurs.getId().equals(config.getListeId("tel"))) {
744
			} else if (listeValeurs.getId().equals(config.getListeId("tel"))) {
744
			
745
			
745
				remplirCombobox("cbTelephone", liste, "hmIdentite");
746
				remplirCombobox("cbTelephone", liste, "hmIdentite");
746
				
747
				
747
				//Préselection du tél
748
				//Préselection du tél
748
				ComboBox<Valeur> cbTelephone = (ComboBox<Valeur>) hmIdentite.get("cbTelephone");
749
				ComboBox<Valeur> cbTelephone = (ComboBox<Valeur>) hmIdentite.get("cbTelephone");
749
				cbTelephone.setValue(liste.get(1));
750
				cbTelephone.setValue(liste.get(1));
750
			
751
			
751
			} else if (listeValeurs.getId().equals(config.getListeId("pays")))	{
752
			} else if (listeValeurs.getId().equals(config.getListeId("pays")))	{
752
				
753
				
753
				remplirCombobox("cbPays", liste, "hmAdresse");
754
				remplirCombobox("cbPays", liste, "hmAdresse");
754
				
755
				
755
			} else if (listeValeurs.getId().equals(config.getListeId("region")))	{
756
			} else if (listeValeurs.getId().equals(config.getListeId("region")))	{
756
				
757
				
757
				remplirCombobox("cbRegion", liste, "hmAdresse");
758
				remplirCombobox("cbRegion", liste, "hmAdresse");
758
				
759
				
759
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
760
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
760
			}
761
			}
761
			
762
			
762
			
763
			
763
		} else if (nouvellesDonnees instanceof Personne)	{
764
		} else if (nouvellesDonnees instanceof Personne)	{
764
		
765
		
765
			
766
			
766
			
767
			
767
			//Mise à jour de la personne		
768
			//Mise à jour de la personne		
768
			Personne personne = (Personne) nouvellesDonnees;
769
			Personne personne = (Personne) nouvellesDonnees;
769
			personneSelectionnee = personne;
770
			personneSelectionnee = personne;
770
			
771
			
771
			
772
			
772
			//Prefixe
773
			//Prefixe
773
			String prefixe = (String) personne.get("ce_truk_prefix");
774
			String prefixe = (String) personne.get("ce_truk_prefix");
774
			ComboBox<Valeur> cbPrefixe = (ComboBox<Valeur>) hmIdentite.get("cbPrefixe");
775
			ComboBox<Valeur> cbPrefixe = (ComboBox<Valeur>) hmIdentite.get("cbPrefixe");
775
			cbPrefixe.setRawValue(prefixe);
776
			cbPrefixe.setRawValue(prefixe);
776
			
777
			
777
			((TextField) hmIdentite.get("tfPrenom")).setValue(personne.get("prenom"));
778
			((TextField) hmIdentite.get("tfPrenom")).setValue(personne.get("prenom"));
778
			((TextField) hmIdentite.get("tfNom")).setValue(personne.get("nom"));
779
			((TextField) hmIdentite.get("tfNom")).setValue(personne.get("nom"));
779
			((TextField) hmIdentite.get("tfNomAutre")).setValue(personne.get("truk_nom_autre"));
780
			((TextField) hmIdentite.get("tfNomAutre")).setValue(personne.get("truk_nom_autre"));
780
			((TextField) hmIdentite.get("tfAbreviation")).setValue(personne.get("abreviation"));
781
			((TextField) hmIdentite.get("tfAbreviation")).setValue(personne.get("abreviation"));
781
			((TextField) hmIdentite.get("tfAbreviationAutre")).setValue(personne.get("truk_abreviation_autre"));
782
			((TextField) hmIdentite.get("tfAbreviationAutre")).setValue(personne.get("truk_abreviation_autre"));
782
			
783
			
783
			//FIXME : DATES
784
			//FIXME : DATES
784
			DateField dfDateNaissance = ((DateField) hmIdentite.get("dfDateNaissance"));
785
			DateField dfDateNaissance = ((DateField) hmIdentite.get("dfDateNaissance"));
785
			String strDateNaissance = (String) personne.get("naissance_date");
786
			String strDateNaissance = (String) personne.get("naissance_date");
786
			
787
			
787
			
788
			
788
			((TextField) hmIdentite.get("tfLieuNaissance")).setValue(personne.get("naissance_lieu"));
789
			((TextField) hmIdentite.get("tfLieuNaissance")).setValue(personne.get("naissance_lieu"));
789
			//((DateField) hmIdentite.get("dfDateDeces")).setValue(new Date((String) personne.get("deces_date")));
790
			//((DateField) hmIdentite.get("dfDateDeces")).setValue(new Date((String) personne.get("deces_date")));
790
			((TextField) hmIdentite.get("tfLieuDeces")).setValue(personne.get("deces_lieu"));
791
			((TextField) hmIdentite.get("tfLieuDeces")).setValue(personne.get("deces_lieu"));
791
			
792
			
792
		} 
793
		} 
793
		
794
		
794
		if (nouvellesDonnees == null)
795
		if (nouvellesDonnees == null)
795
		{
796
		{
796
			ComboBox cb= (ComboBox) hmIdentite.get("cbPrefixe");
797
			ComboBox cb= (ComboBox) hmIdentite.get("cbPrefixe");
797
			
798
			
798
			//Met à jour le nom Complet du formulaire
799
			//Met à jour le nom Complet du formulaire
799
			String valeurRetour = "";
800
			String valeurRetour = "";
800
			
801
			
801
			// Prefixe
802
			// Prefixe
802
			String prefixe = "";
803
			String prefixe = "";
803
			Valeur valPrefixe = (Valeur) ((ComboBox) hmIdentite.get("cbPrefixe")).getValue();
804
			Valeur valPrefixe = (Valeur) ((ComboBox) hmIdentite.get("cbPrefixe")).getValue();
804
			
805
			
805
			if (valPrefixe != null)	{
806
			if (valPrefixe != null)	{
806
				prefixe = valPrefixe.getNom();
807
				prefixe = valPrefixe.getNom();
807
			} else 	{
808
			} else 	{
808
				prefixe =  (String) ((ComboBox) hmIdentite.get("cbPrefixe")).getRawValue();
809
				prefixe =  (String) ((ComboBox) hmIdentite.get("cbPrefixe")).getRawValue();
809
			}		
810
			}		
810
			
811
			
811
			
812
			
812
			// Prénom
813
			// Prénom
813
			String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
814
			String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
814
			
815
			
815
			// Nom
816
			// Nom
816
			String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
817
			String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
817
			
818
			
818
			// Suffixe
819
			// Suffixe
819
			String suffixe = "";
820
			String suffixe = "";
820
			Valeur valSuffixe = (Valeur) ((ComboBox) hmIdentite.get("cbSuffixe")).getValue();
821
			Valeur valSuffixe = (Valeur) ((ComboBox) hmIdentite.get("cbSuffixe")).getValue();
821
			
822
			
822
			if (valSuffixe != null)	{
823
			if (valSuffixe != null)	{
823
				suffixe = valSuffixe.getNom();
824
				suffixe = valSuffixe.getNom();
824
			} else 	{
825
			} else 	{
825
				suffixe =  (String) ((ComboBox) hmIdentite.get("cbSuffixe")).getRawValue();
826
				suffixe =  (String) ((ComboBox) hmIdentite.get("cbSuffixe")).getRawValue();
826
			}
827
			}
827
			
828
			
828
			// Mettre à jour la valeur
829
			// Mettre à jour la valeur
829
			valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
830
			valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
830
			valeurRetour = valeurRetour.replaceAll("null", "");
831
			valeurRetour = valeurRetour.replaceAll("null", "");
831
			
832
			
832
			((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
833
			((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
833
			
834
			
834
			if (!valeurRetour.trim().equals(""))	{
835
			if (!valeurRetour.trim().equals(""))	{
835
				((LabelField) hmIdentite.get("nomComplet")).show();
836
				((LabelField) hmIdentite.get("nomComplet")).show();
836
			} else {
837
			} else {
837
				((LabelField) hmIdentite.get("nomComplet")).hide();
838
				((LabelField) hmIdentite.get("nomComplet")).hide();
838
			}
839
			}
839
		}
840
		}
840
		
841
		
841
		mediateur.masquerPopinChargement();
842
		mediateur.masquerPopinChargement();
842
	}
843
	}
843
 
844
 
844
	public void remplirCombobox(String idComboBox, List liste, String hashMapId)	{
845
	public void remplirCombobox(String idComboBox, List liste, String hashMapId)	{
845
		
846
		
846
		HashMap hm = null;
847
		HashMap hm = null;
847
		if (hashMapId.equals("hmIdentite"))	{
848
		if (hashMapId.equals("hmIdentite"))	{
848
			hm = hmIdentite;
849
			hm = hmIdentite;
849
		} else if (hashMapId.equals("hmAdresse")){
850
		} else if (hashMapId.equals("hmAdresse")){
850
			hm = hmAdresse;
851
			hm = hmAdresse;
851
		} else {
852
		} else {
852
			hm = hmInfosNat;
853
			hm = hmInfosNat;
853
		}
854
		}
854
		
855
		
855
		ListStore<Valeur> store = ((ComboBox) hm.get(idComboBox)).getStore();
856
		ListStore<Valeur> store = ((ComboBox) hm.get(idComboBox)).getStore();
856
		store.removeAll();
857
		store.removeAll();
857
		store.add(liste);
858
		store.add(liste);
858
		((ComboBox) hm.get(idComboBox)).setStore(store);
859
		((ComboBox) hm.get(idComboBox)).setStore(store);
859
	}
860
	}
860
	
861
	
861
 
862
 
862
 
863
 
863
}
864
}