Subversion Repositories eFlore/Applications.coel

Rev

Rev 188 | Rev 196 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 188 Rev 195
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import java.sql.Time;
3
import java.sql.Time;
4
import java.util.Date;
4
import java.util.Date;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.composants.AideFenetre;
7
import org.tela_botanica.client.composants.AideFenetre;
8
import org.tela_botanica.client.composants.IdentificationFenetre;
8
import org.tela_botanica.client.composants.IdentificationFenetre;
9
import org.tela_botanica.client.composants.ParametreFenetre;
9
import org.tela_botanica.client.composants.ParametreFenetre;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.modeles.Configuration;
11
import org.tela_botanica.client.modeles.Configuration;
12
import org.tela_botanica.client.modeles.Information;
12
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.Menu;
13
import org.tela_botanica.client.modeles.Menu;
14
import org.tela_botanica.client.modeles.Personne;
14
import org.tela_botanica.client.modeles.Personne;
15
import org.tela_botanica.client.modeles.PersonneListe;
15
import org.tela_botanica.client.modeles.PersonneListe;
16
import org.tela_botanica.client.modeles.ProjetsListe;
16
import org.tela_botanica.client.modeles.ProjetsListe;
17
import org.tela_botanica.client.modeles.Publication;
17
import org.tela_botanica.client.modeles.Publication;
18
import org.tela_botanica.client.modeles.PublicationListe;
18
import org.tela_botanica.client.modeles.PublicationListe;
19
import org.tela_botanica.client.modeles.Structure;
19
import org.tela_botanica.client.modeles.Structure;
20
import org.tela_botanica.client.modeles.StructureConservation;
20
import org.tela_botanica.client.modeles.StructureConservation;
21
import org.tela_botanica.client.modeles.StructureListe;
21
import org.tela_botanica.client.modeles.StructureListe;
-
 
22
import org.tela_botanica.client.modeles.StructureValorisation;
22
import org.tela_botanica.client.modeles.Utilisateur;
23
import org.tela_botanica.client.modeles.Utilisateur;
23
import org.tela_botanica.client.modeles.ValeurListe;
24
import org.tela_botanica.client.modeles.ValeurListe;
24
import org.tela_botanica.client.vues.ContenuPanneauVue;
25
import org.tela_botanica.client.vues.ContenuPanneauVue;
25
import org.tela_botanica.client.vues.EntetePanneauVue;
26
import org.tela_botanica.client.vues.EntetePanneauVue;
26
import org.tela_botanica.client.vues.FormStructureVue;
27
import org.tela_botanica.client.vues.FormStructureVue;
27
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
28
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
28
import org.tela_botanica.client.vues.PersonneVue;
29
import org.tela_botanica.client.vues.PersonneVue;
29
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
30
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
30
import org.tela_botanica.client.vues.PublicationVue;
31
import org.tela_botanica.client.vues.PublicationVue;
31
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
32
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
32
import org.tela_botanica.client.vues.StructureListePanneauVue;
33
import org.tela_botanica.client.vues.StructureListePanneauVue;
33
import org.tela_botanica.client.vues.StructureVue;
34
import org.tela_botanica.client.vues.StructureVue;
34
import org.tela_botanica.client.vues.MenuPanneauVue;
35
import org.tela_botanica.client.vues.MenuPanneauVue;
35
 
36
 
