Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 935 Rev 982
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line -...
2
 
-
 
Line 3... Line 2...
3
import java.util.Iterator;
2
 
4
 
-
 
5
import org.tela_botanica.client.Mediateur;
3
 
6
import org.tela_botanica.client.RegistreId;
-
 
7
import org.tela_botanica.client.i18n.Constantes;
4
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.i18n.Constantes;
9
import org.tela_botanica.client.modeles.Menu;
-
 
10
import org.tela_botanica.client.modeles.MenuApplicationId;
-
 
Line 11... Line 6...
11
import org.tela_botanica.client.modeles.projet.Projet;
6
import org.tela_botanica.client.modeles.Menu;
12
import org.tela_botanica.client.modeles.projet.ProjetListe;
7
import org.tela_botanica.client.modeles.MenuApplicationId;
13
 
-
 
14
import com.extjs.gxt.ui.client.event.Events;
8
 
15
import com.extjs.gxt.ui.client.GXT;
9
import com.extjs.gxt.ui.client.event.Events;
16
import com.extjs.gxt.ui.client.Registry;
10
import com.extjs.gxt.ui.client.GXT;
17
import com.extjs.gxt.ui.client.event.Listener;
11
import com.extjs.gxt.ui.client.event.Listener;
18
import com.extjs.gxt.ui.client.event.TreePanelEvent;
12
import com.extjs.gxt.ui.client.event.TreePanelEvent;
19
import com.extjs.gxt.ui.client.store.TreeStore;
13
import com.extjs.gxt.ui.client.store.TreeStore;
20
import com.extjs.gxt.ui.client.widget.ContentPanel;
-
 
21
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
22
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
-
 
23
import com.google.gwt.core.client.GWT;
-
 
Line 24... Line 14...
24
import com.google.gwt.event.dom.client.ChangeEvent;
14
import com.extjs.gxt.ui.client.widget.ContentPanel;
Line 25... Line 15...
25
import com.google.gwt.event.dom.client.ChangeHandler;
15
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
26
import com.google.gwt.user.client.ui.ListBox;
16
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
Line 27... Line 17...
27
 
17
 
28
public class MenuVue extends ContentPanel implements Rafraichissable {
-
 
29
 
-
 
30
	private Mediateur mediateur = null;
18
public class MenuVue extends ContentPanel {
Line 31... Line 19...
31
	private Constantes i18nC = null;
19
 
32
	
20
	private Mediateur mediateur = null;
33
	private TreePanel<Menu> arbreMenus;
21
	private Constantes i18nC = null;
Line 34... Line 22...
34
	private ListBox listeProjets;
22
	
35
	private ProjetListe projetsCache = null;
23
	private TreePanel<Menu> arbreMenus;
36
	private TreeStore<Menu> menuStore;
24
	private TreeStore<Menu> menuStore;
37
	
-
 
38
	public MenuVue(Mediateur mediateurCourrant) {
-
 
39
		mediateur = mediateurCourrant;
-
 
Line 40... Line 25...
40
		i18nC = Mediateur.i18nC;
25
	
41
		
26
	public MenuVue(Mediateur mediateurCourrant) {
42
		setHeading(i18nC.titreMenu());
27
		mediateur = mediateurCourrant;
Line 83... Line 68...
83
		add(arbreMenus);
68
		add(arbreMenus);
84
	}
69
	}
Line 85... Line 70...
85
	
70
	
86
	public void selectionMenu(String code) {
71
	public void selectionMenu(String code) {
87
		arbreMenus.getSelectionModel().select(menuStore.findModel("code", code), false);
-
 
88
	}
-
 
89
	
-
 
90
	private void chargerProjets() {
-
 
91
		mediateur.selectionnerProjet(this, null);
-
 
92
	}
-
 
93
	
-
 
94
	private void ajouterProjetsAListe()	{
-
 
95
		Iterator<Projet> it = projetsCache.values().iterator();
-
 
96
		while (it.hasNext())	{
-
 
97
			Projet projetCourant = it.next();
-
 
98
			listeProjets.addItem(projetCourant.getNom(), projetCourant.getId());
-
 
99
		}
-
 
100
	}
-
 
101
	
-
 
102
	private void afficherListeProjets() {
-
 
103
		// Ajout de la sélection des projets
-
 
104
		listeProjets = new ListBox(false);
-
 
105
		listeProjets.setWidth("100%");
-
 
106
		listeProjets.addItem(i18nC.txtListeProjetDefaut(), "NULL");
-
 
107
		add(listeProjets);
-
 
108
		
-
 
109
	    // Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre
-
 
110
	    listeProjets.addChangeHandler(new ChangeHandler() {
-
 
111
			@Override
-
 
112
			public void onChange(ChangeEvent event) {
-
 
113
				mediateur.activerChargement(i18nC.chargement());
-
 
114
				mediateur.selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex())));
-
 
115
			}
-
 
116
		});
-
 
117
	}
-
 
118
	
-
 
119
	public void rafraichir(Object nouvellesDonnees) {
-
 
120
		if (nouvellesDonnees instanceof ProjetListe) {
-
 
121
			projetsCache = (ProjetListe) nouvellesDonnees;
-
 
122
			Registry.register(RegistreId.PROJETS, projetsCache);
-
 
123
			ajouterProjetsAListe();
-
 
124
		} else {
-
 
125
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
-
 
126
		}
72
		arbreMenus.getSelectionModel().select(menuStore.findModel("code", code), false);
127
	}
73
	}		
128
}
74
}