15,30 → 15,25 |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.util.UtilTruk; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.HorizontalAlignment; |
import com.extjs.gxt.ui.client.Style.LayoutRegion; |
|
|
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.Style.VerticalAlignment; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
import com.extjs.gxt.ui.client.event.KeyListener; |
|
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.TabItem; |
import com.extjs.gxt.ui.client.widget.TabPanel; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.FieldSet; |
import com.extjs.gxt.ui.client.widget.form.LabelField; |
import com.extjs.gxt.ui.client.widget.form.TextArea; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.extjs.gxt.ui.client.widget.layout.LayoutData; |
import com.extjs.gxt.ui.client.widget.layout.TableData; |
import com.extjs.gxt.ui.client.widget.layout.TableLayout; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Image; |
|
public class PersonneDetailPanneauVue extends TabPanel implements Rafraichissable { |
62,9 → 57,6 |
// Onglet 3 : Informations naturalistes |
private TabItem tabInfosNat; |
|
// > Se baser sur la présentation thunderBird |
|
|
public PersonneDetailPanneauVue() { |
|
//Constructeur de la classe |
87,12 → 79,14 |
panneauImage.setWidth(350); |
panneauImage.setBodyBorder(false); |
panneauImage.setHeaderVisible(false); |
panneauImage.setStyleName("conteneur-image-centre"); |
|
tabIdentite.add(panneauIdentite); |
//Gérer l'alignement vertical en haut |
TableData td = new TableData(); |
td.setVerticalAlign(VerticalAlignment.TOP); |
|
tabIdentite.add(panneauIdentite, td); |
tabIdentite.add(panneauImage, td); |
td.setVerticalAlign(VerticalAlignment.TOP); |
|
|
fsIdentite = new FieldSet(); |
fsIdentite.setLayout(new FormLayout()); |
104,7 → 98,7 |
this.add(tabIdentite); |
|
//Onglet Adresse: |
tabAdresse = new TabItem("Adresse"); |
tabAdresse = new TabItem("Adresses"); |
fsAdressePerso = new FieldSet(); |
fsAdressePerso.setLayout(new FormLayout()); |
|
126,20 → 120,22 |
panneauImage.removeAll(); |
|
fsIdentite.setHeading("Identité"); |
fsIdentite.setWidth("350px"); |
//fsIdentite.setWidth("350px"); |
|
fsContact.setHeading("Contact"); |
fsContact.setWidth("350px"); |
//fsContact.setWidth("350px"); |
|
|
panneauIdentite.add(fsIdentite); |
|
|
//La personne peut avoir un ou plusieurs logo |
panneauImage.setHeight("100%"); |
panneauImage.setPosition(0, 6); |
panneauImage.setBorders(false); |
|
LinkedList<String> listeLogos = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_logo"); |
if ((listeLogos != null)&&(listeLogos.size() > 0)) { |
|
panneauImage.setBorders(true); |
for (int i = 0; i < listeLogos.size(); i++) { |
String logoUrl = listeLogos.get(i); |
if ((logoUrl!=null)&&(!logoUrl.trim().equals(""))) { |
148,9 → 144,6 |
img.setUrl(logoUrl); |
|
panneauImage.add(img); |
|
|
|
if (panneauImage.getWidth() < (img.getWidth() + 15)) { |
panneauImage.setWidth(img.getWidth() + 15); |
} |
175,29 → 168,52 |
Object nomComplet = personne.obtenirValeurChamp("fmt_nom_complet"); |
ajouterTextFieldNonEditable(fsIdentite,"Nom Complet", nomComplet); |
|
// Nom autre : champ truk; non-typé |
LinkedList<String> nomsAutre = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_nom_autre"); |
if ((nomsAutre != null)&&(nomsAutre.size() > 0)) { |
|
LabelField noms = new LabelField(); |
noms.setFieldLabel("Autres noms:"); |
String listeNoms = UtilTruk.traiterTrukListe(nomsAutre, ", "); |
noms.setValue(listeNoms); |
fsIdentite.add(noms); |
} |
|
// TODO : nom autre |
|
// abreviation |
Object abreviation = personne.obtenirValeurChamp("abreviation"); |
ajouterTextFieldNonEditable(fsIdentite, "Abreviation", abreviation); |
|
// date naissance |
Object dateNaissance = personne.obtenirValeurChamp("date_naissance"); |
ajouterTextFieldNonEditable(fsIdentite, "Date de naissance", dateNaissance); |
// Abréviations, autre : non-typé |
LinkedList<String> abrevAutres = (LinkedList<String>) personne.getChaineDenormaliseAsMapOrList("truk_abreviation_autre"); |
if ((abrevAutres != null)&&(abrevAutres.size() > 0)) { |
|
LabelField abreviations = new LabelField(); |
abreviations.setFieldLabel("Autres abreviations:"); |
String listeAbrev = UtilTruk.traiterTrukListe(abrevAutres, ", "); |
abreviations.setValue(listeAbrev); |
fsIdentite.add(abreviations); |
} |
fsIdentite.addText("<hr>"); |
|
// date naissance |
// TODO : Mettre la date en format FR 10/12/09 |
Object dateNaissance = personne.obtenirValeurChamp("naissance_date"); |
ajouterTextFieldNonEditable(fsIdentite, "Né le", dateNaissance); |
|
// lieu naissance |
Object lieuNaissance = personne.obtenirValeurChamp("lieu_naissance"); |
ajouterTextFieldNonEditable(fsIdentite, "Lieu de naissance", lieuNaissance); |
Object lieuNaissance = personne.obtenirValeurChamp("naissance_lieu"); |
ajouterTextFieldNonEditable(fsIdentite, "A", lieuNaissance); |
|
// date deces |
Object dateDeces = personne.obtenirValeurChamp("date_deces"); |
ajouterTextFieldNonEditable(fsIdentite, "Date de décès", dateDeces); |
Object dateDeces = personne.obtenirValeurChamp("deces_date"); |
ajouterTextFieldNonEditable(fsIdentite, "Date décès", dateDeces); |
|
// lieu deces |
Object lieuDeces = personne.obtenirValeurChamp("lieu_deces"); |
Object lieuDeces = personne.obtenirValeurChamp("deces_lieu"); |
ajouterTextFieldNonEditable(fsIdentite, "Lieu de décès", lieuDeces); |
|
fsIdentite.addText("<hr>"); |
|
//Description |
String description = (String) personne.obtenirValeurChamp("description"); |
if ((description!=null)&&(!description.trim().equals(""))) { |