36
import com.extjs.gxt.ui.client.Registry;
37
import com.extjs.gxt.ui.client.Registry;
37
import com.extjs.gxt.ui.client.Style.LayoutRegion;
38
import com.extjs.gxt.ui.client.Style.LayoutRegion;
38
import com.extjs.gxt.ui.client.util.Margins;
39
import com.extjs.gxt.ui.client.util.Margins;
39
import com.extjs.gxt.ui.client.widget.Info;
40
import com.extjs.gxt.ui.client.widget.Info;
40
import com.extjs.gxt.ui.client.widget.LayoutContainer;
41
import com.extjs.gxt.ui.client.widget.LayoutContainer;
41
import com.extjs.gxt.ui.client.widget.Viewport;
42
import com.extjs.gxt.ui.client.widget.Viewport;
42
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
43
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
43
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
44
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
44
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.dom.client.Element;
46
import com.google.gwt.dom.client.Element;
46
import com.google.gwt.user.client.Window;
47
import com.google.gwt.user.client.Window;
47
import com.google.gwt.user.client.ui.RootPanel;
48
import com.google.gwt.user.client.ui.RootPanel;
48
 
49
 
49
public class Mediateur {
50
public class Mediateur {
50
	
51
	
51
	private Modele modele = null;
52
	private Modele modele = null;
52
	private Utilisateur utilisateur = null;
53
	private Utilisateur utilisateur = null;
53
	
54
	
54
	private Viewport viewport;
55
	private Viewport viewport;
55
	private EntetePanneauVue panneauNord = null;
56
	private EntetePanneauVue panneauNord = null;
56
	private MenuPanneauVue panneauOuest = null;
57
	private MenuPanneauVue panneauOuest = null;
57
	private ContenuPanneauVue panneauCentre = null;
58
	private ContenuPanneauVue panneauCentre = null;
58
	private Rafraichissable contenuPanneauCentre = null;
59
	private Rafraichissable contenuPanneauCentre = null;
59
	
60
	
60
	
61
	
61
	
62
	
62
	public Mediateur() {
63
	public Mediateur() {
63
		// Enregistrement du Médiateur dans le Registre
64
		// Enregistrement du Médiateur dans le Registre
64
		Registry.register(RegistreId.MEDIATEUR, this);
65
		Registry.register(RegistreId.MEDIATEUR, this);
65
		// Création du Modèle qui s'enregistre lui même dans le Registre
66
		// Création du Modèle qui s'enregistre lui même dans le Registre
66
		modele = new Modele();
67
		modele = new Modele();
67
	    // Création de l'utilsateur courrant
68
	    // Création de l'utilsateur courrant
68
		utilisateur = new Utilisateur(null, false);
69
		utilisateur = new Utilisateur(null, false);
69
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
70
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
70
		this.connecterUtilisateur(null, null);
71
		this.connecterUtilisateur(null, null);
71
		
72
		
72
		// Création du Viewport qui contient la disposition globale de l'application
73
		// Création du Viewport qui contient la disposition globale de l'application
73
		viewport = new Viewport();
74
		viewport = new Viewport();
74
		viewport.setLayout(new BorderLayout());
75
		viewport.setLayout(new BorderLayout());
75
		
76
		
76
		// Création des différents panneaux
77
		// Création des différents panneaux
77
	    creerPanneauNord();
78
	    creerPanneauNord();
78
	    creerPanneauOuest();
79
	    creerPanneauOuest();
79
	    creerPanneauCentral();
80
	    creerPanneauCentral();
80
 
81
 
81
		// Registry utile car présent partout!
82
		// Registry utile car présent partout!
82
		Registry.register(RegistreId.VIEWPORT, viewport);
83
		Registry.register(RegistreId.VIEWPORT, viewport);
83
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
84
		Registry.register(RegistreId.PANNEAU_OUEST, panneauOuest);
84
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
85
		Registry.register(RegistreId.PANNEAU_CENTRE, panneauCentre);
85
 
86
 
86
		// Chargement du menu
87
		// Chargement du menu
87
		chargeMenu(panneauOuest.listerMenu());
88
		chargeMenu(panneauOuest.listerMenu());
88
		
89
		
89
		// Retour à GWT du Viewport une fois constuit
90
		// Retour à GWT du Viewport une fois constuit
90
		RootPanel.get().add(viewport);
91
		RootPanel.get().add(viewport);
91
	}
92
	}
92
	
93
	
93
	//+----------------------------------------------------------------------------------------------------------------+
94
	//+----------------------------------------------------------------------------------------------------------------+
94
	//												GESTION des PANNEAUX PRINCIPAUX
95
	//												GESTION des PANNEAUX PRINCIPAUX
95
	//+----------------------------------------------------------------------------------------------------------------+
96
	//+----------------------------------------------------------------------------------------------------------------+
96
	
97
	
97
	private void creerPanneauNord() {
98
	private void creerPanneauNord() {
98
		panneauNord = new EntetePanneauVue(); 
99
		panneauNord = new EntetePanneauVue(); 
99
		
100
		
100
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
101
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
101
		regionNord.setCollapsible(true);
102
		regionNord.setCollapsible(true);
102
		regionNord.setFloatable(true);
103
		regionNord.setFloatable(true);
103
		regionNord.setSplit(false);
104
		regionNord.setSplit(false);
104
		regionNord.setMargins(new Margins(5, 5, 0, 5));
105
		regionNord.setMargins(new Margins(5, 5, 0, 5));
105
		
106
		
106
		viewport.add(panneauNord, regionNord);
107
		viewport.add(panneauNord, regionNord);
107
	}
108
	}
108
	
109
	
109
	private void creerPanneauOuest() {
110
	private void creerPanneauOuest() {
110
		panneauOuest = new MenuPanneauVue(); 
111
		panneauOuest = new MenuPanneauVue(); 
111
		
112
		
112
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
113
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);  
113
		regionOuest.setSplit(true);
114
		regionOuest.setSplit(true);
114
		regionOuest.setCollapsible(true);  
115
		regionOuest.setCollapsible(true);  
115
		regionOuest.setMargins(new Margins(5));
116
		regionOuest.setMargins(new Margins(5));
116
 
117
 
117
		viewport.add(panneauOuest, regionOuest);
118
		viewport.add(panneauOuest, regionOuest);
118
	}
119
	}
119
 
120
 
120
	private void creerPanneauCentral() {
121
	private void creerPanneauCentral() {
121
		panneauCentre = new ContenuPanneauVue();
122
		panneauCentre = new ContenuPanneauVue();
122
 
123
 
123
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
124
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
124
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
125
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
125
 
126
 
126
		viewport.add(panneauCentre, regionCentre);
127
		viewport.add(panneauCentre, regionCentre);
127
	}
128
	}
128
 
129
 
129
	//+----------------------------------------------------------------------------------------------------------------+
130
	//+----------------------------------------------------------------------------------------------------------------+
130
	//												GESTION du MENU
131
	//												GESTION du MENU
131
	//+----------------------------------------------------------------------------------------------------------------+
132
	//+----------------------------------------------------------------------------------------------------------------+
132
	
133
	
133
	public void chargeMenu(Menu menus) {
134
	public void chargeMenu(Menu menus) {
134
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
135
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus);		
135
	}
136
	}
