Subversion Repositories eFlore/Applications.coel

Rev

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