Subversion Repositories eFlore/Applications.coel

Rev

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

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