Subversion Repositories eFlore/Applications.coel

Rev

Rev 1012 | Rev 1107 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1012 Rev 1013
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.client.ComposantId;
3
import org.tela_botanica.client.ComposantId;
4
import org.tela_botanica.client.Mediateur;
-
 
5
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.Mediateur;
-
 
5
import org.tela_botanica.client.i18n.Constantes;
6
import org.tela_botanica.client.i18n.Constantes;
6
import org.tela_botanica.client.i18n.ErrorMessages;
7
import org.tela_botanica.client.images.Images;
7
import org.tela_botanica.client.images.Images;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.modeles.Information;
9
import org.tela_botanica.client.modeles.Information;
-
 
10
import org.tela_botanica.client.modeles.Utilisateur;
Line 10... Line -...
10
import org.tela_botanica.client.modeles.Utilisateur;
-
 
11
 
11
import org.tela_botanica.client.util.Debug;
12
import com.extjs.gxt.ui.client.Registry;
12
 
13
import com.extjs.gxt.ui.client.Style;
13
import com.extjs.gxt.ui.client.Style;
14
import com.extjs.gxt.ui.client.Style.Orientation;
14
import com.extjs.gxt.ui.client.Style.Orientation;
15
import com.extjs.gxt.ui.client.event.ButtonEvent;
15
import com.extjs.gxt.ui.client.event.ButtonEvent;
Line 25... Line 25...
25
import com.extjs.gxt.ui.client.widget.button.SplitButton;
25
import com.extjs.gxt.ui.client.widget.button.SplitButton;
26
import com.extjs.gxt.ui.client.widget.layout.RowData;
26
import com.extjs.gxt.ui.client.widget.layout.RowData;
27
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
27
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
28
import com.extjs.gxt.ui.client.widget.menu.Menu;
28
import com.extjs.gxt.ui.client.widget.menu.Menu;
29
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
29
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
30
import com.google.gwt.core.client.GWT;
-
 
Line 31... Line 30...
31
 
30
 
Line 32... Line 31...
32
public class EnteteVue extends LayoutContainer implements Rafraichissable {
31
public class EnteteVue extends LayoutContainer implements Rafraichissable {
33
 
32
 
-
 
33
	private Mediateur mediateur = null;
Line 34... Line 34...
34
	private Mediateur mediateur = null;
34
	private Constantes i18nC = null;
35
	private Constantes i18nC = null;
35
	private ErrorMessages i18nM = null;
36
 
-
 
37
	private String identificationInfoTpl = null;
-
 
38
	private String titreTpl = null;
-
 
Line 39... Line 36...
39
	private String generalMessageTpl = null;
36
 
40
	private String deconnexionMessageTpl = null;
37
	private String identificationInfoTpl = null;
41
	private String lienExterneMessageTpl = null;
38
	private String titreTpl = null;
42
	
39
	
Line 49... Line 46...
49
	private SplitButton applisBouton = null;
46
	private SplitButton applisBouton = null;
Line 50... Line 47...
50
	
47
	
51
	public EnteteVue(Mediateur mediateurCourant) {
48
	public EnteteVue(Mediateur mediateurCourant) {
52
		mediateur = mediateurCourant;
49
		mediateur = mediateurCourant;
-
 
50
		i18nC = Mediateur.i18nC;
Line 53... Line 51...
53
		i18nC = Mediateur.i18nC;
51
		i18nM = Mediateur.i18nM;
54
		
52
		
Line 55... Line 53...
55
		setId(ComposantId.PANNEAU_ENTETE);
53
		setId(ComposantId.PANNEAU_ENTETE);
Line 76... Line 74...
76
	}
74
	}
Line 77... Line 75...
77
	
75
	
78
	private void initialiserSquelettes() {
76
	private void initialiserSquelettes() {
79
		identificationInfoTpl = "<div id='"+ComposantId.DIV_IDENTIFICATION+"'>{0}</div>";
77
		identificationInfoTpl = "<div id='"+ComposantId.DIV_IDENTIFICATION+"'>{0}</div>";
80
		titreTpl = "<div id='"+ComposantId.DIV_TITRE+"'>{0}</div>";
-
 
81
		generalMessageTpl = "Chargement de la fenêtre «{0}» en cours...";
-
 
82
		deconnexionMessageTpl = "Déconnexion de l'utilisateur «{0}» en cours...";
-
 
83
		lienExterneMessageTpl = "Ouverture du lien externe «{0}» en cours...";
78
		titreTpl = "<div id='"+ComposantId.DIV_TITRE+"'>{0}</div>";
Line 84... Line 79...
84
	}
79
	}
85
	
80
	
86
	private HtmlContainer getTitre() {
81
	private HtmlContainer getTitre() {
Line 90... Line 85...
90
	}
85
	}
Line 91... Line 86...
91
	
86
	
92
	private HtmlContainer getIdentification() {
87
	private HtmlContainer getIdentification() {
Line 93... Line 88...
93
		HtmlContainer conteneurHtml = new HtmlContainer();
88
		HtmlContainer conteneurHtml = new HtmlContainer();
94
		
89
		
95
		conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
90
		conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add(i18nC.modeAnonyme())));
Line 96... Line 91...
96
		return conteneurHtml;
91
		return conteneurHtml;
97
	}
92
	}