136
 
137
 
137
	public void clicMenu(String menuNom) {
138
	public void clicMenu(String menuNom) {
138
		panneauCentre.removeAll();
139
		panneauCentre.removeAll();
139
		if (menuNom.equals("Institutions")) {
140
		if (menuNom.equals("Institutions")) {
140
			((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId());
141
			((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId());
141
		} else if (menuNom.equals("Publications")) {
142
		} else if (menuNom.equals("Publications")) {
142
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
143
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
143
		} else if (menuNom.equals("Personnes")) { 
144
		} else if (menuNom.equals("Personnes")) { 
144
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
145
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
145
		}
146
		}
146
		else {
147
		else {
147
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
148
			GWT.log("Non implémenté! Menu id : "+menuNom, null);
148
		}
149
		}
149
		panneauCentre.layout();
150
		panneauCentre.layout();
150
	}
151
	}
151
	
152
	
152
	//+----------------------------------------------------------------------------------------------------------------+
153
	//+----------------------------------------------------------------------------------------------------------------+
153
	//												GESTION DES FENÊTRES
154
	//												GESTION DES FENÊTRES
154
	//+----------------------------------------------------------------------------------------------------------------+
155
	//+----------------------------------------------------------------------------------------------------------------+
155
 
156
 
156
	public void ouvrirAide() {
157
	public void ouvrirAide() {
157
		AideFenetre aideFenetre = new AideFenetre();
158
		AideFenetre aideFenetre = new AideFenetre();
158
		aideFenetre.show();
159
		aideFenetre.show();
159
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
160
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
160
		//aideFenetre.el().fadeIn(FxConfig.NONE);
161
		//aideFenetre.el().fadeIn(FxConfig.NONE);
161
	}
162
	}
162
 
163
 
163
	public void ouvrirParametres() {
164
	public void ouvrirParametres() {
164
		ParametreFenetre parametresFenetre = new ParametreFenetre();
165
		ParametreFenetre parametresFenetre = new ParametreFenetre();
165
		parametresFenetre.show();
166
		parametresFenetre.show();
166
	}
167
	}
167
 
168
 
168
	public void ouvrirIdentification() {
169
	public void ouvrirIdentification() {
169
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
170
		IdentificationFenetre identifFenetre = new IdentificationFenetre();
170
		identifFenetre.show();
171
		identifFenetre.show();
171
	}
172
	}
172
 
173
 
173
	public void ouvrirApplis(String id) {
174
	public void ouvrirApplis(String id) {
174
		if (id.equals(ComposantId.MENU_CEL)) {
175
		if (id.equals(ComposantId.MENU_CEL)) {
175
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
176
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Carnet en ligne", "");
176
		} else if (id.equals(ComposantId.MENU_BEL)) {
177
		} else if (id.equals(ComposantId.MENU_BEL)) {
177
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
178
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl(), "Biblio en ligne", "");
178
		}
179
		}
179
	}
180
	}
180
 
181
 
181
	//+----------------------------------------------------------------------------------------------------------------+
182
	//+----------------------------------------------------------------------------------------------------------------+
182
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
183
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
183
	//+----------------------------------------------------------------------------------------------------------------+
184
	//+----------------------------------------------------------------------------------------------------------------+
184
	
185
	
185
	public String getUtilisateurId() {
186
	public String getUtilisateurId() {
186
		return utilisateur.getId();
187
		return utilisateur.getId();
187
	}
188
	}
188
	
189
	
189
	public void clicIdentification() {
190
	public void clicIdentification() {
190
		// Gestion du login
191
		// Gestion du login
191
		IdentificationFenetre dialog = new IdentificationFenetre();
192
		IdentificationFenetre dialog = new IdentificationFenetre();
192
	    dialog.setClosable(false);
193
	    dialog.setClosable(false);
193
	    dialog.show();
194
	    dialog.show();
194
	}
195
	}
195
	
196
	
196
	public void connecterUtilisateur(String login, String mdp) {
197
	public void connecterUtilisateur(String login, String mdp) {
197
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
198
		((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
198
	}
199
	}
199
	
200
	
200
	public void deconnecterUtilisateur() {
201
	public void deconnecterUtilisateur() {
201
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
202
		((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
202
	}
203
	}
203
	
204
	
204
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
205
	public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
205
		// Mise à jour du registre
206
		// Mise à jour du registre
206
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
207
		Registry.register(RegistreId.UTILISATEUR, utilisateur);
207
		
208
		
208
		// Création de l'information de mise à jour de l'utilisateur
209
		// Création de l'information de mise à jour de l'utilisateur
209
		Information info = new Information("maj_utilisateur");
210
		Information info = new Information("maj_utilisateur");
210
		
211
		
211
		// Rafraichissement du panneau Nord
212
		// Rafraichissement du panneau Nord
212
		panneauNord.rafraichir(info);
213
		panneauNord.rafraichir(info);
213
 
214
 
214
		// Rafraichissement du panneau Centre
215
		// Rafraichissement du panneau Centre
215
		if (contenuPanneauCentre != null) {
216
		if (contenuPanneauCentre != null) {
216
			contenuPanneauCentre.rafraichir(info);
217
			contenuPanneauCentre.rafraichir(info);
217
		}
218
		}
218
	}
219
	}
219
 
220
 
220
	//+----------------------------------------------------------------------------------------------------------------+
221
	//+----------------------------------------------------------------------------------------------------------------+
221
	//												GESTION DES PERSONNES
222
	//												GESTION DES PERSONNES
222
	//+----------------------------------------------------------------------------------------------------------------+
223
	//+----------------------------------------------------------------------------------------------------------------+
223
 
224
 
224
	public void clicListePersonne(Personne personne)	{
225
	public void clicListePersonne(Personne personne)	{
225
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
226
		((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne);
226
		
227
		
227
	}
228
	}
228
 
229
 
229
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
230
	public void afficherListePersonnes(PersonneListe nouvelleDonnees)	{
230
		
231
		
231
		PersonneVue personneVue = new PersonneVue();
232
		PersonneVue personneVue = new PersonneVue();
232
		contenuPanneauCentre = personneVue;
233
		contenuPanneauCentre = personneVue;
233
		panneauCentre.add(personneVue);
234
		panneauCentre.add(personneVue);
234
		personneVue.rafraichir(nouvelleDonnees);
235
		personneVue.rafraichir(nouvelleDonnees);
235
	}
236
	}
236
 
237
 
237
	/* GREG : Ajouter Personne
238
	/* GREG : Ajouter Personne
238
	 * Gestion du clic dans le menu gauche
239
	 * Gestion du clic dans le menu gauche
239
	 * Affiche le formulaire 
240
	 * Affiche le formulaire 
240
	 * */	
241
	 * */	
241
	public void clicAjouterPersonne()	{
242
	public void clicAjouterPersonne()	{
242
		GWT.log("ajouter pers", null);
243
		GWT.log("ajouter pers", null);
243
	}
244
	}
244
	
245
	
245
	//+----------------------------------------------------------------------------------------------------------------+
246
	//+----------------------------------------------------------------------------------------------------------------+
246
	//												GESTION DES VALEURS ET LISTES
247
	//												GESTION DES VALEURS ET LISTES
247
	//+----------------------------------------------------------------------------------------------------------------+
248
	//+----------------------------------------------------------------------------------------------------------------+
248
 
249
 
249
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
250
	public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
250
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
251
		if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
251
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
252
			((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
252
		} else {
253
		} else {
253
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
254
			GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
254
		}
255
		}
255
	}
256
	}
256
 
257
 
257
	//+----------------------------------------------------------------------------------------------------------------+
258
	//+----------------------------------------------------------------------------------------------------------------+
258
	//												GESTION DES PUBLICATIONS
259
	//												GESTION DES PUBLICATIONS
259
	//+----------------------------------------------------------------------------------------------------------------+
260
	//+----------------------------------------------------------------------------------------------------------------+
260
 
261
 
261
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
262
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
262
		
263
		
263
		PublicationVue publicationVue = new PublicationVue() ;
264
		PublicationVue publicationVue = new PublicationVue() ;
264
		panneauCentre.add(publicationVue);
265
		panneauCentre.add(publicationVue);
265
		contenuPanneauCentre = publicationVue;
266
		contenuPanneauCentre = publicationVue;
266
		publicationVue.rafraichir(nouvelleDonnees);
267
		publicationVue.rafraichir(nouvelleDonnees);
267
		
268
		
268
	}
