Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 69 Rev 149
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
-
 
2
 
-
 
3
import java.util.Collection;
-
 
4
import java.util.HashMap;
-
 
5
import java.util.Iterator;
-
 
6
import java.util.List;
2
 
7
 
3
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.modeles.Menu;
10
import org.tela_botanica.client.modeles.Menu;
-
 
11
import org.tela_botanica.client.modeles.Projet;
-
 
12
import org.tela_botanica.client.modeles.ProjetsListe;
6
 
13
 
7
import com.extjs.gxt.ui.client.Events;
14
import com.extjs.gxt.ui.client.Events;
8
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.event.Listener;
16
import com.extjs.gxt.ui.client.event.Listener;
10
import com.extjs.gxt.ui.client.event.TreeEvent;
17
import com.extjs.gxt.ui.client.event.TreeEvent;
11
import com.extjs.gxt.ui.client.util.TreeBuilder;
18
import com.extjs.gxt.ui.client.util.TreeBuilder;
12
import com.extjs.gxt.ui.client.widget.ContentPanel;
19
import com.extjs.gxt.ui.client.widget.ContentPanel;
13
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
20
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
14
import com.extjs.gxt.ui.client.widget.tree.Tree;
21
import com.extjs.gxt.ui.client.widget.tree.Tree;
15
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
22
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
-
 
23
import com.google.gwt.user.client.Window;
-
 
24
import com.google.gwt.user.client.ui.ChangeListener;
-
 
25
import com.google.gwt.user.client.ui.ClickListener;
-
 
26
import com.google.gwt.user.client.ui.ListBox;
-
 
27
import com.google.gwt.user.client.ui.MouseListener;
-
 
28
import com.google.gwt.user.client.ui.Widget;
-
 
29
 
16
 
30
 
17
public class MenuPanneauVue extends ContentPanel {
31
public class MenuPanneauVue extends ContentPanel {
18
 
32
 
19
	private Tree tree;
33
	private Tree tree;
-
 
34
	private ListBox listeProjets;
-
 
35
	private boolean listeProjetsInitialise = false;
20
		
36
		
21
	public MenuPanneauVue() {
37
	public MenuPanneauVue() {
22
		setBodyBorder(false);
38
		setBodyBorder(false);
23
		setLayoutOnChange(true);
39
		setLayoutOnChange(true);
24
		setHeading("Menu");
40
		setHeading("Menu");
25
		setLayout(new FitLayout());
41
		setLayout(new FitLayout());
26
	}
42
	}
27
 
43
 
28
	public void rafraichir(Object nouvelleDonnees) {
44
	public void rafraichir(Object nouvelleDonnees) {
29
		if (nouvelleDonnees instanceof Menu) {
45
		if (nouvelleDonnees instanceof Menu) {
30
			afficherMenu((Menu) nouvelleDonnees);
46
			afficherMenu((Menu) nouvelleDonnees);
-
 
47
		} else if (nouvelleDonnees instanceof ProjetsListe) {
-
 
48
			afficherProjets((ProjetsListe) nouvelleDonnees);
31
		}
49
		}
-
 
50
		
-
 
51
		// TODO : rajouter le rafraichissement lié au PROJETS
32
	}
52
	}
-
 
53
 
-
 
54
	private void afficherProjets(ProjetsListe projets)	{
-
 
55
		
-
 
56
		Collection<Projet> valeursProjets = projets.values();
-
 
57
		Iterator it = valeursProjets.iterator();
-
 
58
		
-
 
59
		while (it.hasNext())	{
-
 
60
			Projet projetCourant = (Projet) it.next();
-
 
61
			listeProjets.addItem(projetCourant.getNom(), projetCourant.getId());
-
 
62
		}
-
 
63
	}
33
 
64
	
-
 
65
	private void afficherMenu(Menu menu) {
-
 
66
		
-
 
67
		// Greg : ajout de la sélection des projets
-
 
68
		listeProjets = new ListBox(false);
-
 
69
		listeProjets.addItem("Choisisez un projet...", "NULL");
-
 
70
		add(listeProjets);
-
 
71
		
-
 
72
		// Ajout d'un écouteur pour le clic => chargement de la liste des projets
-
 
73
	    listeProjets.addClickListener(new ClickListener() {
-
 
74
	      public void onClick(Widget sender) {
-
 
75
	    	  if(!listeProjetsInitialise) {
-
 
76
	    		  ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).rafraichirListeProjets();
-
 
77
	    		  listeProjetsInitialise = true;
-
 
78
	    	  }
-
 
79
	      }
-
 
80
	    });
-
 
81
	    
-
 
82
	    
-
 
83
	    // Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre
-
 
84
	    listeProjets.addChangeListener(new ChangeListener() {
-
 
85
	      public void onChange(Widget sender) {
-
 
86
	    	  // TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre
-
 
87
	      }
-
 
88
	    });
34
	private void afficherMenu(Menu menu) {
89
		
35
		tree = new Tree();
90
		tree = new Tree();
36
		tree.getStyle().setLeafIconStyle("tree-folder");
91
		tree.getStyle().setLeafIconStyle("tree-folder");
37
		tree.addListener(Events.OnClick, new Listener<TreeEvent>(){
92
		tree.addListener(Events.OnClick, new Listener<TreeEvent>(){
38
 
93
 
39
			public void handleEvent(TreeEvent be) {
94
			public void handleEvent(TreeEvent be) {
40
				TreeItem f = tree.getSelectedItem();
95
				TreeItem f = tree.getSelectedItem();
41
				selectionMenu(f.getText());
96
				selectionMenu(f.getText());
42
			}
97
			}
43
			
98
			
44
		});
99
		});
45
		TreeBuilder.buildTree(tree, menu);
100
		TreeBuilder.buildTree(tree, menu);
46
				
101
				
47
		add(tree);
102
		add(tree);
48
	}
103
	}
49
	
104
	
50
	private void selectionMenu(String s) {
105
	private void selectionMenu(String s) {
51
		((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu(s);
106
		((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu(s);
52
	}
107
	}
53
	
108
	
54
	public Menu listerMenu() {
109
	public Menu listerMenu() {
55
		Menu menus = new Menu();
110
		Menu menus = new Menu();
56
		
111
		
57
		Menu accueilMenu = new Menu("Accueil");
112
		Menu accueilMenu = new Menu("Accueil");
58
		Menu projetMenu = new Menu("Projets");
113
		Menu projetMenu = new Menu("Projets");
59
	    Menu menuInstitution = new Menu("Institutions");
114
	    Menu menuInstitution = new Menu("Institutions");
60
	    Menu menuCollections = new Menu("Collections");
115
	    Menu menuCollections = new Menu("Collections");
61
	    Menu menuPersonnes = new Menu("Personnes");
116
	    Menu menuPersonnes = new Menu("Personnes");
62
	    Menu menuPublications = new Menu("Publications");
117
	    Menu menuPublications = new Menu("Publications");
63
	    
118
	    
64
	    menus.add(accueilMenu);
119
	    menus.add(accueilMenu);
65
	    menus.add(projetMenu);
120
	    menus.add(projetMenu);
66
	    menus.add(menuInstitution);
121
	    menus.add(menuInstitution);
67
	    menus.add(menuCollections);
122
	    menus.add(menuCollections);
68
	    menus.add(menuPersonnes);
123
	    menus.add(menuPersonnes);
69
	    menus.add(menuPublications);
124
	    menus.add(menuPublications);
70
	    
125
	    
71
	    return menus;
126
	    return menus;
72
	}
127
	}
73
}
128
}