Subversion Repositories eFlore/Applications.coel

Rev

Rev 1680 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1680 Rev 1764
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
 
3
 
4
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.i18n.Constantes;
5
import org.tela_botanica.client.i18n.Constantes;
6
import org.tela_botanica.client.modeles.Menu;
6
import org.tela_botanica.client.modeles.Menu;
7
import org.tela_botanica.client.modeles.MenuApplicationId;
7
import org.tela_botanica.client.modeles.MenuApplicationId;
8
 
8
 
9
import com.extjs.gxt.ui.client.event.Events;
9
import com.extjs.gxt.ui.client.event.Events;
10
import com.extjs.gxt.ui.client.GXT;
10
import com.extjs.gxt.ui.client.GXT;
11
import com.extjs.gxt.ui.client.event.Listener;
11
import com.extjs.gxt.ui.client.event.Listener;
12
import com.extjs.gxt.ui.client.event.TreePanelEvent;
12
import com.extjs.gxt.ui.client.event.TreePanelEvent;
13
import com.extjs.gxt.ui.client.store.TreeStore;
13
import com.extjs.gxt.ui.client.store.TreeStore;
14
import com.extjs.gxt.ui.client.widget.ContentPanel;
14
import com.extjs.gxt.ui.client.widget.ContentPanel;
15
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
15
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
16
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
16
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
17
import com.google.gwt.user.client.Window;
17
import com.google.gwt.user.client.Window;
18
 
18
 
19
public class MenuVue extends ContentPanel {
19
public class MenuVue extends ContentPanel {
20
 
20
 
21
	private Mediateur mediateur = null;
21
	private Mediateur mediateur = null;
22
	private Constantes i18nC = null;
22
	private Constantes i18nC = null;
23
	
23
	
24
	private TreePanel<Menu> arbreMenus;
24
	private TreePanel<Menu> arbreMenus;
25
	private TreeStore<Menu> menuStore;
25
	private TreeStore<Menu> menuStore;
26
	
26
	
27
	public MenuVue(Mediateur mediateurCourrant) {
27
	public MenuVue(Mediateur mediateurCourrant) {
28
		mediateur = mediateurCourrant;
28
		mediateur = mediateurCourrant;
29
		i18nC = Mediateur.i18nC;
29
		i18nC = Mediateur.i18nC;
30
		
30
		
31
		setHeadingHtml(i18nC.titreMenu());
31
		setHeadingHtml(i18nC.titreMenu());
32
		setLayout(new FitLayout());
32
		setLayout(new FitLayout());
33
		setLayoutOnChange(true);
33
		setLayoutOnChange(true);
34
		
34
		
35
		construireMenu();
35
		construireMenu();
36
		afficherMenu();
36
		afficherMenu();
37
	}
37
	}
38
 
38
 
39
	private void construireMenu() {
39
	private void construireMenu() {
40
		menuStore = new TreeStore<Menu>();
40
		menuStore = new TreeStore<Menu>();
41
		
41
		
42
		Menu accueilMenu = new Menu(i18nC.menuAccueil(), MenuApplicationId.ACCUEIL);
42
		Menu accueilMenu = new Menu(i18nC.menuAccueil(), MenuApplicationId.ACCUEIL);
43
		Menu projetMenu = new Menu(i18nC.menuProjet(), MenuApplicationId.PROJET);
-
 
44
	    Menu menuInstitution = new Menu(i18nC.menuStructure(), MenuApplicationId.STRUCTURE);
43
	    Menu menuInstitution = new Menu(i18nC.menuStructure(), MenuApplicationId.STRUCTURE);
45
	    Menu menuCollections = new Menu(i18nC.menuCollection(), MenuApplicationId.COLLECTION);
44
	    Menu menuCollections = new Menu(i18nC.menuCollection(), MenuApplicationId.COLLECTION);
46
	    Menu menuPersonnes = new Menu(i18nC.menuPersonne(), MenuApplicationId.PERSONNE);
45
	    Menu menuPersonnes = new Menu(i18nC.menuPersonne(), MenuApplicationId.PERSONNE);
47
	    Menu menuPublications = new Menu(i18nC.menuPublication(), MenuApplicationId.PUBLICATION);
46
	    Menu menuPublications = new Menu(i18nC.menuPublication(), MenuApplicationId.PUBLICATION);
48
	    Menu menuCommentaires = new Menu(i18nC.menuCommentaire(), MenuApplicationId.COMMENTAIRE);
47
	    Menu menuCommentaires = new Menu(i18nC.menuCommentaire(), MenuApplicationId.COMMENTAIRE);
49
	    
48
	    
50
	    
49
	    
51
	    menuStore.add(accueilMenu, false);
50
	    menuStore.add(accueilMenu, false);
52
	    menuStore.add(accueilMenu, projetMenu, true);
-
 
53
	    menuStore.add(accueilMenu, menuInstitution, true);
51
	    menuStore.add(accueilMenu, menuInstitution, true);
54
	    menuStore.add(accueilMenu, menuCollections, true);
52
	    menuStore.add(accueilMenu, menuCollections, true);
55
	    menuStore.add(accueilMenu, menuPersonnes, true);
53
	    menuStore.add(accueilMenu, menuPersonnes, true);
56
	    menuStore.add(accueilMenu, menuPublications, true);
54
	    menuStore.add(accueilMenu, menuPublications, true);
57
	    menuStore.add(accueilMenu, menuCommentaires, true);
55
	    menuStore.add(accueilMenu, menuCommentaires, true);
58
	    
56
	    
59
	}
57
	}
60
	
58
	
61
	private void afficherMenu() {
59
	private void afficherMenu() {
62
		arbreMenus = new TreePanel<Menu>(menuStore);
60
		arbreMenus = new TreePanel<Menu>(menuStore);
63
		arbreMenus.getStyle().setNodeCloseIcon(null);
61
		arbreMenus.getStyle().setNodeCloseIcon(null);
64
		arbreMenus.getStyle().setNodeOpenIcon(null);
62
		arbreMenus.getStyle().setNodeOpenIcon(null);
65
		arbreMenus.setDisplayProperty("nom");
63
		arbreMenus.setDisplayProperty("nom");
66
		arbreMenus.setHeight("100%");
64
		arbreMenus.setHeight("100%");
67
		arbreMenus.addListener(Events.OnClick, new Listener<TreePanelEvent<Menu>>(){
65
		arbreMenus.addListener(Events.OnClick, new Listener<TreePanelEvent<Menu>>(){
68
			public void handleEvent(TreePanelEvent<Menu> tpe) {
66
			public void handleEvent(TreePanelEvent<Menu> tpe) {
69
				Menu menuCourant = arbreMenus.getSelectionModel().getSelectedItem();
67
				Menu menuCourant = arbreMenus.getSelectionModel().getSelectedItem();
70
				mediateur.clicMenu(menuCourant.getCode());
68
				mediateur.clicMenu(menuCourant.getCode());
71
			}
69
			}
72
		});
70
		});
73
		
71
		
74
		add(arbreMenus);
72
		add(arbreMenus);
75
		arbreMenus.setAutoExpand(true);
73
		arbreMenus.setAutoExpand(true);
76
	}
74
	}
77
	
75
	
78
	public void selectionMenu(String code) {
76
	public void selectionMenu(String code) {
79
		arbreMenus.getSelectionModel().select(menuStore.findModel("code", code), false);
77
		arbreMenus.getSelectionModel().select(menuStore.findModel("code", code), false);
80
	}		
78
	}		
81
}
79
}