7,10 → 7,14 |
import java.util.MissingResourceException; |
|
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.util.UtilTruk; |
|
import com.extjs.gxt.ui.client.Registry; |
29,6 → 33,7 |
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 LayoutContainer implements Rafraichissable { |
54,6 → 59,7 |
private TabItem tabInfosNat; |
private FieldSet fsSpec; |
|
private Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR); |
|
public PersonneDetailPanneauVue() { |
|
114,6 → 120,9 |
|
} |
|
|
private HashMap hmComposants = new HashMap(); |
|
public void afficherDetailPersonne(Personne personne) { |
if (personne != null) { |
|
367,12 → 376,9 |
fsAdressePerso.setWidth("350px"); |
|
tabAdresse.add(fsAdressePerso); |
//tabAdresse.setScrollMode(Scroll.AUTO); |
|
|
/* |
* Infos naturalistes |
* */ |
// Infos naturalistes |
|
// Biographie |
// Spécialité (typé) |
421,24 → 427,44 |
|
String labelRecolte = ""; |
if (splitRecolte.length > 1) { |
|
lfRecolte.setValue(splitRecolte[1]); |
} |
|
lfRecolte.setFieldLabel(splitRecolte[0]); |
fsRecolte.add(lfRecolte); |
|
// TODO : lier avec BDD ISO-3166-2 |
LinkedList<LabelField> lstComposantsRegion = (LinkedList<LabelField>) hmComposants.get(splitRecolte[0]); |
|
fsRecolte.add(lfRecolte); |
if (lstComposantsRegion == null) { |
lstComposantsRegion = new LinkedList<LabelField>(); |
} |
|
lstComposantsRegion.add(lfRecolte); |
hmComposants.remove(splitRecolte[0]); |
hmComposants.put(splitRecolte[0], lstComposantsRegion); |
|
} |
|
tabInfosNat.add(fsRecolte); |
} |
|
changerLabelRegions(); |
// tabInfosNat |
layout(); |
} |
} |
|
|
private void changerLabelRegions() { |
|
Collection<String> colClesComposants = hmComposants.keySet(); |
Iterator<String> itComposants = colClesComposants.iterator(); |
|
while (itComposants.hasNext()) { |
String region = itComposants.next(); |
mediateur.obtenirValeurEtRafraichir(this, "region", region); |
} |
} |
|
private void ajouterLabelField(FieldSet fs, String tfLabel, Object tfValue) { |
|
461,13 → 487,42 |
|
|
|
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG); |
|
public void rafraichir(Object nouvelleDonnees) { |
public void rafraichir(Object nouvellesDonnees) { |
|
// Si on a reçu une personne on en affiche les détails |
if (nouvelleDonnees instanceof Personne) { |
afficherDetailPersonne((Personne) nouvelleDonnees); |
} |
if (nouvellesDonnees instanceof Personne) { |
afficherDetailPersonne((Personne) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof ValeurListe) { |
|
ValeurListe listeValeur = (ValeurListe) nouvellesDonnees; |
if (listeValeur.getId().equals(config.getListeId("region"))) { |
|
Collection colCleListeValeur = listeValeur.keySet(); |
|
Iterator<String> itLv = colCleListeValeur.iterator(); |
|
while (itLv.hasNext()) { |
String idRegion = itLv.next(); |
Valeur region = listeValeur.get(idRegion); |
|
|
|
if (region != null) { |
|
String strRegionId = region.getAbreviation(); |
|
LinkedList<LabelField> listComposantsRegion = (LinkedList) hmComposants.get(strRegionId); |
for (int i=0; i < listComposantsRegion.size(); i++) { |
LabelField lfRegion = listComposantsRegion.get(i); |
lfRegion.setFieldLabel(region.getNom()); |
} |
|
} |
} |
} |
} |
} |
|
} |