Rev 1467 | Rev 2050 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.identiplante.moteur;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;import org.tela_botanica.del.client.composants.presenteur.Presenteur;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.modeles.ModeRecherche;import org.tela_botanica.del.client.services.rest.ObservationService;import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue;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.Window;import com.google.gwt.user.client.ui.HasWidgets;import com.google.gwt.user.client.ui.IsWidget;import com.google.gwt.user.client.ui.Panel;public class MoteurIdentiplantePresenteur extends Presenteur {public interface Vue extends IsWidget {public HasWidgets getZoneRecherche();public HasWidgets getZoneResultats();public HasClickHandlers getOngletAConfirmer();public HasClickHandlers getOngletADeterminer();public HasClickHandlers getOngletTout();public HasClickHandlers getOngletValidees();public void setOngletADeterminerActif();public void setOngletToutActif();public void setOngletAConfirmerActif();public void setOngletValideesActif();}private Vue vue;public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {this.vue = vue;}public void go(HasWidgets composite) {composite.add(vue.asWidget());ajouterMoteurRechercheAvancee();gererEvenements();}protected void ajouterMoteurRechercheAvancee() {MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {}, ModeRecherche.MODE_OBSERVATION) {@Overridepublic void lancerRecherche() {chercherObservations();}};presenteur.go(vue.getZoneRecherche());}public void chercherObservations() {vue.getZoneResultats().clear();CacheClient.getInstance().mettreAjourUrlCourante();new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats());}protected void gererEvenements() {// Gestion du clic sur les ongletsvue.getOngletTout().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {CacheClient.getInstance().setFiltreStatut("tous");CacheClient.getInstance().setPageCouranteRechercheObservations(1);chercherObservations();vue.setOngletToutActif();}});vue.getOngletADeterminer().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {CacheClient.getInstance().setFiltreStatut("adeterminer");CacheClient.getInstance().setPageCouranteRechercheObservations(1);chercherObservations();vue.setOngletADeterminerActif();}});vue.getOngletAConfirmer().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {CacheClient.getInstance().setFiltreStatut("aconfirmer");CacheClient.getInstance().setPageCouranteRechercheObservations(1);chercherObservations();vue.setOngletAConfirmerActif();}});vue.getOngletValidees().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {CacheClient.getInstance().setFiltreStatut("validees");CacheClient.getInstance().setPageCouranteRechercheObservations(1);chercherObservations();vue.setOngletValideesActif();}});}}