/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
40,6 → 40,7 |
import org.tela_botanica.client.vues.ContenuVue; |
import org.tela_botanica.client.vues.EnteteVue; |
import org.tela_botanica.client.vues.Formulaire; |
import org.tela_botanica.client.vues.NavigationVue; |
import org.tela_botanica.client.vues.PopupChargement; |
import org.tela_botanica.client.vues.StatutVue; |
import org.tela_botanica.client.vues.MenuVue; |
82,7 → 83,7 |
public static final ErrorMessages i18nM = getI18nMessage(); |
private EnteteVue panneauNord = null; |
private MenuVue panneauOuest = null; |
private NavigationVue panneauOuest = null; |
private ContenuVue panneauCentre = null; |
private StatutVue panneauSud = null; |
159,7 → 160,7 |
} |
private void creerPanneauOuest() { |
panneauOuest = new MenuVue(this); |
panneauOuest = new NavigationVue(this); |
BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200); |
regionOuest.setSplit(true); |
200,7 → 201,7 |
public void clicMenu(String codeMenuClique) { |
activerChargement(codeMenuClique); |
panneauOuest.selectionMenu(codeMenuClique); |
panneauOuest.getMenu().selectionMenu(codeMenuClique); |
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) { |
afficherAccueil(); |
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) { |
/trunk/src/org/tela_botanica/client/vues/FiltreVue.java |
---|
New file |
0,0 → 1,78 |
package org.tela_botanica.client.vues; |
import java.util.Iterator; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.modeles.projet.ProjetListe; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.ChangeEvent; |
import com.google.gwt.event.dom.client.ChangeHandler; |
import com.google.gwt.user.client.ui.ListBox; |
public class FiltreVue extends ContentPanel implements Rafraichissable { |
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
private ListBox listeProjets; |
private ProjetListe projetsCache = null; |
public FiltreVue(Mediateur mediateurCourrant) { |
mediateur = mediateurCourrant; |
i18nC = Mediateur.i18nC; |
setHeading(i18nC.titreFiltre()); |
setLayout(new FlowLayout()); |
setLayoutOnChange(true); |
chargerProjets(); |
afficherListeProjets(); |
} |
private void chargerProjets() { |
mediateur.selectionnerProjet(this, null); |
} |
private void afficherListeProjets() { |
// Ajout de la sélection des projets |
listeProjets = new ListBox(false); |
listeProjets.setWidth("100%"); |
listeProjets.addItem(i18nC.txtListeProjetDefaut(), "NULL"); |
add(listeProjets); |
// Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre |
listeProjets.addChangeHandler(new ChangeHandler() { |
@Override |
public void onChange(ChangeEvent event) { |
mediateur.activerChargement(i18nC.chargement()); |
mediateur.selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex()))); |
} |
}); |
} |
@Override |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof ProjetListe) { |
projetsCache = (ProjetListe) nouvellesDonnees; |
Registry.register(RegistreId.PROJETS, projetsCache); |
ajouterProjetsAListe(); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
private void ajouterProjetsAListe() { |
Iterator<Projet> it = projetsCache.values().iterator(); |
while (it.hasNext()) { |
Projet projetCourant = it.next(); |
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId()); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/NavigationVue.java |
---|
New file |
0,0 → 1,38 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.Mediateur; |
import com.extjs.gxt.ui.client.util.Margins; |
import com.extjs.gxt.ui.client.util.Padding; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.layout.VBoxLayout; |
import com.extjs.gxt.ui.client.widget.layout.VBoxLayoutData; |
import com.extjs.gxt.ui.client.widget.layout.VBoxLayout.VBoxLayoutAlign; |
public class NavigationVue extends LayoutContainer{ |
private Mediateur mediateur = null; |
private MenuVue menu = null; |
private FiltreVue filtre = null; |
public NavigationVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
VBoxLayout layout = new VBoxLayout(); |
layout.setPadding(new Padding(0)); |
layout.setVBoxLayoutAlign(VBoxLayoutAlign.STRETCH); |
setLayout(layout); |
menu = new MenuVue(mediateur); |
add(menu, new VBoxLayoutData(new Margins(0))); |
filtre = new FiltreVue(mediateur); |
add(filtre, new VBoxLayoutData(new Margins(5, 0, 0, 0))); |
} |
public MenuVue getMenu() { |
return menu; |
} |
public FiltreVue getFiltre() { |
return filtre; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/MenuVue.java |
---|
1,38 → 1,26 |
package org.tela_botanica.client.vues; |
import java.util.Iterator; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.i18n.Constantes; |
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.Projet; |
import org.tela_botanica.client.modeles.projet.ProjetListe; |
import com.extjs.gxt.ui.client.event.Events; |
import com.extjs.gxt.ui.client.GXT; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.event.Listener; |
import com.extjs.gxt.ui.client.event.TreePanelEvent; |
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.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.ChangeEvent; |
import com.google.gwt.event.dom.client.ChangeHandler; |
import com.google.gwt.user.client.ui.ListBox; |
public class MenuVue extends ContentPanel implements Rafraichissable { |
public class MenuVue extends ContentPanel { |
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
private TreePanel<Menu> arbreMenus; |
private ListBox listeProjets; |
private ProjetListe projetsCache = null; |
private TreeStore<Menu> menuStore; |
public MenuVue(Mediateur mediateurCourrant) { |
40,11 → 28,8 |
i18nC = Mediateur.i18nC; |
setHeading(i18nC.titreMenu()); |
setLayout(new FlowLayout()); |
setLayout(new FitLayout()); |
setLayoutOnChange(true); |
chargerProjets(); |
afficherListeProjets(); |
construireMenu(); |
afficherMenu(); |
85,44 → 70,5 |
public void selectionMenu(String code) { |
arbreMenus.getSelectionModel().select(menuStore.findModel("code", code), false); |
} |
private void chargerProjets() { |
mediateur.selectionnerProjet(this, null); |
} |
private void ajouterProjetsAListe() { |
Iterator<Projet> it = projetsCache.values().iterator(); |
while (it.hasNext()) { |
Projet projetCourant = it.next(); |
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId()); |
} |
} |
private void afficherListeProjets() { |
// Ajout de la sélection des projets |
listeProjets = new ListBox(false); |
listeProjets.setWidth("100%"); |
listeProjets.addItem(i18nC.txtListeProjetDefaut(), "NULL"); |
add(listeProjets); |
// Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre |
listeProjets.addChangeHandler(new ChangeHandler() { |
@Override |
public void onChange(ChangeEvent event) { |
mediateur.activerChargement(i18nC.chargement()); |
mediateur.selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex()))); |
} |
}); |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof ProjetListe) { |
projetsCache = (ProjetListe) nouvellesDonnees; |
Registry.register(RegistreId.PROJETS, projetsCache); |
ajouterProjetsAListe(); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
} |
} |