Subversion Repositories eFlore/Applications.coel

Rev

Rev 268 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 268 Rev 277
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line 2...
2
 
2
 
3
import java.util.Collection;
-
 
4
import java.util.HashMap;
3
import java.util.Collection;
5
import java.util.Iterator;
-
 
Line 6... Line -...
6
import java.util.List;
-
 
7
 
4
import java.util.Iterator;
8
import org.tela_botanica.client.ComposantId;
5
 
-
 
6
import org.tela_botanica.client.Mediateur;
9
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.RegistreId;
10
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.modeles.Menu;
9
import org.tela_botanica.client.modeles.Menu;
Line 12... Line 10...
12
import org.tela_botanica.client.modeles.Projet;
10
import org.tela_botanica.client.modeles.Projet;
13
import org.tela_botanica.client.modeles.ProjetListe;
11
import org.tela_botanica.client.modeles.ProjetListe;
14
 
12
 
15
import com.extjs.gxt.ui.client.Events;
13
import com.extjs.gxt.ui.client.Events;
16
import com.extjs.gxt.ui.client.Registry;
14
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.event.Listener;
15
import com.extjs.gxt.ui.client.event.Listener;
18
import com.extjs.gxt.ui.client.event.TreeEvent;
-
 
19
import com.extjs.gxt.ui.client.util.TreeBuilder;
16
import com.extjs.gxt.ui.client.event.TreeEvent;
20
import com.extjs.gxt.ui.client.widget.ContentPanel;
17
import com.extjs.gxt.ui.client.util.TreeBuilder;
21
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
18
import com.extjs.gxt.ui.client.widget.ContentPanel;
22
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
23
import com.extjs.gxt.ui.client.widget.tree.Tree;
19
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
24
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
20
import com.extjs.gxt.ui.client.widget.tree.Tree;
25
import com.google.gwt.user.client.Window;
21
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
26
import com.google.gwt.user.client.ui.ChangeListener;
-
 
27
import com.google.gwt.user.client.ui.ClickListener;
22
import com.google.gwt.user.client.ui.ChangeListener;
Line 28... Line -...
28
import com.google.gwt.user.client.ui.ListBox;
-
 
29
import com.google.gwt.user.client.ui.MouseListener;
23
import com.google.gwt.user.client.ui.ClickListener;
Line 30... Line 24...
30
import com.google.gwt.user.client.ui.Widget;
24
import com.google.gwt.user.client.ui.ListBox;
31
 
25
import com.google.gwt.user.client.ui.Widget;
32
 
26
 
-
 
27
public class MenuPanneauVue extends ContentPanel implements Rafraichissable {
33
public class MenuPanneauVue extends ContentPanel {
28
 
34
 
29
	private Tree tree;
35
	private Tree tree;
30
	private ListBox listeProjets;
36
	private ListBox listeProjets;
31
	private boolean listeProjetsInitialise = false;
37
	private boolean listeProjetsInitialise = false;
32
	private ProjetListe projetsCache = null;
38
		
33
	
Line 45... Line 40...
45
 
40
 
46
	public void rafraichir(Object nouvelleDonnees) {
41
	public void rafraichir(Object nouvelleDonnees) {
47
		if (nouvelleDonnees instanceof Menu) {
42
		if (nouvelleDonnees instanceof Menu) {
48
			afficherMenu((Menu) nouvelleDonnees);
43
			afficherMenu((Menu) nouvelleDonnees);
49
		} else if (nouvelleDonnees instanceof ProjetListe) {
44
		} else if (nouvelleDonnees instanceof ProjetListe) {
-
 
45
			projetsCache = (ProjetListe) nouvelleDonnees;
50
			afficherProjets((ProjetListe) nouvelleDonnees);
46
			afficherProjets();
51
		}
47
		}
Line 52... Line 48...
52
	}
48
	}
53
 
-
 
54
	private void afficherProjets(ProjetListe projets)	{
-
 
55
		
49
 
56
		Collection<Projet> valeursProjets = projets.values();
-
 
57
		Iterator it = valeursProjets.iterator();
50
	private void afficherProjets()	{
58
		
51
		Iterator it = projetsCache.values().iterator();
59
		while (it.hasNext())	{
52
		while (it.hasNext())	{
60
			Projet projetCourant = (Projet) it.next();
53
			Projet projetCourant = (Projet) it.next();
61
			listeProjets.addItem(projetCourant.getNom(), projetCourant.getId());
54
			listeProjets.addItem(projetCourant.getNom(), projetCourant.getId());
Line 72... Line 65...
72
		
65
		
73
		// Ajout d'un écouteur pour le clic => chargement de la liste des projets
66
		// Ajout d'un écouteur pour le clic => chargement de la liste des projets
74
	    listeProjets.addClickListener(new ClickListener() {
67
	    listeProjets.addClickListener(new ClickListener() {
75
	      public void onClick(Widget sender) {
68
	      public void onClick(Widget sender) {
76
	    	  if(!listeProjetsInitialise) {
69
	    	  if(!listeProjetsInitialise) {
77
	    		  ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).rafraichirListeProjets();
70
	    		  chargerProjets();
78
	    		  listeProjetsInitialise = true;
71
	    		  listeProjetsInitialise = true;
79
	    	  }
72
	    	  }
80
	      }
73
	      }
Line 81... Line 74...
81
	    });
74
	    });
82
	    
75
	    
83
	    
76
	    
84
	    // Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre
77
	    // Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre
85
	    listeProjets.addChangeListener(new ChangeListener() {
78
	    listeProjets.addChangeListener(new ChangeListener() {
86
	      public void onChange(Widget sender) {
79
	      public void onChange(Widget sender) {
87
	    	  // TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre
80
	    	  // TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre
Line 88... Line 81...
88
	    	  ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjet(listeProjets.getValue(listeProjets.getSelectedIndex()));	    	  
81
	    	  ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex())));	    	  
89
	      }
82
	      }
Line 125... Line 118...
125
	    menus.add(menuPersonnes);
118
	    menus.add(menuPersonnes);
126
	    menus.add(menuPublications);
119
	    menus.add(menuPublications);
Line 127... Line 120...
127
	    
120
	    
128
	    return menus;
121
	    return menus;
-
 
122
	}
-
 
123
	
-
 
124
	private void chargerProjets() {
-
 
125
		((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjets(this);
-
 
126
	}
129
	}
127
	
130
}
128
}