Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 268 → Rev 277

/trunk/src/org/tela_botanica/client/Mediateur.java
32,10 → 32,8
import org.tela_botanica.client.vues.PersonneDetailPanneauVue;
import org.tela_botanica.client.vues.PersonneVue;
import org.tela_botanica.client.vues.PublicationDetailPanneauVue;
import org.tela_botanica.client.vues.PublicationListePanneauVue;
import org.tela_botanica.client.vues.PublicationVue;
import org.tela_botanica.client.vues.StructureDetailPanneauVue;
import org.tela_botanica.client.vues.StructureListePanneauVue;
import org.tela_botanica.client.vues.StructureVue;
import org.tela_botanica.client.vues.MenuPanneauVue;
 
43,19 → 41,16
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.Viewport;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootPanel;
 
public class Mediateur {
public class Mediateur implements Rafraichissable {
private Modele modele = null;
private Utilisateur utilisateur = null;
private Viewport viewport;
private EntetePanneauVue panneauNord = null;
63,17 → 58,16
private ContenuPanneauVue panneauCentre = null;
private Rafraichissable contenuPanneauCentre = null;
public Mediateur() {
// Enregistrement du Médiateur dans le Registre
Registry.register(RegistreId.MEDIATEUR, this);
// Création du Modèle qui s'enregistre lui même dans le Registre
modele = new Modele();
// Création de l'utilsateur courrant
utilisateur = new Utilisateur(null, false);
Registry.register(RegistreId.UTILISATEUR, utilisateur);
// Création de l'utilisateur courrant
Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur(null, false));
this.connecterUtilisateur(null, null);
// Création du projet courrant
Registry.register(RegistreId.PROJET_COURANT, new Projet());
// Création du Viewport qui contient la disposition globale de l'application
viewport = new Viewport();
143,11 → 137,11
public void clicMenu(String menuNom) {
panneauCentre.removeAll();
if (menuNom.equals("Institutions")) {
((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId(), getProjetId());
modele.selectionnerStructure(panneauCentre, getProjetId(), null);
} else if (menuNom.equals("Publications")) {
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications();
modele.selectionnerPublications(panneauCentre);
} else if (menuNom.equals("Personnes")) {
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
modele.selectionnerPersonne(panneauCentre, null, getProjetId(), null);
}
else {
GWT.log("Non implémenté! Menu id : "+menuNom, null);
191,7 → 185,12
* Retourne l'identifiant de l'utilisateur courrant de l'application.
*/
public String getUtilisateurId() {
return utilisateur.getId();
String id = null;
Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
if (!utilisateurCourant.getId().equals("")) {
id = utilisateurCourant.getId();
}
return id;
}
public void clicIdentification() {
202,16 → 201,16
}
public void connecterUtilisateur(String login, String mdp) {
((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp);
modele.connecterUtilisateur(this, login, mdp);
}
public void deconnecterUtilisateur() {
((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur();
modele.deconnecterUtilisateur(this);
}
public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
// Mise à jour du registre
Registry.register(RegistreId.UTILISATEUR, utilisateur);
Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);
// Création de l'information de mise à jour de l'utilisateur
Information info = new Information("maj_utilisateur");
234,24 → 233,22
}
 
public void afficherListePersonnes(PersonneListe nouvelleDonnees) {
public void afficherListePersonnes(PersonneListe personnes) {
PersonneVue personneVue = new PersonneVue();
contenuPanneauCentre = personneVue;
panneauCentre.add(personneVue);
personneVue.rafraichir(nouvelleDonnees);
personneVue.rafraichir(personnes);
panneauCentre.layout();
}
 
public void clicAjouterPersonne() {
FormPersonneVue fPersonneVue = new FormPersonneVue();
contenuPanneauCentre = fPersonneVue;
panneauCentre.add(fPersonneVue);
panneauCentre.removeAll();
FormPersonneVue formulairePersonneVue = new FormPersonneVue();
contenuPanneauCentre = formulairePersonneVue;
panneauCentre.add(formulairePersonneVue);
panneauCentre.layout();
}
public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) {
modele.selectionnerPersonne(vue, null, projetId, nomComplet);
}
public void clicSupprimerPersonne(Rafraichissable vue,List<Personne> personneSelection) {
String ids = "" ;
274,6 → 271,10
Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
}
}
 
public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) {
modele.selectionnerPersonne(vue, null, projetId, nomComplet);
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES VALEURS ET LISTES
292,7 → 293,6
//+----------------------------------------------------------------------------------------------------------------+
 
public void afficherListePublication(PublicationListe nouvelleDonnees) {
PublicationVue publicationVue = new PublicationVue() ;
panneauCentre.removeAll();
panneauCentre.add(publicationVue);
344,28 → 344,27
message = "Voulez-vous vraiment supprimer ces publication ?";
}
if(Window.confirm(message)) {
modele.supprimerPublication(getUtilisateurId(),publicationListe);
modele.supprimerPublication(contenuPanneauCentre, getUtilisateurId(),publicationListe);
}
}
}
 
public void ajouterPublication(FormPublicationVue formPublicationVue,
Publication publi) {
modele.ajouterPublication(getUtilisateurId(),publi);
public void ajouterPublication(FormPublicationVue formPublicationVue, Publication publi) {
modele.ajouterPublication(contenuPanneauCentre, getUtilisateurId(),publi);
}
public void modifierPublication(FormPublicationVue formPublicationVue, Publication publi) {
modele.modifierPublication(getUtilisateurId(),publi);
modele.modifierPublication(contenuPanneauCentre, getUtilisateurId(),publi);
}
 
public void clicObtenirListeEditeurs(Rafraichissable r) {
modele.obtenirListeStructures(r,getUtilisateurId(), null);
public void clicObtenirListeEditeurs(Rafraichissable vue) {
modele.selectionnerStructure(vue, null, null);
}
 
public void clicObtenirListeAuteurs(Rafraichissable r) {
modele.obtenirListePersonnes(r);
public void clicObtenirListeAuteurs(Rafraichissable vue) {
modele.selectionnerPersonne(vue, null, null, null);
}
//+----------------------------------------------------------------------------------------------------------------+
422,7 → 421,7
if (structureSelection.size() == 1) {
message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
}
if(Window.confirm(message)) {
if (Window.confirm(message)) {
String idStr = "" ;
for(int i = 0 ; i < structureSelection.size() ; i++) {
idStr += structureSelection.get(i).getId()+"," ;
436,7 → 435,7
public void selectionnerStructure(Rafraichissable vue, String structureId) {
GWT.log("Structure : "+structureId, null);
modele.selectionnerStructure(vue, getUtilisateurId(), null, structureId);
modele.selectionnerStructure(vue, null, structureId);
}
/**
444,8 → 443,8
* Lance la creation d'une structure
* @param les données de la structure saisie
*/
public void ajouterStructure(Rafraichissable vue, Structure structure) {
modele.ajouterStructure(vue, getUtilisateurId(), structure);
public void ajouterStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.ajouterStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
}
public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
494,42 → 493,40
* Retourne l'identifiant du projet courrant de l'application.
*/
public String getProjetId() {
return Registry.get(RegistreId.PROJET);
String id = null;
Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
if (!projetCourant.getId().equals("")) {
id = projetCourant.getId();
}
return id;
}
//Greg : ajout d'un écouteur pour le changement liste projet
public void rafraichirListeProjets() {
((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets();
public void selectionnerProjets(Rafraichissable vue) {
modele.selectionnerProjets(vue);
}
public void afficherListeProjets(ProjetListe projets) {
((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets);
panneauOuest.rafraichir(projets);
}
public void selectionnerProjet(String selectedIndexValue) {
Registry.register(RegistreId.PROJET, selectedIndexValue);
public void selectionnerProjetCourant(Projet projetSelectionne) {
Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
if (contenuPanneauCentre instanceof PersonneVue) {
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes();
modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
//FIXME Le rafraichissement du panneau ne se fait pas!
} else if (contenuPanneauCentre instanceof StructureVue) {
modele.obtenirListeStructures(contenuPanneauCentre, getProjetId());
}
}
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
//+----------------------------------------------------------------------------------------------------------------+
// RAFRAICHISSEMENT
//+----------------------------------------------------------------------------------------------------------------+
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Utilisateur) {
mettreAJourEtatIdentification((Utilisateur) nouvelleDonnees);
}
}
}