Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 69 Rev 149
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line -... Line 2...
-
 
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;
-
 
10
import org.tela_botanica.client.modeles.Menu;
-
 
11
import org.tela_botanica.client.modeles.Projet;
Line 5... Line 12...
5
import org.tela_botanica.client.modeles.Menu;
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;
-
 
21
import com.extjs.gxt.ui.client.widget.tree.Tree;
-
 
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;
Line 14... Line 28...
14
import com.extjs.gxt.ui.client.widget.tree.Tree;
28
import com.google.gwt.user.client.ui.Widget;
Line 15... Line 29...
15
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
29
 
-
 
30
 
-
 
31
public class MenuPanneauVue extends ContentPanel {
Line 16... Line 32...
16
 
32
 
17
public class MenuPanneauVue extends ContentPanel {
33
	private Tree tree;
18
 
34
	private ListBox listeProjets;
19
	private Tree tree;
35
	private boolean listeProjetsInitialise = false;
Line 26... Line 42...
26
	}
42
	}
Line 27... Line 43...
27
 
43
 
28
	public void rafraichir(Object nouvelleDonnees) {
44
	public void rafraichir(Object nouvelleDonnees) {
29
		if (nouvelleDonnees instanceof Menu) {
45
		if (nouvelleDonnees instanceof Menu) {
-
 
46
			afficherMenu((Menu) nouvelleDonnees);
-
 
47
		} else if (nouvelleDonnees instanceof ProjetsListe) {
30
			afficherMenu((Menu) nouvelleDonnees);
48
			afficherProjets((ProjetsListe) nouvelleDonnees);
-
 
49
		}
-
 
50
		
31
		}
51
		// TODO : rajouter le rafraichissement lié au PROJETS
Line -... Line 52...
-
 
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
		}
32
	}
63
	}
-
 
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
	      }
33
 
88
	    });
34
	private void afficherMenu(Menu menu) {
89
		
35
		tree = new Tree();
90
		tree = new Tree();
Line 36... Line 91...
36
		tree.getStyle().setLeafIconStyle("tree-folder");
91
		tree.getStyle().setLeafIconStyle("tree-folder");