Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 327 → Rev 328

/trunk/src/org/tela_botanica/client/vues/MenuPanneauVue.java
1,6 → 1,5
package org.tela_botanica.client.vues;
 
import java.util.Collection;
import java.util.Iterator;
 
import org.tela_botanica.client.Mediateur;
7,14 → 6,16
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.MenuApplicationId;
import org.tela_botanica.client.modeles.Projet;
import org.tela_botanica.client.modeles.ProjetListe;
 
import com.extjs.gxt.ui.client.Events;
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.binder.TreeBinder;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.TreeEvent;
import com.extjs.gxt.ui.client.util.TreeBuilder;
import com.extjs.gxt.ui.client.store.TreeStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.extjs.gxt.ui.client.widget.tree.Tree;
26,10 → 27,11
 
public class MenuPanneauVue extends ContentPanel implements Rafraichissable {
 
private Tree tree;
private Tree arbreMenus;
private ListBox listeProjets;
private boolean listeProjetsInitialise = false;
private boolean estListeProjetsInitialise = false;
private ProjetListe projetsCache = null;
private TreeStore<Menu> menuStore;
public MenuPanneauVue() {
setBodyBorder(false);
39,9 → 41,7
}
 
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Menu) {
afficherMenu((Menu) nouvelleDonnees);
} else if (nouvelleDonnees instanceof ProjetListe) {
if (nouvelleDonnees instanceof ProjetListe) {
projetsCache = (ProjetListe) nouvelleDonnees;
afficherProjets();
}
48,14 → 48,14
}
 
private void afficherProjets() {
Iterator it = projetsCache.values().iterator();
Iterator<Projet> it = projetsCache.values().iterator();
while (it.hasNext()) {
Projet projetCourant = (Projet) it.next();
Projet projetCourant = it.next();
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId());
}
}
private void afficherMenu(Menu menu) {
private void afficherMenu() {
// Greg : ajout de la sélection des projets
listeProjets = new ListBox(false);
66,9 → 66,9
// Ajout d'un écouteur pour le clic => chargement de la liste des projets
listeProjets.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
if(!listeProjetsInitialise) {
if(!estListeProjetsInitialise) {
chargerProjets();
listeProjetsInitialise = true;
estListeProjetsInitialise = true;
}
}
});
82,45 → 82,54
}
});
tree = new Tree();
tree.getStyle().setLeafIconStyle("tree-folder");
tree.addListener(Events.OnClick, new Listener<TreeEvent>(){
arbreMenus = new Tree();
arbreMenus.getStyle().setLeafIconStyle("tree-folder");
arbreMenus.addListener(Events.OnClick, new Listener<TreeEvent>(){
 
public void handleEvent(TreeEvent be) {
TreeItem f = tree.getSelectedItem();
selectionMenu(f.getText());
TreeItem f = arbreMenus.getSelectedItem();
Menu menuSelectionne = (Menu) f.getModel();
selectionMenu(menuSelectionne);
}
});
TreeBuilder.buildTree(tree, menu);
TreeBinder<Menu> binder = new TreeBinder<Menu>(arbreMenus, menuStore);
binder.setAutoLoad(true);
binder.setDisplayProperty("nom");
binder.init();
add(tree);
add(arbreMenus);
}
private void selectionMenu(String s) {
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu(s);
private void selectionMenu(Menu menuSelectionne) {
String codeMenuSelectionne = menuSelectionne.getCode();
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu(codeMenuSelectionne);
}
public Menu listerMenu() {
Menu menus = new Menu();
private void construireMenu() {
menuStore = new TreeStore<Menu>();
Menu accueilMenu = new Menu("Accueil");
Menu projetMenu = new Menu("Projets");
Menu menuInstitution = new Menu("Institutions");
Menu menuCollections = new Menu("Collections");
Menu menuPersonnes = new Menu("Personnes");
Menu menuPublications = new Menu("Publications");
Menu accueilMenu = new Menu("Accueil", MenuApplicationId.ACCUEIL);
Menu projetMenu = new Menu("Projets", MenuApplicationId.PROJET);
Menu menuInstitution = new Menu("Institutions", MenuApplicationId.STRUCTURE);
Menu menuCollections = new Menu("Collections", MenuApplicationId.COLLECTION);
Menu menuPersonnes = new Menu("Personnes", MenuApplicationId.PERSONNE);
Menu menuPublications = new Menu("Publications", MenuApplicationId.PUBLICATION);
menus.add(accueilMenu);
menus.add(projetMenu);
menus.add(menuInstitution);
menus.add(menuCollections);
menus.add(menuPersonnes);
menus.add(menuPublications);
return menus;
menuStore.add(accueilMenu, false);
menuStore.add(projetMenu, false);
menuStore.add(menuInstitution, false);
menuStore.add(menuCollections, false);
menuStore.add(menuPersonnes, false);
menuStore.add(menuPublications, false);
}
public void chargerMenus() {
construireMenu();
afficherMenu();
}
private void chargerProjets() {
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjets(this);
}