1,13 → 1,11 |
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.ComposantId; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Menu; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetListe; |
18,24 → 16,21 |
import com.extjs.gxt.ui.client.event.TreeEvent; |
import com.extjs.gxt.ui.client.util.TreeBuilder; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
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 implements Rafraichissable { |
|
public class MenuPanneauVue extends ContentPanel { |
|
private Tree tree; |
private ListBox listeProjets; |
private boolean listeProjetsInitialise = false; |
|
private ProjetListe projetsCache = null; |
|
public MenuPanneauVue() { |
setBodyBorder(false); |
setLayoutOnChange(true); |
47,15 → 42,13 |
if (nouvelleDonnees instanceof Menu) { |
afficherMenu((Menu) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof ProjetListe) { |
afficherProjets((ProjetListe) nouvelleDonnees); |
projetsCache = (ProjetListe) nouvelleDonnees; |
afficherProjets(); |
} |
} |
|
private void afficherProjets(ProjetListe projets) { |
|
Collection<Projet> valeursProjets = projets.values(); |
Iterator it = valeursProjets.iterator(); |
|
private void afficherProjets() { |
Iterator it = projetsCache.values().iterator(); |
while (it.hasNext()) { |
Projet projetCourant = (Projet) it.next(); |
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId()); |
74,7 → 67,7 |
listeProjets.addClickListener(new ClickListener() { |
public void onClick(Widget sender) { |
if(!listeProjetsInitialise) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).rafraichirListeProjets(); |
chargerProjets(); |
listeProjetsInitialise = true; |
} |
} |
85,7 → 78,7 |
listeProjets.addChangeListener(new ChangeListener() { |
public void onChange(Widget sender) { |
// TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjet(listeProjets.getValue(listeProjets.getSelectedIndex())); |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex()))); |
} |
}); |
|
127,4 → 120,9 |
|
return menus; |
} |
} |
|
private void chargerProjets() { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjets(this); |
} |
|
} |