Subversion Repositories eFlore/Applications.coel

Rev

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

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