Subversion Repositories eFlore/Applications.coel

Rev

Rev 119 | Rev 134 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 119 Rev 128
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import org.tela_botanica.client.composants.AideFenetre;
3
import org.tela_botanica.client.composants.AideFenetre;
4
import org.tela_botanica.client.composants.IdentificationFenetre;
4
import org.tela_botanica.client.composants.IdentificationFenetre;
5
import org.tela_botanica.client.composants.ParametreFenetre;
5
import org.tela_botanica.client.composants.ParametreFenetre;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.Configuration;
7
import org.tela_botanica.client.modeles.Configuration;
8
import org.tela_botanica.client.modeles.Menu;
8
import org.tela_botanica.client.modeles.Menu;
-
 
9
import org.tela_botanica.client.modeles.PersonneListe;
9
import org.tela_botanica.client.modeles.Publication;
10
import org.tela_botanica.client.modeles.Publication;
10
import org.tela_botanica.client.modeles.PublicationListe;
11
import org.tela_botanica.client.modeles.PublicationListe;
11
import org.tela_botanica.client.modeles.Structure;
12
import org.tela_botanica.client.modeles.Structure;
12
import org.tela_botanica.client.modeles.StructureListe;
13
import org.tela_botanica.client.modeles.StructureListe;
13
import org.tela_botanica.client.modeles.Utilisateur;
14
import org.tela_botanica.client.modeles.Utilisateur;
14
import org.tela_botanica.client.modeles.ValeurListe;
15
import org.tela_botanica.client.modeles.ValeurListe;
15
import org.tela_botanica.client.vues.ContenuPanneauVue;
16
import org.tela_botanica.client.vues.ContenuPanneauVue;
16
import org.tela_botanica.client.vues.EntetePanneauVue;
17
import org.tela_botanica.client.vues.EntetePanneauVue;
17
import org.tela_botanica.client.vues.FormStructureVue;
18
import org.tela_botanica.client.vues.FormStructureVue;
-
 
19
import org.tela_botanica.client.vues.PersonneVue;
18
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
20
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
19
import org.tela_botanica.client.vues.PublicationVue;
21
import org.tela_botanica.client.vues.PublicationVue;
20
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
22
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
21
import org.tela_botanica.client.vues.StructureVue;
23
import org.tela_botanica.client.vues.StructureVue;
22
import org.tela_botanica.client.vues.MenuPanneauVue;
24
import org.tela_botanica.client.vues.MenuPanneauVue;
23
 
25
 
24
import com.extjs.gxt.ui.client.Registry;
26
import com.extjs.gxt.ui.client.Registry;
25
import com.extjs.gxt.ui.client.Style.LayoutRegion;
27
import com.extjs.gxt.ui.client.Style.LayoutRegion;
26
import com.extjs.gxt.ui.client.util.Margins;
28
import com.extjs.gxt.ui.client.util.Margins;
27
import com.extjs.gxt.ui.client.widget.Viewport;
29
import com.extjs.gxt.ui.client.widget.Viewport;
28
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
30
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
29
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
31
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
30
import com.google.gwt.core.client.GWT;
32
import com.google.gwt.core.client.GWT;
31
import com.google.gwt.user.client.Window;
33
import com.google.gwt.user.client.Window;
32
import com.google.gwt.user.client.ui.RootPanel;
34
import com.google.gwt.user.client.ui.RootPanel;
33
 
35
 
