Subversion Repositories eFlore/Applications.coel

Rev

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

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