Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 61 Rev 64
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.ComposantId;
3
import org.tela_botanica.client.ComposantId;
4
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.RegistreId;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.Utilisateur;
7
import org.tela_botanica.client.modeles.Utilisateur;
8
 
8
 
9
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.Registry;
10
import com.extjs.gxt.ui.client.Style;
10
import com.extjs.gxt.ui.client.Style;
11
import com.extjs.gxt.ui.client.Style.Orientation;
11
import com.extjs.gxt.ui.client.Style.Orientation;
12
import com.extjs.gxt.ui.client.event.ButtonEvent;
12
import com.extjs.gxt.ui.client.event.ButtonEvent;
13
import com.extjs.gxt.ui.client.event.ComponentEvent;
13
import com.extjs.gxt.ui.client.event.ComponentEvent;
14
import com.extjs.gxt.ui.client.event.MenuEvent;
14
import com.extjs.gxt.ui.client.event.MenuEvent;
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.widget.HtmlContainer;
16
import com.extjs.gxt.ui.client.widget.HtmlContainer;
17
import com.extjs.gxt.ui.client.widget.Info;
17
import com.extjs.gxt.ui.client.widget.Info;
18
import com.extjs.gxt.ui.client.widget.LayoutContainer;
18
import com.extjs.gxt.ui.client.widget.LayoutContainer;
19
import com.extjs.gxt.ui.client.widget.button.Button;
19
import com.extjs.gxt.ui.client.widget.button.Button;
20
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
20
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
21
import com.extjs.gxt.ui.client.widget.button.SplitButton;
21
import com.extjs.gxt.ui.client.widget.button.SplitButton;
22
import com.extjs.gxt.ui.client.widget.layout.RowData;
22
import com.extjs.gxt.ui.client.widget.layout.RowData;
23
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
23
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
24
import com.extjs.gxt.ui.client.widget.menu.Item;
24
import com.extjs.gxt.ui.client.widget.menu.Item;
25
import com.extjs.gxt.ui.client.widget.menu.Menu;
25
import com.extjs.gxt.ui.client.widget.menu.Menu;
26
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
26
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
27
import com.google.gwt.user.client.Window;
27
import com.google.gwt.user.client.Window;
28
 
28
 
29
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
29
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
30
	
30
	
31
	private ButtonBar barreBoutons = null;
31
	private ButtonBar barreBoutons = null;
32
	private Button identificationBouton = null;
32
	private Button identificationBouton = null;
33
	private Button deconnexionBouton = null;
-
 
34
	
33
	