269
	}
269
 
270
 
270
	public void clicListePublication(Publication publication) {
271
	public void clicListePublication(Publication publication) {
271
		
272
		
272
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
273
		((PublicationDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PUBLICATION_DETAIL)).rafraichir(publication);	
273
	}
274
	}
274
 
275
 
275
	public void clicAjouterPublication() {
276
	public void clicAjouterPublication() {
276
		// TODO Auto-generated method stub
277
		// TODO Auto-generated method stub
277
		
278
		
278
	}
279
	}
279
	
280
	
280
	//+----------------------------------------------------------------------------------------------------------------+
281
	//+----------------------------------------------------------------------------------------------------------------+
281
	//												GESTION DES STRUCTURES
282
	//												GESTION DES STRUCTURES
282
	//+----------------------------------------------------------------------------------------------------------------+
283
	//+----------------------------------------------------------------------------------------------------------------+
283
 
284
 
284
	public void clicListeInstitution(Structure institution) {
285
	public void clicListeInstitution(Structure institution) {
285
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
286
		((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution);		
286
	}
287
	}
287
 
288
 
288
	public void afficherListeStructures(StructureListe nouvelleDonnees) {
289
	public void afficherListeStructures(StructureListe nouvelleDonnees) {
289
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
290
		// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
290
		StructureVue institutionVue = new StructureVue();
291
		StructureVue institutionVue = new StructureVue();
291
		panneauCentre.add(institutionVue);
292
		panneauCentre.add(institutionVue);
292
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
293
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
293
		contenuPanneauCentre = institutionVue;
294
		contenuPanneauCentre = institutionVue;
294
		institutionVue.rafraichir(nouvelleDonnees);
295
		institutionVue.rafraichir(nouvelleDonnees);
295
	}
296
	}
296
	
297
	
297
	public void clicAjouterStructure() {
298
	public void clicAjouterStructure() {
298
		panneauCentre.removeAll();
299
		panneauCentre.removeAll();
299
		FormStructureVue formStructureVue = new FormStructureVue();
300
		FormStructureVue formStructureVue = new FormStructureVue();
300
		panneauCentre.add(formStructureVue);
301
		panneauCentre.add(formStructureVue);
301
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
302
		panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
302
		panneauCentre.layout();
303
		panneauCentre.layout();
303
	}
304
	}
304
	
305
	
305
	/**
306
	/**
306
	 * TODO : afficher un message du type "Structure ajoutée".  
307
	 * TODO : afficher un message du type "Structure ajoutée".  
307
	 * Lance la creation d'une structure
308
	 * Lance la creation d'une structure
308
	 * @param les données de la structure saisie
309
	 * @param les données de la structure saisie
309
	 */
310
	 */
310
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
311
	public void ajouterStructure(Rafraichissable vue, Structure structure) {
311
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
312
		modele.ajouterStructure(vue, getUtilisateurId(), structure);
312
	}
313
	}
