Rev 183 | Rev 197 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import java.util.List;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.Information;import org.tela_botanica.client.modeles.Personne;import org.tela_botanica.client.modeles.Projet;import org.tela_botanica.client.modeles.ProjetsListeAsyncDao;import org.tela_botanica.client.modeles.Structure;import org.tela_botanica.client.modeles.StructureListe;import com.extjs.gxt.ui.client.Registry;import com.extjs.gxt.ui.client.Style.Scroll;import com.extjs.gxt.ui.client.util.Format;import com.extjs.gxt.ui.client.util.Params;import com.extjs.gxt.ui.client.widget.ContentPanel;import com.extjs.gxt.ui.client.widget.Html;import com.extjs.gxt.ui.client.widget.TabItem;import com.extjs.gxt.ui.client.widget.TabPanel;import com.extjs.gxt.ui.client.widget.layout.FitLayout;import com.google.gwt.user.client.ui.FlexTable;import com.google.gwt.user.client.ui.Grid;import com.google.gwt.user.client.ui.Hyperlink;import com.google.gwt.user.client.ui.Label;import com.google.gwt.user.client.ui.Widget;import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;import com.google.gwt.user.client.ui.HTMLTable.CellFormatter;public class PersonneDetailPanneauVue extends TabPanel implements Rafraichissable {private Html header;//TABS// Informations générales : nom, prénom, adresse, cp, ville, adresse email, sexe, projetprivate TabItem infoGenerales;private String contenuInfo = "<div style='padding: 12px;'><h1>{0}</h1><a href=\"{1}\">{1}</a><br /><br /><p><b>Adresse: </b>{2}<br />{3}<br />{4} {5}<br /> {7}</p><br />{6}</div>";private TabItem infoBio;private String contenuBio = "";// <div style='padding: 12px;'><h1>{0} {1} {2}</h1><h2>{3}</h2><br><b>Date de naissance: </b>{4}<br /><b>Date de décès:{5}</b><p>{6}</p></div>";public PersonneDetailPanneauVue() {Registry.register(RegistreId.PANNEAU_PERSONNE_DETAIL, this);setLayout(new FitLayout());infoGenerales = new TabItem("Informations Générales");this.add(infoGenerales);infoBio = new TabItem("Biographie");infoBio.disable();this.add(infoBio);}private void ajouterParam(Params parametres, String nomChamp, Personne personne) {Object valeur = personne.obtenirValeurChamp(nomChamp);parametres.add(valeur);}public void afficherDetailPersonne(Personne personne) {if (personne != null) {infoGenerales.removeAll();infoBio.removeAll();infoBio.disable();//ContenuParams infoGenParams = new Params();ajouterParam(infoGenParams, "fmt_nom_complet", personne);ajouterParam(infoGenParams, "truk_courriel", personne);ajouterParam(infoGenParams, "adresse_01", personne);ajouterParam(infoGenParams, "adresse_02", personne);ajouterParam(infoGenParams, "code_postal", personne);ajouterParam(infoGenParams, "ville", personne);ajouterParam(infoGenParams, "description", personne);ajouterParam(infoGenParams, "cp_truk_fax", personne);//Info généralesinfoGenerales.addText(Format.substitute(contenuInfo, infoGenParams));Params bioParams = new Params();// Nécessaire que si une biographie existe...// FIXME : remplacer par un id role?if ((personne.obtenirValeurChamp("biographie")!=null)&&(!((String) personne.obtenirValeurChamp("biographie")).trim().equals(""))) {contenuBio = "<div style='padding: 12px;'><h1>{0} {1} {2}</h1><h2>{3}</h2><br><b>Date de naissance: </b>{4}<br /><b>Date de décès:{5}</b><p>a{6}a</p></div>";ajouterParam(bioParams, "ce_truk_prefix", personne);ajouterParam(bioParams, "fmt_nom_complet", personne);ajouterParam(bioParams, "ce_truk_suffix", personne);ajouterParam(bioParams, "abreviation", personne);ajouterParam(bioParams, "naissance_date", personne);ajouterParam(bioParams, "deces_date", personne);ajouterParam(bioParams, "biographie", personne);infoBio.enable();}infoBio.addText(Format.substitute(contenuBio, bioParams));layout();} else {header.setHtml("");}}public void rafraichir(Object nouvelleDonnees) {if (nouvelleDonnees instanceof Personne) {afficherDetailPersonne((Personne) nouvelleDonnees);} else if (nouvelleDonnees instanceof StructureListe) {StructureListe listeInstitutions = (StructureListe) nouvelleDonnees;// Test pour savoir si la liste contient des élémentsif (listeInstitutions.size() == 0) {afficherDetailPersonne(null);}}}}