Rev 8 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.observation;import org.tela_botanica.client.CarnetEnLigneMediateur;import org.tela_botanica.client.interfaces.iMediateur;import org.tela_botanica.client.interfaces.iRetourObservation;import org.tela_botanica.client.modeles.Observation;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.RootPanel;import com.google.gwt.user.client.ui.VerticalPanel;public class ObservationMediateur implements iMediateur{// Evenenementsfinal static public int NOMBRE_OBSERVATION=1;final static public int LISTE_OBSERVATION=2;private CarnetEnLigneMediateur carnetEnLigneMediateur=null; // Mediateur Generalprivate final ObservationModele observationModele=new ObservationModele();private Observation observation=null;// Variable interneprivate final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica";// Composants graphiquesprivate EtatConnexionVue etatConnexionVue=null; // Vue Etat de la connexion utilisateurprivate FormulaireDeConnexionVue formulaireDeConnexionVue=null; // Formulaire de connexion utilisateurprivate ListeObservationsVue listeObservationsVue = null; // Liste de releves//public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {this.carnetEnLigneMediateur=carnetEnLigneMediateur;etatConnexionVue=new EtatConnexionVue(this);listeObservationsVue=new ListeObservationsVue(this);VerticalPanel panel=new VerticalPanel();panel.add(etatConnexionVue);panel.add(listeObservationsVue);RootPanel.get().add(panel);onInitialisation();}/// Methodes privees/**** Initialisations**/private void onInitialisation() {afficheEtatConnexion();onFiltrageListeObservation("all","all","all");}// Filtre selection lieu/*** Action sur selection d'un lieu : affichage de la liste des taxons correspondants au filtrage*/public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {// Positionnement Filtre affichagelisteObservationsVue.setIdLocation(id_loc);listeObservationsVue.setLocalite(loc);listeObservationsVue.setLieudit(lieu);listeObservationsVue.initialiser();// Affichage des filtreslisteObservationsVue.displayFilter();}/// UTILISATEUR/*** Affichage etat de la connexion*/private void afficheEtatConnexion() {if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {etatConnexionVue.setEtat(texteDeconnexion,false);}else {etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)",true);}}/**** Affichage boite de connexion**/public void afficherDialogueConnexion() {// TODO : singleton ?formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);// Position it roughly in the middle of the screen.int left = (Window.getClientWidth() - 512) / 2;int top = (Window.getClientHeight() - 256) / 2;formulaireDeConnexionVue.setPopupPosition(left, top);formulaireDeConnexionVue.show();}/*** Deconnexion de l'utilisateur en cours*/public void deconnecterUtilisateur() {// carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);carnetEnLigneMediateur.deconnecterUtilisateur();}/*** Tentative de connexion utilisateur* @param login* @param password*/public void connecterUtilisateur(String login, String password) {// carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);carnetEnLigneMediateur.connecterUtilisateur(login, password);}/// OBSERVATION/*** Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours**/public void getNombreObservation (String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre ) {observationModele.getNombreObservation(new iRetourObservation() {public void onRetour(Observation obs) {observation=obs;//fireEvent(NOMBRE_OBSERVATION);}}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre);}public void getListeObservation (String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur) {observationModele.getListeObservation(new iRetourObservation() {public void onRetour(Observation obs) {observation=obs;//fireEvent(LISTE_OBSERVATION);}}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre, debut, longueur);}public Observation getObservation() {return observation;}/// EVENEMENTS/*** Evenements**//*public void handleEvent(BaseEvent be) {switch (be.type) {case CarnetEnLigneMediateur.DECONNEXION:afficheEtatConnexion();break;case CarnetEnLigneMediateur.CONNEXION:if (carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {formulaireDeConnexionVue.hide();afficheEtatConnexion();}else {formulaireDeConnexionVue.afficherMessageAlerte(); // Erreur identification}break;}}*/}