Subversion Repositories eFlore/Applications.coel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
60 jpm 1
package org.tela_botanica.client.vues;
2
 
277 jp_milcent 3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
468 jp_milcent 5
import org.tela_botanica.client.modeles.CollectionListe;
277 jp_milcent 6
import org.tela_botanica.client.modeles.Information;
7
import org.tela_botanica.client.modeles.PersonneListe;
8
import org.tela_botanica.client.modeles.ProjetListe;
9
import org.tela_botanica.client.modeles.PublicationListe;
10
import org.tela_botanica.client.modeles.StructureListe;
156 jp_milcent 11
 
277 jp_milcent 12
import com.extjs.gxt.ui.client.widget.Info;
60 jpm 13
import com.extjs.gxt.ui.client.widget.LayoutContainer;
14
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
277 jp_milcent 15
import com.google.gwt.core.client.GWT;
60 jpm 16
 
444 jp_milcent 17
public class ContenuVue extends LayoutContainer implements Rafraichissable {
60 jpm 18
 
373 jp_milcent 19
	private Mediateur mediateur = null;
20
 
444 jp_milcent 21
	public ContenuVue(Mediateur mediateurCourant) {
373 jp_milcent 22
		mediateur = mediateurCourant;
60 jpm 23
		setLayout(new FitLayout());
364 jp_milcent 24
		setBorders(true);
60 jpm 25
	}
277 jp_milcent 26
 
653 jp_milcent 27
	public Rafraichissable getContenu() {
28
		Rafraichissable contenuPanneauCentre = null;
29
		if (getItems() != null && getItems().size() == 1) {
30
			contenuPanneauCentre = (Rafraichissable) getItem(0);
31
		}
32
		return contenuPanneauCentre;
33
	}
34
 
277 jp_milcent 35
	//+----------------------------------------------------------------------------------------------------------------+
36
	//	RAFRAICHISSEMENT
37
	//+----------------------------------------------------------------------------------------------------------------+
38
 
416 gduche 39
	public void rafraichir(Object nouvellesDonnees) {
40
		if (nouvellesDonnees instanceof StructureListe) {
41
			mediateur.afficherListeStructures((StructureListe) nouvellesDonnees);
468 jp_milcent 42
		}  else if (nouvellesDonnees instanceof CollectionListe) {
43
			mediateur.afficherListeCollections((CollectionListe) nouvellesDonnees);
416 gduche 44
		} else if (nouvellesDonnees instanceof PublicationListe) {
45
			mediateur.afficherListePublication((PublicationListe) nouvellesDonnees);
46
		} else if (nouvellesDonnees instanceof PersonneListe) {
47
			mediateur.afficherListePersonnes((PersonneListe) nouvellesDonnees);
48
		} else if (nouvellesDonnees instanceof ProjetListe)	{
877 aurelien 49
			GWT.log("reception d'une liste de projets", null);
416 gduche 50
			mediateur.afficherListeProjets((ProjetListe) nouvellesDonnees);
51
		} else if (nouvellesDonnees instanceof Information)	{
52
			Information info = (Information) nouvellesDonnees;
667 gduche 53
			if (info.getType().equals("maj_utilisateur"))	{
911 jpm 54
				if (getContenu() != null)	{
672 gduche 55
					getContenu().rafraichir(info);
56
				}
667 gduche 57
			} else 	{
58
				// Affichage des éventuels messages de déboguage ou d'alerte
59
				if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
60
					GWT.log(info.getMessages().toString(), null);
61
				}
62
				// Traitement en fonction des types d'information
63
				if (info.getType().equals("liste_personne")) {
64
					mediateur.afficherListePersonnes((PersonneListe) info.getDonnee(0));
65
					Info.display("Chargement d'une liste de personnes", "");
66
				}
277 jp_milcent 67
			}
68
		}
358 jp_milcent 69
		mediateur.desactiverChargement();
277 jp_milcent 70
	}
60 jpm 71
}