Subversion Repositories eFlore/Applications.coel

Rev

Rev 61 | Rev 65 | 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();
64 jpm 38
	    // Création de l'utilsateur courrant
39
		Registry.register(RegistreId.UTILISATEUR, new Utilisateur(Window., true));
40
 
60 jpm 41
		// Création du Viewport qui contient la disposition globale de l'application
42
		viewport = new Viewport();
43
		viewport.setLayout(new BorderLayout());
44
 
45
		// Création des différents panneaux
46
	    creerPanneauNord();
47
	    creerPanneauOuest();
48
	    creerPanneauCentral();
49
 
50
		// Registry utile car présent partout!
51
		Registry.register(RegistreId.VIEWPORT, viewport);
52
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
53
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
54
 
55
		// Chargement du menu
56
		chargeMenu(panneauOuest.listerMenu());
57
 
58
		// Retour à GWT du Viewport une fois constuit
59
		RootPanel.get().add(viewport);
60
	}
61
 
62
	private void creerPanneauNord() {
63
		panneauNord = new EntetePanneauVue();
64
 
65
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);
66
		regionNord.setCollapsible(true);
67
		regionNord.setFloatable(true);
68
		regionNord.setSplit(false);
69
		regionNord.setMargins(new Margins(5, 5, 0, 5));
70
 
71
		viewport.add(panneauNord, regionNord);
72
	}
73
 
74
	private void creerPanneauOuest() {
75
		panneauOuest = new MenuPanneauVue();
76
 
77
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);
78
		regionOuest.setSplit(true);
79
		regionOuest.setCollapsible(true);
80
		regionOuest.setMargins(new Margins(5));
81
 
82
		viewport.add(panneauOuest, regionOuest);
83
	}
84
 
85
	private void creerPanneauCentral() {
86
		panneauCentre = new ContenuPanneauVue();
87
 
88
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);
89
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
90
 
91
		viewport.add(panneauCentre, regionCentre);
92
	}
93
 
94
	public void chargeMenu(Menu menus) {
95
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);
96
	}
97
 
98
	public void clicMenu(String s) {
99
		panneauCentre.removeAll();
100
		if (s.equals("Institutions")) {
101
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
102
		} else {
103
			Window.alert("Non implémenté!");
104
		}
105
		panneauCentre.layout();
106
	}
107
 
108
	public void clicIdentification() {
109
		// Gestion du login
110
		IdentificationFenetre dialog = new IdentificationFenetre();
111
	    dialog.setClosable(false);
112
	    dialog.show();
113
	}
114
 
115
	public void clicListeInstitution(Structure institution) {
116
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);
117
	}
118
 
119
	public void afficherListeInstitutions(ListeStructure nouvelleDonnees) {
120
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
121
		StructureVue institutionVue = new StructureVue();
122
		panneauCentre.add(institutionVue);
123
		institutionVue.rafraichir(nouvelleDonnees);
124
	}
61 jpm 125
 
126
	public void ouvrirAide() {
127
		AideFenetre aideFenetre = new AideFenetre();
128
		aideFenetre.show();
129
		aideFenetre.el().fadeIn(FxConfig.NONE);
130
	}
131
 
132
	public void ouvrirParametres() {
133
		//ParametreFenetre parametresFenetre = new ParametreFenetre();
134
		//parametresFenetre.show();
135
	}
136
 
137
	public void ouvrirIdentification() {
138
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
139
		identifFenetre.show();
140
		// identifFenetre.el().fadeIn(FxConfig.NONE);
141
	}
142
 
143
	public void ouvrirApplis(String id) {
144
		if (id.equals(ComposantId.MENU_CEL)) {
145
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
146
		} else if (id.equals(ComposantId.MENU_BEL)) {
147
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
148
		}
149
	}
150
 
151
	public void connecterUtilisateur(Utilisateur utilisateur) {
64 jpm 152
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(utilisateur);
61 jpm 153
		panneauNord.rafraichir(utilisateur);
64 jpm 154
	}
155
 
156
	public void deconnecterUtilisateur(Utilisateur utilisateur) {
157
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur(utilisateur);
158
		panneauNord.rafraichir(utilisateur);
159
	}
160
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
61 jpm 161
 
162
	}
60 jpm 163
}