5,9 → 5,12 |
import org.tela_botanica.client.composants.InfoLogger; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.personne.PersonneListe; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.LayoutRegion; |
24,6 → 27,9 |
private PersonneDetailVue panneauPersonneDetail; |
private Mediateur mediateur = null; |
|
//Sequenceur pour la gestion du synchrone |
private Sequenceur sequenceur = new Sequenceur(); |
|
public PersonneVue(Mediateur mediateur) { |
this.mediateur = mediateur; |
|
32,6 → 38,12 |
setLayout(layout); |
|
panneauPersonneListe = new PersonneListeVue(); |
|
//Charger les ontologies nécessaires à l'affichage des personnes |
mediateur.obtenirListeValeurEtRafraichir(this, "pays", sequenceur); |
mediateur.obtenirListeValeurEtRafraichir(this, "tel", sequenceur); |
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", sequenceur); |
|
this.add(panneauPersonneListe, new BorderLayoutData(LayoutRegion.CENTER)); |
|
panneauPersonneDetail = new PersonneDetailVue(mediateur); |
43,15 → 55,18 |
|
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Personne) { |
panneauPersonneDetail.rafraichir((Personne) nouvellesDonnees); |
sequenceur.empilerRafraichissement(panneauPersonneDetail, (Personne) nouvellesDonnees); |
//panneauPersonneDetail.rafraichir((Personne) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof PersonneListe) { |
panneauPersonneListe.rafraichir((PersonneListe) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
|
// Affichage des éventuels messages de déboguage ou d'alerte |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
if (!UtilString.isEmpty(info.getMessages())) { |
GWT.log(info.getMessages().toString(), null); |
} |
|
// Traitement en fonction des types d'information |
if (info.getType().equals("liste_personne")) { |
panneauPersonneListe.rafraichir((PersonneListe) info.getDonnee(0)); |
59,6 → 74,8 |
} else { |
panneauPersonneListe.rafraichir(info); |
} |
} else if (nouvellesDonnees instanceof ValeurListe) { |
panneauPersonneListe.rafraichir((ValeurListe) nouvellesDonnees); |
} else { |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |