Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 307 Rev 357
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.ComposantClass;
3
import org.tela_botanica.client.ComposantClass;
4
import org.tela_botanica.client.ComposantId;
4
import org.tela_botanica.client.ComposantId;
5
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.RegistreId;
6
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.modeles.Information;
8
import org.tela_botanica.client.modeles.Information;
9
import org.tela_botanica.client.modeles.Utilisateur;
9
import org.tela_botanica.client.modeles.Utilisateur;
10
 
10
 
11
import com.extjs.gxt.ui.client.Registry;
11
import com.extjs.gxt.ui.client.Registry;
12
import com.extjs.gxt.ui.client.Style;
12
import com.extjs.gxt.ui.client.Style;
13
import com.extjs.gxt.ui.client.Style.Orientation;
13
import com.extjs.gxt.ui.client.Style.Orientation;
14
import com.extjs.gxt.ui.client.event.ComponentEvent;
14
import com.extjs.gxt.ui.client.event.ComponentEvent;
15
import com.extjs.gxt.ui.client.event.SelectionListener;
15
import com.extjs.gxt.ui.client.event.SelectionListener;
16
import com.extjs.gxt.ui.client.util.Format;
16
import com.extjs.gxt.ui.client.util.Format;
17
import com.extjs.gxt.ui.client.util.Params;
17
import com.extjs.gxt.ui.client.util.Params;
18
import com.extjs.gxt.ui.client.widget.HtmlContainer;
18
import com.extjs.gxt.ui.client.widget.HtmlContainer;
19
import com.extjs.gxt.ui.client.widget.Info;
19
import com.extjs.gxt.ui.client.widget.Info;
20
import com.extjs.gxt.ui.client.widget.LayoutContainer;
20
import com.extjs.gxt.ui.client.widget.LayoutContainer;
21
import com.extjs.gxt.ui.client.widget.button.Button;
21
import com.extjs.gxt.ui.client.widget.button.Button;
22
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
22
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
23
import com.extjs.gxt.ui.client.widget.button.SplitButton;
23
import com.extjs.gxt.ui.client.widget.button.SplitButton;
24
import com.extjs.gxt.ui.client.widget.layout.RowData;
24
import com.extjs.gxt.ui.client.widget.layout.RowData;
25
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
25
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
26
import com.extjs.gxt.ui.client.widget.menu.Menu;
26
import com.extjs.gxt.ui.client.widget.menu.Menu;
27
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
27
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
28
import com.google.gwt.core.client.GWT;
28
import com.google.gwt.core.client.GWT;
29
 
29
 
30
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
30
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
31
	
31
	
32
	private ButtonBar barreBoutons = null;
32
	private ButtonBar barreBoutons = null;
33
	private Button identificationBouton = null;
33
	private Button identificationBouton = null;
34
	private String identificationInfoTpl = null;
34
	private String identificationInfoTpl = null;
35
	private HtmlContainer identificationInfoHtml = null;
35
	private HtmlContainer identificationInfoHtml = null;
36
	
36
	
37
	public EntetePanneauVue() {
37
	public EntetePanneauVue() {
38
		setLayout(new RowLayout(Orientation.HORIZONTAL));
38
		setLayout(new RowLayout(Orientation.HORIZONTAL));
39
		setId(ComposantId.PANNEAU_ENTETE);
39
		setId(ComposantId.PANNEAU_ENTETE);
40
		
40
		
41
		// TODO : ajouter la gestion de l'identification
41
		// TODO : ajouter la gestion de l'identification
42
		HtmlContainer html = new HtmlContainer();
42
		HtmlContainer html = new HtmlContainer();
43
		StringBuffer sb = new StringBuffer();
43
		StringBuffer sb = new StringBuffer();
44
		sb.append("	<div id='"+ComposantId.DIV_TITRE+"'>Collections en Ligne Demo</div>");
44
		sb.append("	<div id='"+ComposantId.DIV_TITRE+"'>Collections en Ligne Demo</div>");
45
		html.setHtml(sb.toString());
45
		html.setHtml(sb.toString());
46
		html.setEnableState(false);
46
		html.setEnableState(false);
47
		
47
		
48
		identificationInfoHtml = new HtmlContainer();
48
		identificationInfoHtml = new HtmlContainer();
49
		identificationInfoTpl = "<div id='"+ComposantId.DIV_IDENTIFICATION+"'>{0}</div>";
49
		identificationInfoTpl = "<div id='"+ComposantId.DIV_IDENTIFICATION+"'>{0}</div>";
50
		identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
50
		identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
51
		identificationInfoHtml.setEnableState(false);
51
		identificationInfoHtml.setEnableState(false);
52
		
52
		
53
		// Création des écouteurs
53
		// Création des écouteurs
54
		SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {  
54
		SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {  
55
			public void componentSelected(ComponentEvent ce) {  
55
			public void componentSelected(ComponentEvent ce) {  
56
				Button btn = (Button) ce.component;
56
				Button btn = (Button) ce.component;
57
				Info.display(btn.getText()+" - "+btn.getId(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
57
				Info.display(btn.getText()+" - "+btn.getId(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
58
				if (btn.getId().equals(ComposantId.BTN_AIDE)) {
58
				if (btn.getId().equals(ComposantId.BTN_AIDE)) {
59
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
59
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
60
				} else if (btn.getId().equals(ComposantId.BTN_PARAMETRES)) {
60
				} else if (btn.getId().equals(ComposantId.BTN_PARAMETRES)) {
61
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
61
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
62
				} else if (btn.getId().equals(ComposantId.BTN_CONNEXION)) {
62
				} else if (btn.getId().equals(ComposantId.BTN_CONNEXION)) {
63
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirIdentification();
63
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirIdentification();
64
				} else if (btn.getId().equals(ComposantId.BTN_DECONNEXION)) {
64
				} else if (btn.getId().equals(ComposantId.BTN_DECONNEXION)) {
65
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).deconnecterUtilisateur();
65
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).deconnecterUtilisateur();
66
				} else if (btn.getId().equals(ComposantId.BTN_APPLIS)) {
66
				} else if (btn.getId().equals(ComposantId.BTN_APPLIS)) {
67
					btn.getMenu().show(btn);
67
					btn.getMenu().show(btn);
68
				}
68
				}
69
			}  
69
			}  
70
		};
70
		};
71
		
71
		
72
		barreBoutons = new ButtonBar();
72
		barreBoutons = new ButtonBar();
73
		barreBoutons.setButtonAlign(Style.HorizontalAlignment.RIGHT);
73
		barreBoutons.setButtonAlign(Style.HorizontalAlignment.RIGHT);
-
 
74
		
-
 
75
		identificationBouton = new Button("Identifiez vous...", boutonEcouteur);
-
 
76
		identificationBouton.setId(ComposantId.BTN_CONNEXION);
-
 
77
		barreBoutons.add(identificationBouton);
-
 
78
		
74
		Button parametresBouton = new Button("Paramêtres", boutonEcouteur);
79
		Button parametresBouton = new Button("Paramêtres", boutonEcouteur);
75
		parametresBouton.setId(ComposantId.BTN_PARAMETRES);
80
		parametresBouton.setId(ComposantId.BTN_PARAMETRES);
76
		parametresBouton.setIconStyle(ComposantClass.ICONE_PARAMETRE);
81
		parametresBouton.setIconStyle(ComposantClass.ICONE_PARAMETRE);
77
		barreBoutons.add(parametresBouton);
82
		barreBoutons.add(parametresBouton);
-
 
83
		
78
		Button aideBouton = new Button("Aide", boutonEcouteur);
84
		Button aideBouton = new Button("Aide", boutonEcouteur);
79
		aideBouton.setId(ComposantId.BTN_AIDE);
85
		aideBouton.setId(ComposantId.BTN_AIDE);
80
		aideBouton.setIconStyle(ComposantClass.ICONE_AIDE);
86
		aideBouton.setIconStyle(ComposantClass.ICONE_AIDE);
81
		barreBoutons.add(aideBouton);
87
		barreBoutons.add(aideBouton);
82
		identificationBouton = new Button("Identifiez vous...", boutonEcouteur);
-
 
83
		identificationBouton.setId(ComposantId.BTN_CONNEXION);
-
 
84
		barreBoutons.add(identificationBouton);
-
 
85
		
88
				
86
		SplitButton applisBouton = new SplitButton("Changez d'application...");
89
		SplitButton applisBouton = new SplitButton("Changez d'application...");
87
		applisBouton.setId(ComposantId.BTN_APPLIS);
90
		applisBouton.setId(ComposantId.BTN_APPLIS);
88
		applisBouton.addSelectionListener(boutonEcouteur);
91
		applisBouton.addSelectionListener(boutonEcouteur);
89
		
92
		
90
		Menu menu = new Menu();
93
		Menu menu = new Menu();
91
		MenuItem menuCel = new MenuItem("Carnet en ligne", new SelectionListener<ComponentEvent>() {  
94
		MenuItem menuCel = new MenuItem("Carnet en ligne", new SelectionListener<ComponentEvent>() {  
92
			@Override
95
			@Override
93
			public void componentSelected(ComponentEvent ce) {  
96
			public void componentSelected(ComponentEvent ce) {  
94
				Menu me = (Menu) ce.component;
97
				Menu me = (Menu) ce.component;
95
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
98
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
96
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
99
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
97
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_CEL);
100
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_CEL);
98
			}  
101
			}  
99
		});
102
		});
100
		menuCel.setId(ComposantId.MENU_CEL);
103
		menuCel.setId(ComposantId.MENU_CEL);
101
		menuCel.setIconStyle(ComposantClass.ICONE_CEL);
104
		menuCel.setIconStyle(ComposantClass.ICONE_CEL);
102
		menu.add(menuCel);
105
		menu.add(menuCel);
103
		MenuItem menuBel = new MenuItem("Biblio en ligne",  new SelectionListener<ComponentEvent>() {  
106
		MenuItem menuBel = new MenuItem("Biblio en ligne",  new SelectionListener<ComponentEvent>() {  
104
			@Override
107
			@Override
105
			public void componentSelected(ComponentEvent ce) {  
108
			public void componentSelected(ComponentEvent ce) {  
106
				Menu me = (Menu) ce.component;
109
				Menu me = (Menu) ce.component;
107
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
110
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
108
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
111
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
109
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_BEL);
112
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_BEL);
110
			}  
113
			}  
111
		});
114
		});
112
		menuBel.setId(ComposantId.MENU_BEL);
115
		menuBel.setId(ComposantId.MENU_BEL);
113
		menuBel.setIconStyle(ComposantClass.ICONE_BEL);
116
		menuBel.setIconStyle(ComposantClass.ICONE_BEL);
114
		menu.add(menuBel);
117
		menu.add(menuBel);
115
		
118
		
116
		applisBouton.setMenu(menu);
119
		applisBouton.setMenu(menu);
117
		applisBouton.setIconStyle(ComposantClass.ICONE_BASCULE);
120
		applisBouton.setIconStyle(ComposantClass.ICONE_BASCULE);
118
		barreBoutons.add(applisBouton);
121
		barreBoutons.add(applisBouton);
119
		
122
		
120
		add(html, new RowData(.3, 1));
123
		add(html, new RowData(.3, 1));
121
		add(identificationInfoHtml, new RowData(.3, 50));
124
		add(identificationInfoHtml, new RowData(.3, 1));
122
		add(barreBoutons, new RowData(.4, 50)); 
125
		add(barreBoutons, new RowData(.4, 1)); 
123
	}
126
	}
124
 
127
 
125
	public void rafraichir(Object nouvelleDonnees) {
128
	public void rafraichir(Object nouvelleDonnees) {
126
		if (nouvelleDonnees instanceof Information) {
129
		if (nouvelleDonnees instanceof Information) {
127
			Information info = (Information) nouvelleDonnees;
130
			Information info = (Information) nouvelleDonnees;
128
			if (info.getType().equals("maj_utilisateur")) {
131
			if (info.getType().equals("maj_utilisateur")) {
129
				Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT));
132
				Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT));
130
				if (utilisateur.isIdentifie() == true) {
133
				if (utilisateur.isIdentifie() == true) {
131
					identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet())));
134
					identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet())));
132
					identificationBouton.setText("Deconnexion");
135
					identificationBouton.setText("Deconnexion");
133
					identificationBouton.setIconStyle(ComposantClass.ICONE_DECONNEXION);
136
					identificationBouton.setIconStyle(ComposantClass.ICONE_DECONNEXION);
134
					identificationBouton.setId(ComposantId.BTN_DECONNEXION);
137
					identificationBouton.setId(ComposantId.BTN_DECONNEXION);
135
				} else {
138
				} else {
136
					identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
139
					identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
137
					identificationBouton.setText("Identifiez vous...");
140
					identificationBouton.setText("Identifiez vous...");
138
					identificationBouton.setIconStyle(ComposantClass.ICONE_CONNEXION);
141
					identificationBouton.setIconStyle(ComposantClass.ICONE_CONNEXION);
139
					identificationBouton.setId(ComposantId.BTN_CONNEXION);
142
					identificationBouton.setId(ComposantId.BTN_CONNEXION);
140
				}
143
				}
141
			}
144
			}
142
		} else {
145
		} else {
143
			GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe EntetePanneauVue", null);
146
			GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe EntetePanneauVue", null);
144
		}
147
		}
145
		layout();
148
		layout();
146
	}
149
	}
147
}
150
}