Rev 1881 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.collection;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.collection.CollectionListe;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.google.gwt.user.client.Window;
public class CollectionVue extends LayoutContainer implements Rafraichissable {
private Mediateur mediateur = null;
private CollectionListeVue listeCollectionPanneau = null;
private CollectionDetailVue detailCollectionPanneau = null;
private Sequenceur sequenceur = new Sequenceur();
public CollectionVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
BorderLayout layout = new BorderLayout();
layout.setEnableState(false);
setLayout(layout);
listeCollectionPanneau = new CollectionListeVue(mediateur);
add(listeCollectionPanneau, new BorderLayoutData(LayoutRegion.CENTER));
detailCollectionPanneau = new CollectionDetailVue(mediateur, sequenceur);
BorderLayoutData dispositionSud = new BorderLayoutData(LayoutRegion.SOUTH, .5f, 200, 1000);
dispositionSud.setSplit(true);
dispositionSud.setMargins(new Margins(5, 0, 0, 0));
add(detailCollectionPanneau, dispositionSud);
}
public void rafraichir(Object nouvellesDonnees) {
// Nous passons l'objet aux méthodes rafraichir des panneaux composant le panneau principal Structure
if (nouvellesDonnees instanceof Collection) {
detailCollectionPanneau.rafraichir(nouvellesDonnees);
} else if (nouvellesDonnees instanceof CollectionListe) {
listeCollectionPanneau.rafraichir(nouvellesDonnees);
} else if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
if (info.getType().equals("liste_collection_a_personne")
|| info.getType().equals("liste_collection_a_publication")
|| info.getType().equals("liste_collection_a_commentaire")) {
detailCollectionPanneau.rafraichir(nouvellesDonnees);
} else if (info.getType().equals("suppression_collection")) {
listeCollectionPanneau.rafraichir(nouvellesDonnees);
} else if (info.getType().equals("modif_collection")) {
listeCollectionPanneau.rafraichir(nouvellesDonnees);
} else if(info.getType().equals("collection_ajoutee")) {
mediateur.clicMenu(MenuApplicationId.COLLECTION);
}
} else {
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
}
}
}