35
	public EntetePanneauVue() {
34
	public EntetePanneauVue() {
36
		setLayout(new RowLayout(Orientation.HORIZONTAL));
35
		setLayout(new RowLayout(Orientation.HORIZONTAL));
37
		setId("coel-entete");
36
		setId("coel-entete");
38
		
37
		
39
		// TODO : ajouter la gestion de l'identification
38
		// TODO : ajouter la gestion de l'identification
40
		HtmlContainer html = new HtmlContainer();
39
		HtmlContainer html = new HtmlContainer();
41
		StringBuffer sb = new StringBuffer();
40
		StringBuffer sb = new StringBuffer();
42
		sb.append("	<div id='coel-titre'>Collections en Ligne Demo</div>");
41
		sb.append("	<div id='coel-titre'>Collections en Ligne Demo</div>");
43
		html.setHtml(sb.toString());
42
		html.setHtml(sb.toString());
44
		html.setEnableState(false);
43
		html.setEnableState(false);
45
		
44
		
46
		HtmlContainer htmlIdentification = new HtmlContainer();
45
		HtmlContainer htmlIdentification = new HtmlContainer();
47
		StringBuffer sb2 = new StringBuffer();
46
		StringBuffer sb2 = new StringBuffer();
48
		sb2.append("	<div id='coel-identification'></div>");
47
		sb2.append("	<div id='coel-identification'></div>");
49
		html.setHtml(sb.toString());
48
		html.setHtml(sb.toString());
50
		html.setEnableState(false);
49
		html.setEnableState(false);
51
		
50
		
52
		// Création des écouteurs
51
		// Création des écouteurs
53
		SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {  
52
		SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {  
54
			public void componentSelected(ComponentEvent ce) {  
53
			public void componentSelected(ComponentEvent ce) {  
55
				Button btn = (Button) ce.component;
54
				Button btn = (Button) ce.component;
56
				Info.display(btn.getText()+" - "+btn.getId(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
55
				Info.display(btn.getText()+" - "+btn.getId(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
57
				if (btn.getId().equals(ComposantId.BTN_AIDE)) {
56
				if (btn.getId().equals(ComposantId.BTN_AIDE)) {
58
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
57
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
59
				} else if (btn.getId().equals(ComposantId.BTN_PARAMETRES)) {
58
				} else if (btn.getId().equals(ComposantId.BTN_PARAMETRES)) {
60
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
59
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
61
				} else if (btn.getId().equals(ComposantId.BTN_IDENTIFICATION)) {
60
				} else if (btn.getId().equals(ComposantId.BTN_IDENTIFICATION)) {
62
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirIdentification();
61
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirIdentification();
63
				} else if (btn.getId().equals(ComposantId.BTN_APPLIS)) {
62
				} else if (btn.getId().equals(ComposantId.BTN_APPLIS)) {
64
					btn.getMenu().show(btn);
63
					btn.getMenu().show(btn);
65
				}
64
				}
66
			}  
65
			}  
67
		};
66
		};
68
		
67
		
69
		barreBoutons = new ButtonBar();
68
		barreBoutons = new ButtonBar();
70
		barreBoutons.setButtonAlign(Style.HorizontalAlignment.RIGHT);
69
		barreBoutons.setButtonAlign(Style.HorizontalAlignment.RIGHT);
71
		Button parametresBouton = new Button("Paramêtres", boutonEcouteur);
70
		Button parametresBouton = new Button("Paramêtres", boutonEcouteur);
72
		parametresBouton.setId(ComposantId.BTN_PARAMETRES);
71
		parametresBouton.setId(ComposantId.BTN_PARAMETRES);
73
		barreBoutons.add(parametresBouton);
72
		barreBoutons.add(parametresBouton);
74
		Button aideBouton = new Button("Aide", boutonEcouteur);
73
		Button aideBouton = new Button("Aide", boutonEcouteur);
75
		aideBouton.setId(ComposantId.BTN_AIDE);
74
		aideBouton.setId(ComposantId.BTN_AIDE);
76
		barreBoutons.add(aideBouton);
75
		barreBoutons.add(aideBouton);
77
		identificationBouton = new Button("Identifiez vous...", boutonEcouteur);
76
		identificationBouton = new Button("Identifiez vous...", boutonEcouteur);
78
		identificationBouton.setId(ComposantId.BTN_IDENTIFICATION);
77
		identificationBouton.setId(ComposantId.BTN_IDENTIFICATION);
79
		barreBoutons.add(identificationBouton);
78
		barreBoutons.add(identificationBouton);
80
		deconnexionBouton = new Button("Deconnexion", boutonEcouteur);
-
 
81
		deconnexionBouton.setId(ComposantId.BTN_DECONNEXION);
-
 
82
		deconnexionBouton.hide();
-
 
83
		barreBoutons.add(deconnexionBouton);
-
 
84
		
79
		
85
		SplitButton applisBouton = new SplitButton("Changez d'application...");
80
		SplitButton applisBouton = new SplitButton("Changez d'application...");
86
		applisBouton.setId(ComposantId.BTN_APPLIS);
81
		applisBouton.setId(ComposantId.BTN_APPLIS);
87
		applisBouton.addSelectionListener(boutonEcouteur);
82
		applisBouton.addSelectionListener(boutonEcouteur);
88
		
83
		
89
		Menu menu = new Menu();
84
		Menu menu = new Menu();
90
		MenuItem menuCel = new MenuItem("Carnet en ligne", new SelectionListener<ComponentEvent>() {  
85
		MenuItem menuCel = new MenuItem("Carnet en ligne", new SelectionListener<ComponentEvent>() {  
91
			@Override
86
			@Override
92
			public void componentSelected(ComponentEvent ce) {  
87
			public void componentSelected(ComponentEvent ce) {  
93
				Menu me = (Menu) ce.component;
88
				Menu me = (Menu) ce.component;
94
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
89
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
95
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
90
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
96
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_CEL);
91
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_CEL);
97
			}  
92
			}  
98
		});
93
		});
99
		menuCel.setId(ComposantId.MENU_CEL);
94
		menuCel.setId(ComposantId.MENU_CEL);
100
		menu.add(menuCel);
95
		menu.add(menuCel);
101
		MenuItem menuBel = new MenuItem("Biblio en ligne",  new SelectionListener<ComponentEvent>() {  
96
		MenuItem menuBel = new MenuItem("Biblio en ligne",  new SelectionListener<ComponentEvent>() {  
102
			@Override
97
			@Override
103
			public void componentSelected(ComponentEvent ce) {  
98
			public void componentSelected(ComponentEvent ce) {  
104
				Menu me = (Menu) ce.component;
99
				Menu me = (Menu) ce.component;
105
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
100
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
106
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
101
				Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
107
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_BEL);
102
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_BEL);
108
			}  
103
			}  
109
		});
104
		});
110
		menuBel.setId(ComposantId.MENU_BEL);
105
		menuBel.setId(ComposantId.MENU_BEL);
111
		menu.add(menuBel);
106
		menu.add(menuBel);
112
		
107
		
113
		applisBouton.setMenu(menu);  
108
		applisBouton.setMenu(menu);  
114
		barreBoutons.add(applisBouton);
109
		barreBoutons.add(applisBouton);
115
		
110
		
116
		add(html, new RowData(.3, 1));
111
		add(html, new RowData(.3, 1));
117
		add(htmlIdentification, new RowData(.2, 50));
112
		add(htmlIdentification, new RowData(.2, 50));
118
		add(barreBoutons, new RowData(.5, 50)); 
113
		add(barreBoutons, new RowData(.5, 50)); 
119
	}
114
	}
120
 
115
 
121
	public void rafraichir(Object nouvelleDonnees) {
116
	public void rafraichir(Object nouvelleDonnees) {
122
		if (nouvelleDonnees instanceof Utilisateur) {
117
		if (nouvelleDonnees instanceof Utilisateur) {
-
 
118
			((Utilisateur) Registry.get(RegistreId.UTILISATEUR)).setIdentifie(false);
123
			identificationBouton.hide();
119
			identificationBouton.setText("Deconnexion");
124
			deconnexionBouton.show();
120
			identificationBouton.setId(ComposantId.BTN_DECONNEXION);
125
		}
121
		}
126
		
122
		
127
	}
123
	}
128
}
124
}