1,8 → 1,15 |
package org.tela_botanica.client.vues; |
|
import java.util.Collection; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.modeles.Menu; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetsListe; |
|
import com.extjs.gxt.ui.client.Events; |
import com.extjs.gxt.ui.client.Registry; |
13,10 → 20,19 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.tree.Tree; |
import com.extjs.gxt.ui.client.widget.tree.TreeItem; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.ChangeListener; |
import com.google.gwt.user.client.ui.ClickListener; |
import com.google.gwt.user.client.ui.ListBox; |
import com.google.gwt.user.client.ui.MouseListener; |
import com.google.gwt.user.client.ui.Widget; |
|
|
public class MenuPanneauVue extends ContentPanel { |
|
private Tree tree; |
private ListBox listeProjets; |
private boolean listeProjetsInitialise = false; |
|
public MenuPanneauVue() { |
setBodyBorder(false); |
28,10 → 44,49 |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof Menu) { |
afficherMenu((Menu) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof ProjetsListe) { |
afficherProjets((ProjetsListe) nouvelleDonnees); |
} |
|
// TODO : rajouter le rafraichissement lié au PROJETS |
} |
|
private void afficherProjets(ProjetsListe projets) { |
|
Collection<Projet> valeursProjets = projets.values(); |
Iterator it = valeursProjets.iterator(); |
|
while (it.hasNext()) { |
Projet projetCourant = (Projet) it.next(); |
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId()); |
} |
} |
|
private void afficherMenu(Menu menu) { |
|
// Greg : ajout de la sélection des projets |
listeProjets = new ListBox(false); |
listeProjets.addItem("Choisisez un projet...", "NULL"); |
add(listeProjets); |
|
// Ajout d'un écouteur pour le clic => chargement de la liste des projets |
listeProjets.addClickListener(new ClickListener() { |
public void onClick(Widget sender) { |
if(!listeProjetsInitialise) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).rafraichirListeProjets(); |
listeProjetsInitialise = true; |
} |
} |
}); |
|
|
// Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre |
listeProjets.addChangeListener(new ChangeListener() { |
public void onChange(Widget sender) { |
// TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre |
} |
}); |
|
tree = new Tree(); |
tree.getStyle().setLeafIconStyle("tree-folder"); |
tree.addListener(Events.OnClick, new Listener<TreeEvent>(){ |