34
public class Mediateur {
36
public class Mediateur {
35
	
37
	
36
	private Modele modele = null;
38
	private Modele modele = null;
37
	private Utilisateur utilisateur = null;
39
	private Utilisateur utilisateur = null;
38
	
40
	
39
	private Viewport viewport;
41
	private Viewport viewport;
40
	private EntetePanneauVue panneauNord = null;
42
	private EntetePanneauVue panneauNord = null;
41
	private MenuPanneauVue panneauOuest = null;
43
	private MenuPanneauVue panneauOuest = null;
42
	private ContenuPanneauVue panneauCentre = null;
44
	private ContenuPanneauVue panneauCentre = null;
43
	
45
	
44
	
46
	
45
	public Mediateur() {
47
	public Mediateur() {
46
		// Enregistrement du Médiateur dans le Registre
48
		// Enregistrement du Médiateur dans le Registre
47
		Registry.register(RegistreId.MEDIATEUR, this);
49
		Registry.register(RegistreId.MEDIATEUR, this);
48
		// Création du Modèle qui s'enregistre lui même dans le Registre
50
		// Création du Modèle qui s'enregistre lui même dans le Registre
49
		modele = new Modele();
51
		modele = new Modele();
50
	    // Création de l'utilsateur courrant
52
	    // Création de l'utilsateur courrant
51
		utilisateur = new Utilisateur(null, false);
53
		utilisateur = new Utilisateur(null, false);
52
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
54
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
53
		this.connecterUtilisateur(null, null);
55
		this.connecterUtilisateur(null, null);
54
		
56
		
55
		// Création du Viewport qui contient la disposition globale de l'application
57
		// Création du Viewport qui contient la disposition globale de l'application
56
		viewport = new Viewport();
58
		viewport = new Viewport();
57
		viewport.setLayout(new BorderLayout());
59
		viewport.setLayout(new BorderLayout());
58
		
60
		
59
		// Création des différents panneaux
61
		// Création des différents panneaux
60
	    creerPanneauNord();
62
	    creerPanneauNord();
61
	    creerPanneauOuest();
63
	    creerPanneauOuest();
62
	    creerPanneauCentral();
64
	    creerPanneauCentral();
63
 
65
 
64
		// Registry utile car présent partout!
66
		// Registry utile car présent partout!
65
		Registry.register(RegistreId.VIEWPORT, viewport);
67
		Registry.register(RegistreId.VIEWPORT, viewport);
66
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
68
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
67
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
69
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
68
 
70
 
69
		// Chargement du menu
71
		// Chargement du menu
70
		chargeMenu(panneauOuest.listerMenu());
72
		chargeMenu(panneauOuest.listerMenu());
71
		
73
		
72
		// Retour à GWT du Viewport une fois constuit
74
		// Retour à GWT du Viewport une fois constuit
73
		RootPanel.get().add(viewport);
75
		RootPanel.get().add(viewport);
74
	}
76
	}
75
	
77
	
76
	public String getUtilisateurId() {
78
	public String getUtilisateurId() {
77
		return utilisateur.getId();
79
		return utilisateur.getId();
78
	}
80
	}
79
	
81
	
80
	private void creerPanneauNord() {
82
	private void creerPanneauNord() {
81
		panneauNord = new EntetePanneauVue(); 
83
		panneauNord = new EntetePanneauVue(); 
82
		
84
		
83
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
85
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
84
		regionNord.setCollapsible(true);
86
		regionNord.setCollapsible(true);
85
		regionNord.setFloatable(true);
87
		regionNord.setFloatable(true);
86
		regionNord.setSplit(false);
88
		regionNord.setSplit(false);
87
		regionNord.setMargins(new Margins(5, 5, 0, 5));
89
		regionNord.setMargins(new Margins(5, 5, 0, 5));
88
		
90
		
89
		viewport.add(panneauNord, regionNord);
91
		viewport.add(panneauNord, regionNord);
90
	}
92
	}
91
	
93
	
92
	private void creerPanneauOuest() {
94
	private void creerPanneauOuest() {
93
		panneauOuest = new MenuPanneauVue(); 
95
		panneauOuest = new MenuPanneauVue(); 
94
		
96
		
95
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
97
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
96
		regionOuest.setSplit(true);
98
		regionOuest.setSplit(true);
97
		regionOuest.setCollapsible(true);  
99
		regionOuest.setCollapsible(true);  
98
		regionOuest.setMargins(new Margins(5));
100
		regionOuest.setMargins(new Margins(5));
99
 
101
 
100
		viewport.add(panneauOuest, regionOuest);
102
		viewport.add(panneauOuest, regionOuest);
101
	}
103
	}
102
 
104
 
103
	private void creerPanneauCentral() {
105
	private void creerPanneauCentral() {
104
		panneauCentre = new ContenuPanneauVue();
106
		panneauCentre = new ContenuPanneauVue();
105
 
107
 
106
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
108
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
107
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
109
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
108
 
110
 
109
		viewport.add(panneauCentre, regionCentre);
111
		viewport.add(panneauCentre, regionCentre);
110
	}
112
	}
111
 
113
 
112
	public void chargeMenu(Menu menus) {
114
	public void chargeMenu(Menu menus) {
113
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
115
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
114
	}
116
	}
115
 
117
 
116
	public void clicMenu(String s) {
118
	public void clicMenu(String s) {
117
		panneauCentre.removeAll();
119
		panneauCentre.removeAll();
118
		if (s.equals("Institutions")) {
120
		if (s.equals("Institutions")) {
119
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
121
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions();
120
		}else if (s.equals("Publications")) {
122
		}else if (s.equals("Publications")) {
121
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
123
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
122
		}
124
		}
-
 
125
		else if (s.equals("Personnes")) { 
-
 
126
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
-
 
127
		}
123
		else {
128
		else {
124
			Window.alert("Non implémenté!");
129
			Window.alert("Non implémenté!");
125
		}
130
		}
126
		panneauCentre.layout();
131
		panneauCentre.layout();
127
	}
132
	}
128
	
133
	
129
	public void clicIdentification() {
134
	public void clicIdentification() {
130
		// Gestion du login
135
		// Gestion du login
131
		IdentificationFenetre dialog = new IdentificationFenetre();
136
		IdentificationFenetre dialog = new IdentificationFenetre();
132
	    dialog.setClosable(false);
137
	    dialog.setClosable(false);
133
	    dialog.show();
138
	    dialog.show();
134
	}
139
	}
135
	
140
	
136
	public void clicListeInstitution(Structure institution) {
141
	public void clicListeInstitution(Structure institution) {
137
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
142
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
138
	}
143
	}
139
 
144
 
140
	public void afficherListeInstitutions(StructureListe nouvelleDonnees) {
145
	public void afficherListeInstitutions(StructureListe nouvelleDonnees) {
141
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
146
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
142
		StructureVue institutionVue = new StructureVue();
147
		StructureVue institutionVue = new StructureVue();
143
		panneauCentre.add(institutionVue);
148
		panneauCentre.add(institutionVue);
144
		institutionVue.rafraichir(nouvelleDonnees);
149
		institutionVue.rafraichir(nouvelleDonnees);
145
	}
150
	}
-
 
151
 
-
 
152
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
-
 
153
		PersonneVue personneVue = new PersonneVue();
-
 
154
		panneauCentre.add(personneVue);
-
 
155
		personneVue.rafraichir(nouvelleDonnees);
-
 
156
	}
146
 
157
	
147
	public void ouvrirAide() {
158
	public void ouvrirAide() {
148
		AideFenetre aideFenetre = new AideFenetre();
159
		AideFenetre aideFenetre = new AideFenetre();
149
		aideFenetre.show();
160
		aideFenetre.show();
150
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
161
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
151
		//aideFenetre.el().fadeIn(FxConfig.NONE);
162
		//aideFenetre.el().fadeIn(FxConfig.NONE);
152
	}
163
	}
153
 
164
 
154
	public void ouvrirParametres() {
165
	public void ouvrirParametres() {
155
		ParametreFenetre parametresFenetre = new ParametreFenetre();
166
		ParametreFenetre parametresFenetre = new ParametreFenetre();
156
		parametresFenetre.show();
167
		parametresFenetre.show();
157
	}
168
	}
158
 
169
 
159
	public void ouvrirIdentification() {
170
	public void ouvrirIdentification() {
160
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
171
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
161
		identifFenetre.show();
172
		identifFenetre.show();
162
	}
173
	}
163
 
174
 
164
	public void ouvrirApplis(String id) {
175
	public void ouvrirApplis(String id) {
165
		if (id.equals(ComposantId.MENU_CEL)) {
176
		if (id.equals(ComposantId.MENU_CEL)) {
166
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
177
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
167
		} else if (id.equals(ComposantId.MENU_BEL)) {
178
		} else if (id.equals(ComposantId.MENU_BEL)) {
168
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
179
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
169
		}
180
		}
170
	}
181
	}
171
 
182
 
172
	public void connecterUtilisateur(String login, String mdp) {
183
	public void connecterUtilisateur(String login, String mdp) {
173
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
184
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
174
	}
185
	}
175
	
186
	
176
	public void deconnecterUtilisateur() {
187
	public void deconnecterUtilisateur() {
177
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
188
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
178
	}
189
	}
179
	
190
	
180
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
191
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
181
		panneauNord.rafraichir(utilisateur);
192
		panneauNord.rafraichir(utilisateur);
182
	}
