Subversion Repositories eFlore/Applications.coel

Rev

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

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