Subversion Repositories eFlore/Applications.coel

Rev

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

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