Rev 564 | Rev 676 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.metadonnees;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.composants.presenteur.Presenteur;import org.tela_botanica.del.client.modeles.InformationsRecherche;import org.tela_botanica.del.client.modeles.ModeRecherche;import org.tela_botanica.del.client.modeles.Observation;import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;import org.tela_botanica.del.client.navigation.evenement.detailsimage.EvenementRechercheImage;import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation;import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.event.dom.client.ClickHandler;import com.google.gwt.event.dom.client.HasClickHandlers;import com.google.gwt.user.client.ui.HasText;import com.google.gwt.user.client.ui.HasWidgets;import com.google.gwt.user.client.ui.IsWidget;public class MetadonneesPresenteur extends Presenteur {public abstract interface Vue extends IsWidget {public HasText getNomRetenu();public HasClickHandlers getLienNomRetenu();public HasText getNomCommun();public HasText getFamille();public HasText getLocalite();public HasText getLieuDit();public HasText getMilieu();public HasText getCommentaire();public HasText getAuteur();public HasText getDateTransmission();public HasText getMotsClefs();public HasText getNumNomenclatural();public HasText getDateReleve();public HasClickHandlers getLienFamille();public HasClickHandlers getLienAuteur();public HasClickHandlers getLienDateTransmission();public HasClickHandlers getLienDateReleve();public HasClickHandlers getLienLocalite();public HasClickHandlers getLienMotsClefs();public HasClickHandlers getLienNumNomenclatural();public HasClickHandlers getLienNomCommun();public HasClickHandlers getLienMilieu();public HasClickHandlers getLienCommentaire();public void masquerChampsVides();}private Vue vue;private Observation observation;private ModeRecherche modeRecherche;public MetadonneesPresenteur(Vue vue, Observation observation, ModeRecherche modeRecherche) {this.vue = vue;this.modeRecherche = modeRecherche;setObservation(observation);}public void setObservation(Observation observation) {this.observation = observation;}public void chargerMetaDonnees() {vue.getNomRetenu().setText(observation.getNomRetenu());vue.getNomCommun().setText(observation.getNomCommun());vue.getFamille().setText(observation.getFamille());vue.getLocalite().setText(observation.getLocaliteAvecIdFormatee());vue.getLieuDit().setText(observation.getLieuDit());vue.getMilieu().setText(observation.getMilieu());vue.getCommentaire().setText(observation.getCommentaire());vue.getAuteur().setText(observation.getAuteur());vue.getDateTransmission().setText(observation.getDateTransmission());vue.getDateReleve().setText(observation.getDateReleve());vue.masquerChampsVides();}@Overridepublic void go(HasWidgets composite) {composite.add(vue.asWidget());chargerMetaDonnees();gererEvenements();}@Overrideprotected void gererEvenements() {vue.getLienAuteur().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setAuteur(vue.getAuteur().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienDateReleve().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setDate(vue.getDateReleve().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienDateTransmission().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setDate(vue.getDateReleve().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienFamille().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setFamille(vue.getFamille().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienLocalite().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setCommune(vue.getLocalite().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienMotsClefs().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setMotClef(vue.getMotsClefs().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienNomCommun().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setRechercheLibre(vue.getNomCommun().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienNomRetenu().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setRechercheLibre(vue.getNomRetenu().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienMilieu().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setRechercheLibre(vue.getMilieu().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});vue.getLienCommentaire().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent arg0) {InformationsRecherche informationsRecherche = new InformationsRecherche();informationsRecherche.setRechercheLibre(vue.getCommentaire().getText());setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);}});}public void setInfosRechercheEnCacheEtLancerEvenement(InformationsRecherche informationsRecherche) {switch (modeRecherche) {case MODE_IMAGE:CacheClient.getInstance().setPageCouranteRechercheImages(1);CacheClient.getInstance().setInformationsRechercheImage(informationsRecherche);BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage());break;case MODE_OBSERVATION:CacheClient.getInstance().setPageCouranteRechercheObservations(1);CacheClient.getInstance().setInformationsRechercheObservation(informationsRecherche);BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation());default:break;}}}