Subversion Repositories eFlore/Applications.coel

Rev

Rev 253 | Rev 260 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 253 Rev 259
Line 13... Line 13...
13
 
13
 
14
import org.tela_botanica.client.RegistreId;
14
import org.tela_botanica.client.RegistreId;
15
import org.tela_botanica.client.i18n.Constantes;
15
import org.tela_botanica.client.i18n.Constantes;
16
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
17
import org.tela_botanica.client.modeles.Personne;
Line 17... Line 18...
17
import org.tela_botanica.client.modeles.Personne;
18
import org.tela_botanica.client.util.UtilTruk;
18
 
-
 
19
import com.extjs.gxt.ui.client.Registry;
-
 
-
 
19
 
-
 
20
import com.extjs.gxt.ui.client.Registry;
20
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
21
 
21
import com.extjs.gxt.ui.client.Style.LayoutRegion;
22
 
22
import com.extjs.gxt.ui.client.Style.Scroll;
-
 
23
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
-
 
-
 
23
import com.extjs.gxt.ui.client.Style.Scroll;
24
import com.extjs.gxt.ui.client.event.ComponentEvent;
24
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
25
import com.extjs.gxt.ui.client.event.KeyListener;
25
 
26
import com.extjs.gxt.ui.client.widget.ContentPanel;
26
import com.extjs.gxt.ui.client.widget.ContentPanel;
27
import com.extjs.gxt.ui.client.widget.TabItem;
-
 
28
import com.extjs.gxt.ui.client.widget.TabPanel;
27
import com.extjs.gxt.ui.client.widget.TabItem;
29
import com.extjs.gxt.ui.client.widget.form.Field;
28
import com.extjs.gxt.ui.client.widget.TabPanel;
30
import com.extjs.gxt.ui.client.widget.form.FieldSet;
-
 
31
import com.extjs.gxt.ui.client.widget.form.LabelField;
-
 
32
import com.extjs.gxt.ui.client.widget.form.TextArea;
29
import com.extjs.gxt.ui.client.widget.form.FieldSet;
33
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
30
import com.extjs.gxt.ui.client.widget.form.LabelField;
34
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
31
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
35
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
36
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
32
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
37
import com.extjs.gxt.ui.client.widget.layout.LayoutData;
33
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
38
import com.extjs.gxt.ui.client.widget.layout.TableData;
34
import com.extjs.gxt.ui.client.widget.layout.TableData;
39
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
-
 
40
import com.google.gwt.core.client.GWT;
35
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
Line 41... Line 36...
41
import com.google.gwt.user.client.Window;
36
import com.google.gwt.core.client.GWT;
Line 42... Line 37...
42
import com.google.gwt.user.client.ui.Image;
37
import com.google.gwt.user.client.ui.Image;
Line 60... Line 55...
60
		// contient : adresse perso / adresse pro
55
		// contient : adresse perso / adresse pro
Line 61... Line 56...
61
	
56
	
62
	// Onglet 3 : Informations naturalistes
57
	// Onglet 3 : Informations naturalistes
Line 63... Line -...
63
	private TabItem tabInfosNat;
-
 
64
	
-
 
65
	// > Se baser sur la présentation thunderBird
-
 
66
	
58
	private TabItem tabInfosNat;
Line 67... Line 59...
67
	
59
	
