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