Subversion Repositories eFlore/Applications.coel

Rev

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

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