68
	public PersonneDetailPanneauVue() {
60
	public PersonneDetailPanneauVue() {
69
		
61
		
Line 85... Line 77...
85
		panneauImage.setLayout(new FlowLayout());
77
		panneauImage.setLayout(new FlowLayout());
86
		panneauImage.setBorders(false);
78
		panneauImage.setBorders(false);
87
		panneauImage.setWidth(350);
79
		panneauImage.setWidth(350);
88
		panneauImage.setBodyBorder(false);
80
		panneauImage.setBodyBorder(false);
89
		panneauImage.setHeaderVisible(false);
81
		panneauImage.setHeaderVisible(false);
90
		panneauImage.setStyleName("conteneur-image-centre");
-
 
Line 91... Line 82...
91
		
82
		
92
		tabIdentite.add(panneauIdentite);
83
		//Gérer l'alignement vertical en haut
93
		TableData td = new TableData();
-
 
94
		tabIdentite.add(panneauImage, td);
84
		TableData td = new TableData();
-
 
85
		td.setVerticalAlign(VerticalAlignment.TOP);
-
 
86
		
-
 
87
		tabIdentite.add(panneauIdentite, td);
-
 
88
		tabIdentite.add(panneauImage, td);
Line 95... Line 89...
95
		td.setVerticalAlign(VerticalAlignment.TOP);
89
		
96
				
90
				
Line 102... Line 96...
102
		fsContact.setLayout(new FormLayout());
96
		fsContact.setLayout(new FormLayout());
Line 103... Line 97...
103
		
97
		
Line 104... Line 98...
104
		this.add(tabIdentite);
98
		this.add(tabIdentite);
105
		
99
		
106
		//Onglet Adresse:
100
		//Onglet Adresse:
107
		tabAdresse = new TabItem("Adresse");
101
		tabAdresse = new TabItem("Adresses");
Line 108... Line 102...
108
		fsAdressePerso = new FieldSet();
102
		fsAdressePerso = new FieldSet();
Line 124... Line 118...
124
			//MAJ Identité : Configurer les fieldSet
118
			//MAJ Identité : Configurer les fieldSet
125
			panneauIdentite.removeAll();
119
			panneauIdentite.removeAll();
126
			panneauImage.removeAll();
120
			panneauImage.removeAll();
Line 127... Line 121...
127
			
121
			
128
			fsIdentite.setHeading("Identité");
122
			fsIdentite.setHeading("Identité");
Line 129... Line 123...
129
			fsIdentite.setWidth("350px");
123
			//fsIdentite.setWidth("350px");
130
			
124
			
131
			fsContact.setHeading("Contact");
-
 
Line 132... Line 125...
132
			fsContact.setWidth("350px");
125
			fsContact.setHeading("Contact");
Line -... Line 126...
-
 
126
			//fsContact.setWidth("350px");
133
			
127
			
134
			
128
			panneauIdentite.add(fsIdentite);
-
 
129
			
-
 
130
			
Line 135... Line 131...
135
			panneauIdentite.add(fsIdentite);
131
			//La personne peut avoir un ou plusieurs logo
136
			
132
			panneauImage.setHeight("100%");
137
			//La personne peut avoir un ou plusieurs logo
-
 
-
 
133
			panneauImage.setPosition(0, 6);
138
			panneauImage.setHeight("100%");
134
			panneauImage.setBorders(false);
139
			
135
			
140
			LinkedList<String> listeLogos = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_logo");
136
			LinkedList<String> listeLogos = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_logo");
141
			if ((listeLogos != null)&&(listeLogos.size() > 0))	{
137
			if ((listeLogos != null)&&(listeLogos.size() > 0))	{
142
				
138
				panneauImage.setBorders(true);
143
				for (int i = 0; i < listeLogos.size(); i++)	{
139
				for (int i = 0; i < listeLogos.size(); i++)	{
Line 144... Line 140...
144
					String logoUrl = listeLogos.get(i);
140
					String logoUrl = listeLogos.get(i);
145
					if ((logoUrl!=null)&&(!logoUrl.trim().equals("")))	{
-
 
146
						//Si c'est le cas, on l'affiche sur la même ligne que fsIdentité
-
 
147
						Image img = new Image();
-
 
148
						img.setUrl(logoUrl);
141
					if ((logoUrl!=null)&&(!logoUrl.trim().equals("")))	{
149
									
142
						//Si c'est le cas, on l'affiche sur la même ligne que fsIdentité
150
						panneauImage.add(img);			
143
						Image img = new Image();
Line 151... Line 144...
151
			
144
						img.setUrl(logoUrl);
Line 173... Line 166...
173
			
166
			
174
			// nom complet
167
			// nom complet
175
			Object nomComplet = personne.obtenirValeurChamp("fmt_nom_complet");
168
			Object nomComplet = personne.obtenirValeurChamp("fmt_nom_complet");
Line -... Line 169...
-
 
169
			ajouterTextFieldNonEditable(fsIdentite,"Nom Complet", nomComplet);
-
 
170
			
-
 
171
			// Nom autre : champ truk; non-typé
176
			ajouterTextFieldNonEditable(fsIdentite,"Nom Complet", nomComplet);
172
			LinkedList<String> nomsAutre = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_nom_autre");
-
 
173
			if ((nomsAutre != null)&&(nomsAutre.size() > 0))	{
-
 
174
				
-
 
175
				LabelField noms = new LabelField();
-
 
176
				noms.setFieldLabel("Autres noms:");
177
			
177
				String listeNoms = UtilTruk.traiterTrukListe(nomsAutre, ", ");				
-
 
178
				noms.setValue(listeNoms);
Line 178... Line 179...
178
			
179
				fsIdentite.add(noms);				
179
			// TODO : nom autre
180
			}
180
			
181
			
Line 181... Line 182...
181
			// abreviation
182
			// abreviation
-
 
183
			Object abreviation = personne.obtenirValeurChamp("abreviation");
-
 
184
			ajouterTextFieldNonEditable(fsIdentite, "Abreviation", abreviation);
-
 
185
			
-
 
186
			// Abréviations, autre : non-typé
182
			Object abreviation = personne.obtenirValeurChamp("abreviation");
187
			LinkedList<String> abrevAutres = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_abreviation_autre");
183
			ajouterTextFieldNonEditable(fsIdentite, "Abreviation", abreviation);
188
			if ((abrevAutres != null)&&(abrevAutres.size() > 0))	{
-
 
189
				
-
 
190
				LabelField abreviations = new LabelField();
-
 
191
				abreviations.setFieldLabel("Autres abreviations:");
-
 
192
				String listeAbrev = UtilTruk.traiterTrukListe(abrevAutres, ", ");
Line -... Line 193...
-
 
193
				abreviations.setValue(listeAbrev);
-
 
194
				fsIdentite.add(abreviations);				
-
 
195
			}
-
 
196
			fsIdentite.addText("<hr>");
-
 
197
			
184
			
198
			// date naissance 
185
			// date naissance
199
			// TODO : Mettre la date en format FR 10/12/09
186
			Object dateNaissance = personne.obtenirValeurChamp("date_naissance");
200
			Object dateNaissance = personne.obtenirValeurChamp("naissance_date");
Line 187... Line 201...
187
			ajouterTextFieldNonEditable(fsIdentite, "Date de naissance", dateNaissance);
201
			ajouterTextFieldNonEditable(fsIdentite, "Né le", dateNaissance);
188
			
202
						
189
			// lieu naissance
203
			// lieu naissance
Line 190... Line 204...
190
			Object lieuNaissance = personne.obtenirValeurChamp("lieu_naissance");
204
			Object lieuNaissance = personne.obtenirValeurChamp("naissance_lieu");
191
			ajouterTextFieldNonEditable(fsIdentite, "Lieu de naissance", lieuNaissance);
205
			ajouterTextFieldNonEditable(fsIdentite, "A", lieuNaissance);
192
			
206
			
Line -... Line 207...
-
 
207
			// date deces
-
 
208
			Object dateDeces = personne.obtenirValeurChamp("deces_date");
193
			// date deces
209
			ajouterTextFieldNonEditable(fsIdentite, "Date décès", dateDeces);
194
			Object dateDeces = personne.obtenirValeurChamp("date_deces");
210
			
195
			ajouterTextFieldNonEditable(fsIdentite, "Date de décès", dateDeces);
211
			// lieu deces
196
			
212
			Object lieuDeces = personne.obtenirValeurChamp("deces_lieu");
197
			// lieu deces
213
			ajouterTextFieldNonEditable(fsIdentite, "Lieu de décès", lieuDeces);