Line 107... Line 102...
107
						|| id.equals(ComposantId.BTN_FEEDBACK)
102
						|| id.equals(ComposantId.BTN_FEEDBACK)
108
						|| id.equals(ComposantId.BTN_APPLIS)) {
103
						|| id.equals(ComposantId.BTN_APPLIS)) {
109
					btn.showMenu();
104
					btn.showMenu();
110
				} else if (id.equals(ComposantId.BTN_CONNEXION)) {
105
				} else if (id.equals(ComposantId.BTN_CONNEXION)) {
111
					mediateur.ouvrirIdentification();
106
					mediateur.ouvrirIdentification();
112
					message = Format.substitute(generalMessageTpl, btn.getText());
107
					message = i18nM.chargementFenetre(btn.getText());
113
				} else if (id.equals(ComposantId.BTN_DECONNEXION)) {
108
				} else if (id.equals(ComposantId.BTN_DECONNEXION)) {
114
					mediateur.deconnecterUtilisateur();
109
					mediateur.deconnecterUtilisateur();
115
					Utilisateur utilisateurCourant = mediateur.getUtilisateur();
110
					Utilisateur utilisateurCourant = mediateur.getUtilisateur();
116
					message = Format.substitute(deconnexionMessageTpl, utilisateurCourant.getNomComplet());
111
					message = i18nM.deconnexion(utilisateurCourant.getNomComplet());
117
				} else if (id.equals(ComposantId.BTN_APPLIS)) {
112
				} else if (id.equals(ComposantId.BTN_APPLIS)) {
118
					btn.getMenu().show(btn);
113
					btn.getMenu().show(btn);
119
				}
114
				}
Line 120... Line 115...
120
				
115
				
Line 135... Line 130...
135
	private SplitButton getBoutonAide() {
130
	private SplitButton getBoutonAide() {
136
		MenuItem menuDoc = new MenuItem(i18nC.doc());
131
		MenuItem menuDoc = new MenuItem(i18nC.doc());
137
		menuDoc.addSelectionListener(new SelectionListener<MenuEvent>() {  
132
		menuDoc.addSelectionListener(new SelectionListener<MenuEvent>() {  
138
			@Override
133
			@Override
139
			public void componentSelected(MenuEvent mEvent) {  
134
			public void componentSelected(MenuEvent mEvent) {  
140
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
135
				mediateur.ouvrirAide();
141
			}  
136
			}  
142
		});
137
		});
143
		menuDoc.setId(ComposantId.MENU_DOC);
138
		menuDoc.setId(ComposantId.MENU_DOC);
144
		menuDoc.setIcon(Images.ICONES.aide());
139
		menuDoc.setIcon(Images.ICONES.aide());
Line 145... Line 140...
145
		
140
		
146
		
141
		
147
		MenuItem menuApropos = new MenuItem(i18nC.apropos());
142
		MenuItem menuApropos = new MenuItem(i18nC.apropos());
148
		menuApropos.addSelectionListener(new SelectionListener<MenuEvent>() {  
143
		menuApropos.addSelectionListener(new SelectionListener<MenuEvent>() {  
149
			@Override
144
			@Override
150
			public void componentSelected(MenuEvent mEvent) {  
145
			public void componentSelected(MenuEvent mEvent) {  
151
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
146
				mediateur.ouvrirParametres();
152
			}  
147
			}  
153
		});
148
		});
Line 171... Line 166...
171
		menuBogue.addSelectionListener(new SelectionListener<MenuEvent>() {  
166
		menuBogue.addSelectionListener(new SelectionListener<MenuEvent>() {  
172
			@Override
167
			@Override
173
			public void componentSelected(MenuEvent mEvent) {  
168
			public void componentSelected(MenuEvent mEvent) {  
174
				Menu me = (Menu) mEvent.getComponent();
169
				Menu me = (Menu) mEvent.getComponent();
175
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BOGUE);
170
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BOGUE);
176
				Info.display(Mediateur.i18nC.chargement(), lienExterneMessageTpl, mi.getText());
171
				Info.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getText()));
177
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirUrlExterne(ComposantId.MENU_BOGUE);
172
				mediateur.ouvrirUrlExterne(ComposantId.MENU_BOGUE);
178
			}  
173
			}  
179
		});