193
	}
183
 
194
 
184
	public void clicAjouterStructure() {
195
	public void clicAjouterStructure() {
185
		panneauCentre.removeAll();
196
		panneauCentre.removeAll();
186
		FormStructureVue formStructureVue = new FormStructureVue();
197
		FormStructureVue formStructureVue = new FormStructureVue();
187
		panneauCentre.add(formStructureVue);
198
		panneauCentre.add(formStructureVue);
188
		panneauCentre.setId(ComposantId.PANNEAU_FORM_STRUCTURE);
199
		panneauCentre.setId(ComposantId.PANNEAU_FORM_STRUCTURE);
189
		panneauCentre.layout();
200
		panneauCentre.layout();
190
	}
201
	}
-
 
202
 
-
 
203
	/* GREG : Ajouter Personne
-
 
204
	 * Gestion du clic dans le menu gauche
-
 
205
	 * Affiche le formulaire 
-
 
206
	 * */	
-
 
207
	public void clicAjouterPersonne()	{
-
 
208
		GWT.log("ajouter pers", null);
-
 
209
	}
-
 
210
	
191
 
211
	
192
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
212
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
193
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_FORM_STRUCTURE)) {
213
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_FORM_STRUCTURE)) {
194
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
214
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
195
		} else {
215
		} else {
196
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
216
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
197
		}