313
 
314
 
314
	public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) {
315
	public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) {
315
		if (structureSelection.size() == 0) {
316
		if (structureSelection.size() == 0) {
316
			Info.display("Information", "Veuillez sélectionner une structure.");
317
			Info.display("Information", "Veuillez sélectionner une structure.");
317
		} else if(structureSelection.size() > 0) {
318
		} else if(structureSelection.size() > 0) {
318
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
319
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
319
			if (structureSelection.size() == 1) {
320
			if (structureSelection.size() == 1) {
320
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
321
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
321
			}
322
			}
322
			if(Window.confirm(message)) { 
323
			if(Window.confirm(message)) { 
323
					String idStr = "" ;
324
					String idStr = "" ;
324
					for(int i = 0 ; i < structureSelection.size() ; i++) {
325
					for(int i = 0 ; i < structureSelection.size() ; i++) {
325
						idStr += structureSelection.get(i).getId()+"," ; 
326
						idStr += structureSelection.get(i).getId()+"," ; 
326
					}
327
					}
327
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
328
					modele.supprimerStructure(vue, getUtilisateurId(), idStr);
328
			}
329
			}
329
		} else {
330
		} else {
330
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
331
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
331
		}
332
		}
332
	}
333
	}
333
	
334
	
334
	public void clicModifierStructure(List<Structure> structureSelection) {
335
	public void clicModifierStructure(List<Structure> structureSelection) {
335
		if(structureSelection.size() == 0) {
336
		if(structureSelection.size() == 0) {
336
			Info.display("Information", "Veuillez sélectionner une structure.");
337
			Info.display("Information", "Veuillez sélectionner une structure.");
337
		} else if(structureSelection.size() > 1) {
338
		} else if(structureSelection.size() > 1) {
338
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
339
			Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
339
		} else if(structureSelection.size() == 1) {
340
		} else if(structureSelection.size() == 1) {
340
			panneauCentre.removeAll();
341
			panneauCentre.removeAll();
341
			FormStructureVue formStructureVue = new FormStructureVue();
342
			FormStructureVue formStructureVue = new FormStructureVue();
342
			panneauCentre.add(formStructureVue);
343
			panneauCentre.add(formStructureVue);
343
			panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
344
			panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
344
 
345
 
345
			String idStr = "" ;
346
			String idStr = "" ;
346
			for(int i = 0 ; i < structureSelection.size() ; i++) {
347
			for(int i = 0 ; i < structureSelection.size() ; i++) {
347
				idStr = structureSelection.get(i).getId(); 
348
				idStr = structureSelection.get(i).getId(); 
348
			}
349
			}
349
			modele.selectionnerStructure(formStructureVue, getUtilisateurId(), idStr);
350
			modele.selectionnerStructure(formStructureVue, getUtilisateurId(), idStr);
350
			
351
			
351
			panneauCentre.layout();
352
			panneauCentre.layout();
352
		} else {
353
		} else {
353
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
354
			Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
354
		}
355
		}
355
		
356
		
356
	}
357
	}
