Subversion Repositories eFlore/Applications.coel

Rev

Rev 60 | Rev 64 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
60 jpm 1
package org.tela_botanica.client;
2
 
61 jpm 3
import org.tela_botanica.client.composants.AideFenetre;
60 jpm 4
import org.tela_botanica.client.composants.IdentificationFenetre;
61 jpm 5
import org.tela_botanica.client.modeles.Configuration;
60 jpm 6
import org.tela_botanica.client.modeles.Menu;
7
import org.tela_botanica.client.modeles.Structure;
8
import org.tela_botanica.client.modeles.ListeStructure;
61 jpm 9
import org.tela_botanica.client.modeles.Utilisateur;
60 jpm 10
import org.tela_botanica.client.vues.ContenuPanneauVue;
11
import org.tela_botanica.client.vues.EntetePanneauVue;
12
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
13
import org.tela_botanica.client.vues.StructureVue;
14
import org.tela_botanica.client.vues.MenuPanneauVue;
15
 
16
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.Style.LayoutRegion;
61 jpm 18
import com.extjs.gxt.ui.client.fx.FxConfig;
60 jpm 19
import com.extjs.gxt.ui.client.util.Margins;
20
import com.extjs.gxt.ui.client.widget.Viewport;
21
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
22
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
23
import com.google.gwt.user.client.Window;
24
import com.google.gwt.user.client.ui.RootPanel;
25
 
26
public class Mediateur {
27
 
28
	private Viewport viewport;
29
	private EntetePanneauVue panneauNord = null;
30
	private MenuPanneauVue panneauOuest = null;
31
	private ContenuPanneauVue panneauCentre = null;
32
 
33
	public Mediateur() {
34
		// Enregistrement du Médiateur dans le Registre
35
		Registry.register(RegistreId.MEDIATEUR, this);
36
		// Création du Modèle qui s'enregistre lui même dans le Registre
37
		new Modele();
38
 
39
		// Création du Viewport qui contient la disposition globale de l'application
40
		viewport = new Viewport();
41
		viewport.setLayout(new BorderLayout());
42
 
43
		// Création des différents panneaux
44
	    creerPanneauNord();
45
	    creerPanneauOuest();
46
	    creerPanneauCentral();
47
 
48
		// Registry utile car présent partout!
49
		Registry.register(RegistreId.VIEWPORT, viewport);
50
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
51
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
52
 
53
		// Chargement du menu
54
		chargeMenu(panneauOuest.listerMenu());
55
 
56
		// Retour à GWT du Viewport une fois constuit
57
		RootPanel.get().add(viewport);
58
	}
59
 
60
	private void creerPanneauNord() {
61
		panneauNord = new EntetePanneauVue();
62
 
63
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);
64
		regionNord.setCollapsible(true);
65
		regionNord.setFloatable(true);
66
		regionNord.setSplit(false);
67
		regionNord.setMargins(new Margins(5, 5, 0, 5));
68
 
69
		viewport.add(panneauNord, regionNord);
70
	}
71
 
72
	private void creerPanneauOuest() {
73
		panneauOuest = new MenuPanneauVue();
74
 
75
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);
76
		regionOuest.setSplit(true);
77
		regionOuest.setCollapsible(true);
78
		regionOuest.setMargins(new Margins(5));
79
 
80
		viewport.add(panneauOuest, regionOuest);
81
	}
82
 
83
	private void creerPanneauCentral() {
84
		panneauCentre = new ContenuPanneauVue();
85
 
86
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);
87
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
88
 
89
		viewport.add(panneauCentre, regionCentre);
90
	}
91
 
92
	public void chargeMenu(Menu menus) {
93
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);
94
	}
95
 
96
	public void clicMenu(String s) {
97
		panneauCentre.removeAll();
98
		if (s.equals("Institutions")) {
99
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
100
		} else {
101
			Window.alert("Non implémenté!");
102
		}
103
		panneauCentre.layout();
104
	}
105
 
106
	public void clicIdentification() {
107
		// Gestion du login
108
		IdentificationFenetre dialog = new IdentificationFenetre();
109
	    dialog.setClosable(false);
110
	    dialog.show();
111
	}
112
 
113
	public void clicListeInstitution(Structure institution) {
114
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);
115
	}
116
 
117
	public void afficherListeInstitutions(ListeStructure nouvelleDonnees) {
118
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
119
		StructureVue institutionVue = new StructureVue();
120
		panneauCentre.add(institutionVue);
121
		institutionVue.rafraichir(nouvelleDonnees);
122
	}
61 jpm 123
 
124
	public void ouvrirAide() {
125
		AideFenetre aideFenetre = new AideFenetre();
126
		aideFenetre.show();
127
		aideFenetre.el().fadeIn(FxConfig.NONE);
128
	}
129
 
130
	public void ouvrirParametres() {
131
		//ParametreFenetre parametresFenetre = new ParametreFenetre();
132
		//parametresFenetre.show();
133
	}
134
 
135
	public void ouvrirIdentification() {
136
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
137
		identifFenetre.show();
138
		// identifFenetre.el().fadeIn(FxConfig.NONE);
139
	}
140
 
141
	public void ouvrirApplis(String id) {
142
		if (id.equals(ComposantId.MENU_CEL)) {
143
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
144
		} else if (id.equals(ComposantId.MENU_BEL)) {
145
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
146
		}
147
	}
148
 
149
	public void connecterUtilisateur(Utilisateur utilisateur) {
150
		panneauNord.rafraichir(utilisateur);
151
 
152
	}
60 jpm 153
}