217
		}
198
	}
218
	}
199
 
219
 
200
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
220
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
201
		
221
		
202
		PublicationVue publicationVue = new PublicationVue() ;
222
		PublicationVue publicationVue = new PublicationVue() ;
203
		panneauCentre.add(publicationVue);
223
		panneauCentre.add(publicationVue);
204
		publicationVue.rafraichir(nouvelleDonnees);
224
		publicationVue.rafraichir(nouvelleDonnees);
205
		
225
		
206
	}
226
	}
207
 
227
 
208
	public void clicListePublication(Publication publication) {
228
	public void clicListePublication(Publication publication) {
209
		
229
		
210
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
230
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
211
	}
231
	}
212
 
232
 
213
	public void clicAjouterPublication() {
233
	public void clicAjouterPublication() {
214
		// TODO Auto-generated method stub
234
		// TODO Auto-generated method stub
215
		
235
		
216
	}
236
	}
217
	/**
237
	/**
218
	 * TODO : afficher un message du type "Structure ajoutée".  
238
	 * TODO : afficher un message du type "Structure ajoutée".  
219
	 * Lance la creation d'une structure
239
	 * Lance la creation d'une structure
220
	 * @param les données de la structure saisie
240
	 * @param les données de la structure saisie
221
	 */
241
	 */
222
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
242
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
223
		modele.ajouterStructure(vue, structure);
243
		modele.ajouterStructure(vue, structure);
224
	}
244
	}
225
 
245
 
226
}
246
}