357
	
358
	
358
	public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation) {
359
	public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
359
		modele.modifierStructure(vue, getUtilisateurId(), structure, conservation);
360
		modele.modifierStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
360
	}
361
	}
361
	
362
	
362
	//+----------------------------------------------------------------------------------------------------------------+
363
	//+----------------------------------------------------------------------------------------------------------------+
363
	//												GESTION des PROJETS
364
	//												GESTION des PROJETS
364
	//+----------------------------------------------------------------------------------------------------------------+
365
	//+----------------------------------------------------------------------------------------------------------------+
365
	
366
	
366
	//Greg : ajout d'un écouteur pour le changement liste projet
367
	//Greg : ajout d'un écouteur pour le changement liste projet
367
	public void rafraichirListeProjets()	{
368
	public void rafraichirListeProjets()	{
368
		((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
369
		((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
369
	}
370
	}
370
	
371
	
371
	public void afficherListeProjets(ProjetsListe projets)	{
372
	public void afficherListeProjets(ProjetsListe projets)	{
372
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
373
		((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
373
	}
374
	}
374
	
375
	
375
	public void selectionnerProjet(String selectedIndexValue) {
376
	public void selectionnerProjet(String selectedIndexValue) {
376
		Registry.register(RegistreId.PROJET, selectedIndexValue);
377
		Registry.register(RegistreId.PROJET, selectedIndexValue);
377
		if (contenuPanneauCentre instanceof PersonneVue)	{
378
		if (contenuPanneauCentre instanceof PersonneVue)	{
378
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
379
			((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
379
			//FIXME Le rafraichissement du panneau ne se fait pas!
380
			//FIXME Le rafraichissement du panneau ne se fait pas!
380
		}
381
		}
381
	}
382
	}
382
	
383
	
383
}
384
}
384
 
385
 
385
 
386
 
386
 
387
 
387
 
388
 
388
 
389
 
389
 
390
 
390
 
391
 
391
 
392
 
392
 
393
 
393
 
394
 
394
 
395
 
395
 
396
 
396
 
397
 
397
 
398
 
398
 
399
 
399
 
400
 
400
 
401
 
401
 
402