Subversion Repositories eFlore/Applications.coel

Rev

Rev 1417 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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