New file |
0,0 → 1,119 |
package org.tela_botanica.client; |
|
import org.tela_botanica.client.composants.IdentificationFenetre; |
import org.tela_botanica.client.modeles.Menu; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.ListeStructure; |
import org.tela_botanica.client.vues.ContenuPanneauVue; |
import org.tela_botanica.client.vues.EntetePanneauVue; |
import org.tela_botanica.client.vues.StructureDetailPanneauVue; |
import org.tela_botanica.client.vues.StructureVue; |
import org.tela_botanica.client.vues.MenuPanneauVue; |
|
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.Viewport; |
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; |
import com.google.gwt.user.client.ui.RootPanel; |
|
public class Mediateur { |
|
private Viewport viewport; |
private EntetePanneauVue panneauNord = null; |
private MenuPanneauVue panneauOuest = null; |
private ContenuPanneauVue panneauCentre = null; |
|
public Mediateur() { |
// Enregistrement du Médiateur dans le Registre |
Registry.register(RegistreId.MEDIATEUR, this); |
// Création du Modèle qui s'enregistre lui même dans le Registre |
new Modele(); |
|
// Création du Viewport qui contient la disposition globale de l'application |
viewport = new Viewport(); |
viewport.setLayout(new BorderLayout()); |
|
// Création des différents panneaux |
creerPanneauNord(); |
creerPanneauOuest(); |
creerPanneauCentral(); |
|
// Registry utile car présent partout! |
Registry.register(RegistreId.VIEWPORT, viewport); |
Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest); |
Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre); |
|
// Chargement du menu |
chargeMenu(panneauOuest.listerMenu()); |
|
// Retour à GWT du Viewport une fois constuit |
RootPanel.get().add(viewport); |
} |
|
private void creerPanneauNord() { |
panneauNord = new EntetePanneauVue(); |
|
BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100); |
regionNord.setCollapsible(true); |
regionNord.setFloatable(true); |
regionNord.setSplit(false); |
regionNord.setMargins(new Margins(5, 5, 0, 5)); |
|
viewport.add(panneauNord, regionNord); |
} |
|
private void creerPanneauOuest() { |
panneauOuest = new MenuPanneauVue(); |
|
BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200); |
regionOuest.setSplit(true); |
regionOuest.setCollapsible(true); |
regionOuest.setMargins(new Margins(5)); |
|
viewport.add(panneauOuest, regionOuest); |
} |
|
private void creerPanneauCentral() { |
panneauCentre = new ContenuPanneauVue(); |
|
BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER); |
regionCentre.setMargins(new Margins(5, 5, 5, 0)); |
|
viewport.add(panneauCentre, regionCentre); |
} |
|
public void chargeMenu(Menu menus) { |
((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus); |
} |
|
public void clicMenu(String s) { |
panneauCentre.removeAll(); |
if (s.equals("Institutions")) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions(); |
} else { |
Window.alert("Non implémenté!"); |
} |
panneauCentre.layout(); |
} |
|
public void clicIdentification() { |
// Gestion du login |
IdentificationFenetre dialog = new IdentificationFenetre(); |
dialog.setClosable(false); |
dialog.show(); |
} |
|
public void clicListeInstitution(Structure institution) { |
((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution); |
} |
|
public void afficherListeInstitutions(ListeStructure nouvelleDonnees) { |
// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher |
StructureVue institutionVue = new StructureVue(); |
panneauCentre.add(institutionVue); |
institutionVue.rafraichir(nouvelleDonnees); |
} |
} |