Subversion Repositories eFlore/Applications.coel

Rev

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

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