Subversion Repositories eFlore/Applications.coel

Rev

Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues;

import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionListe;

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.core.client.GWT;

public class CollectionVue extends LayoutContainer implements Rafraichissable {

        private Mediateur mediateur = null;
        private CollectionListeVue listeCollectionPanneau = null;
        private CollectionDetailVue detailCollectionPanneau = null;

        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);
                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 nouvelleDonnees) {
                // Nous passons l'objet aux méthodes rafraichir des panneaux composant le panneau principal Structure
                if (nouvelleDonnees instanceof Collection) {
                        detailCollectionPanneau.rafraichir(nouvelleDonnees);
                } else if (nouvelleDonnees instanceof CollectionListe) {
                        listeCollectionPanneau.rafraichir(nouvelleDonnees);
                } else {
                        GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
                }
        }
        
}