Subversion Repositories eFlore/Applications.coel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
453 jp_milcent 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.modeles.Collection;
6
import org.tela_botanica.client.modeles.CollectionListe;
883 jpm 7
import org.tela_botanica.client.modeles.Information;
453 jp_milcent 8
 
9
import com.extjs.gxt.ui.client.Style.LayoutRegion;
10
import com.extjs.gxt.ui.client.util.Margins;
11
import com.extjs.gxt.ui.client.widget.LayoutContainer;
12
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
13
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
14
import com.google.gwt.core.client.GWT;
15
 
16
public class CollectionVue extends LayoutContainer implements Rafraichissable {
17
 
18
	private Mediateur mediateur = null;
19
	private CollectionListeVue listeCollectionPanneau = null;
20
	private CollectionDetailVue detailCollectionPanneau = null;
21
 
22
	public CollectionVue(Mediateur mediateurCourant) {
23
		mediateur = mediateurCourant;
24
 
25
		BorderLayout layout = new BorderLayout();
26
		layout.setEnableState(false);
27
		setLayout(layout);
28
 
29
		listeCollectionPanneau = new CollectionListeVue(mediateur);
30
		add(listeCollectionPanneau, new BorderLayoutData(LayoutRegion.CENTER));
31
 
32
		detailCollectionPanneau = new CollectionDetailVue(mediateur);
33
		BorderLayoutData dispositionSud = new BorderLayoutData(LayoutRegion.SOUTH, .5f, 200, 1000);
34
		dispositionSud.setSplit(true);
35
		dispositionSud.setMargins(new Margins(5, 0, 0, 0));
36
		add(detailCollectionPanneau, dispositionSud);
37
	}
38
 
851 gduche 39
	public void rafraichir(Object nouvellesDonnees) {
453 jp_milcent 40
		// Nous passons l'objet aux méthodes rafraichir des panneaux composant le panneau principal Structure
851 gduche 41
		if (nouvellesDonnees instanceof Collection) {
42
			detailCollectionPanneau.rafraichir(nouvellesDonnees);
43
		} else if (nouvellesDonnees instanceof CollectionListe) {
44
			listeCollectionPanneau.rafraichir(nouvellesDonnees);
553 jp_milcent 45
			mediateur.desactiverChargement();
883 jpm 46
		} else if (nouvellesDonnees instanceof Information) {
47
			Information info = (Information) nouvellesDonnees;
48
			if (info.getType().equals("liste_collection_a_personne")
49
				|| info.getType().equals("liste_collection_a_publication")
50
				|| info.getType().equals("liste_collection_a_commentaire")) {
51
				detailCollectionPanneau.rafraichir(nouvellesDonnees);
52
			}
53
		}else {
54
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
453 jp_milcent 55
		}
56
	}
57
 
58
}