1,51 → 1,49 |
package org.tela_botanica.client.vues; |
|
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.PublicationListe; |
|
import com.extjs.gxt.ui.client.Registry; |
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.MessageBox; |
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 PublicationVue extends LayoutContainer implements Rafraichissable { |
|
|
private Mediateur mediateur = null; |
private PublicationListeVue panneauPublicationListe; |
private PublicationDetailVue panneauPublicationDetail; |
|
public PublicationVue() { |
public PublicationVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
|
BorderLayout layout = new BorderLayout(); |
layout.setEnableState(false); |
setLayout(layout); |
|
panneauPublicationListe = new PublicationListeVue(); |
this.add(panneauPublicationListe, new BorderLayoutData(LayoutRegion.CENTER)); |
panneauPublicationListe = new PublicationListeVue(mediateur); |
add(panneauPublicationListe, new BorderLayoutData(LayoutRegion.CENTER)); |
|
panneauPublicationDetail = new PublicationDetailVue(); |
panneauPublicationDetail = new PublicationDetailVue(mediateur); |
BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, .5f, 200, 1000); |
southData.setSplit(true); |
southData.setMargins(new Margins(5, 0, 0, 0)); |
this.add(panneauPublicationDetail, southData); |
add(panneauPublicationDetail, southData); |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof PublicationListe) { |
remplirListe((PublicationListe) nouvelleDonnees); |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Publication) { |
panneauPublicationDetail.rafraichir(nouvellesDonnees); |
} else if (nouvellesDonnees instanceof PublicationListe) { |
GWT.log(nouvellesDonnees.toString(), null); |
panneauPublicationListe.rafraichir(nouvellesDonnees); |
mediateur.desactiverChargement(); |
} else { |
MessageBox.alert("Attention", "Une erreur est survenue", null); |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
|
private void remplirListe(PublicationListe listePublication) { |
|
LayoutContainer panneauCentre = (LayoutContainer) Registry.get(RegistreId.PANNEAU_CENTRE); |
panneauPublicationListe.rafraichir(listePublication); |
panneauPublicationDetail.rafraichir(listePublication); |
panneauCentre.layout(); |
} |
|
} |