174
		});
180
		menuBogue.setId(ComposantId.MENU_BOGUE);
175
		menuBogue.setId(ComposantId.MENU_BOGUE);
181
		menuBogue.setIcon(Images.ICONES.bogue());
176
		menuBogue.setIcon(Images.ICONES.bogue());
Line 184... Line 179...
184
		menuCommentaire.addSelectionListener(new SelectionListener<MenuEvent>() {  
179
		menuCommentaire.addSelectionListener(new SelectionListener<MenuEvent>() {  
185
			@Override
180
			@Override
186
			public void componentSelected(MenuEvent mEvent) {  
181
			public void componentSelected(MenuEvent mEvent) {  
187
				Menu me = (Menu) mEvent.getComponent();
182
				Menu me = (Menu) mEvent.getComponent();
188
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_COMMENTAIRE);
183
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_COMMENTAIRE);
189
				Info.display(Mediateur.i18nC.chargement(), lienExterneMessageTpl, mi.getText());
184
				Info.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getText()));
190
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirUrlExterne(ComposantId.MENU_COMMENTAIRE);
185
				mediateur.ouvrirUrlExterne(ComposantId.MENU_COMMENTAIRE);
191
			}  
186
			}  
192
		});
187
		});
193
		menuCommentaire.setId(ComposantId.MENU_COMMENTAIRE);
188
		menuCommentaire.setId(ComposantId.MENU_COMMENTAIRE);
194
		menuCommentaire.setIcon(Images.ICONES.commentaire());
189
		menuCommentaire.setIcon(Images.ICONES.commentaire());
Line 204... Line 199...
204
		boutonAvecMenus.setIcon(Images.ICONES.flecheDedansDehors());
199
		boutonAvecMenus.setIcon(Images.ICONES.flecheDedansDehors());
205
		return boutonAvecMenus;
200
		return boutonAvecMenus;
206
	}
201
	}
Line 207... Line 202...
207
	
202
	
