Subversion Repositories eFlore/Applications.coel

Rev

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

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