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); |
} |