208
	private SplitButton getBoutonApplications() {
203
	private SplitButton getBoutonApplications() {
209
		MenuItem menuCel = new MenuItem("Carnet en ligne");
204
		MenuItem menuCel = new MenuItem(i18nC.cel());
210
		menuCel.addSelectionListener(new SelectionListener<MenuEvent>() {  
205
		menuCel.addSelectionListener(new SelectionListener<MenuEvent>() {  
211
			@Override
206
			@Override
212
			public void componentSelected(MenuEvent mEvent) {  
207
			public void componentSelected(MenuEvent mEvent) {  
213
				Menu me = (Menu) mEvent.getComponent();
208
				Menu me = (Menu) mEvent.getComponent();
214
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
209
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
215
				Info.display(Mediateur.i18nC.chargement(), "Ouverture de l'application «{0}» en cours...", mi.getText());
210
				Info.display(i18nC.chargement(), i18nM.ouvertureAppliExterne(mi.getText()));
216
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirUrlExterne(ComposantId.MENU_CEL);
211
				mediateur.ouvrirUrlExterne(ComposantId.MENU_CEL);
217
			}  
212
			}  
218
		});
213
		});
219
		menuCel.setId(ComposantId.MENU_CEL);
214
		menuCel.setId(ComposantId.MENU_CEL);
Line 220... Line 215...
220
		menuCel.setIcon(Images.ICONES.images());
215
		menuCel.setIcon(Images.ICONES.images());
221
		
216
		
222
		MenuItem menuBel = new MenuItem("Biblio en ligne");
217
		MenuItem menuBel = new MenuItem(i18nC.bel());
223
		menuBel.addSelectionListener(new SelectionListener<MenuEvent>() {  
218
		menuBel.addSelectionListener(new SelectionListener<MenuEvent>() {  
224
			@Override
219
			@Override
225
			public void componentSelected(MenuEvent mEvent) {  
220
			public void componentSelected(MenuEvent mEvent) {  
226
				Menu me = (Menu) mEvent.getComponent();
221
				Menu me = (Menu) mEvent.getComponent();
227
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
222
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
228
				Info.display(Mediateur.i18nC.chargement(), "Ouverture de l'application «{0}» en cours...", mi.getText());
223
				Info.display(i18nC.chargement(), i18nM.ouvertureAppliExterne(mi.getText()));
229
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirUrlExterne(ComposantId.MENU_BEL);
224
				mediateur.ouvrirUrlExterne(ComposantId.MENU_BEL);
230
			}  
225
			}  
231
		});
226
		});
Line 232... Line 227...
232
		menuBel.setId(ComposantId.MENU_BEL);
227
		menuBel.setId(ComposantId.MENU_BEL);
233
		menuBel.setIcon(Images.ICONES.livreOuvert());
228
		menuBel.setIcon(Images.ICONES.livreOuvert());
234
		
229
		
Line 235... Line 230...
235
		Menu menu = new Menu();
230
		Menu menu = new Menu();
236
		menu.add(menuCel);
231
		menu.add(menuCel);
237
		menu.add(menuBel);
232
		menu.add(menuBel);
238
		
233
		
239
		SplitButton boutonAvecMenus = new SplitButton("Changez d'application...");
234
		SplitButton boutonAvecMenus = new SplitButton(i18nC.applicationExterne());
Line 247... Line 242...
247
	
242
	
248
	public void rafraichir(Object nouvellesDonnees) {
243
	public void rafraichir(Object nouvellesDonnees) {
249
		if (nouvellesDonnees instanceof Information) {
244
		if (nouvellesDonnees instanceof Information) {
250
			Information info = (Information) nouvellesDonnees;
245
			Information info = (Information) nouvellesDonnees;
251
			if (info.getType().equals("maj_utilisateur")) {
246
			if (info.getType().equals("maj_utilisateur")) {
252
				Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT));
247
				Utilisateur utilisateur = mediateur.getUtilisateur();
253
				if (utilisateur.isIdentifie()) {
248
				if (utilisateur.isIdentifie()) {
254
					if (utilisateur.existeDansAnnuaire())	{
249
					if (utilisateur.existeDansAnnuaire())	{
255
						utilisateur.majUtilisateurInfoAnnuaire();
250
						utilisateur.majUtilisateurInfoAnnuaire();
256
					}
251
					}
257
					conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet())));
252
					conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add(i18nC.bienvenue()+utilisateur.getNomComplet())));
258
					identificationBouton.setText("Deconnexion");
253
					identificationBouton.setText(i18nC.deconnexion());
259
					identificationBouton.setIcon(Images.ICONES.deconnexion());
254
					identificationBouton.setIcon(Images.ICONES.deconnexion());
260
					identificationBouton.setId(ComposantId.BTN_DECONNEXION);
255
					identificationBouton.setId(ComposantId.BTN_DECONNEXION);
261
				} else {
256
				} else {
262
					conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
257
					conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add(i18nC.modeAnonyme())));
263
					identificationBouton.setText("Identifiez vous...");
258
					identificationBouton.setText(i18nC.identification());
264
					identificationBouton.setIcon(Images.ICONES.connexion());
259
					identificationBouton.setIcon(Images.ICONES.connexion());
265
					identificationBouton.setId(ComposantId.BTN_CONNEXION);
260
					identificationBouton.setId(ComposantId.BTN_CONNEXION);
266
				}
261
				}
267
			}
-
 
268
		} else if (nouvellesDonnees instanceof Utilisateur ) {
-
 
269
			
262
			}
270
		}	else 	{	
263
		} else  {	
271
			GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe "+getClass(), null);
264
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
272
		}
265
		}
273
		layout();
266
		layout();
274
	}
267
	}
275
}
268
}