Rev 386 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.moteurrecherche;import java.util.HashMap;import org.tela_botanica.del.client.composants.presenteur.Presenteur;import org.tela_botanica.del.client.i18n.I18n;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.event.dom.client.HasKeyPressHandlers;import com.google.gwt.event.dom.client.KeyCodes;import com.google.gwt.event.dom.client.KeyPressEvent;import com.google.gwt.event.dom.client.KeyPressHandler;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.HasWidgets;import com.google.gwt.user.client.ui.IsWidget;public abstract class MoteurRecherchePresenteur extends Presenteur {public abstract interface Vue extends IsWidget {public abstract HasClickHandlers getLienRechercheAvancee();public abstract void basculerAffichageZoneCache();public abstract HasClickHandlers getBoutonRechercheSimple();public abstract HasClickHandlers getBoutonRechercheAvancee();public abstract HasKeyPressHandlers getChampSaisie();public abstract HasClickHandlers getChampSaisieCliquable();public abstract String getValeurRechercheSimple();public void setValeurRechercheSimple(String valeurRecherche);public String getLabelRecherche();public abstract HashMap<String, String> collecterFormulaire();public String getChaineRecherche();public abstract void setRecherchePrecedente();}private Vue vue;public MoteurRecherchePresenteur(Vue vue) {this.vue = vue;gererEvenements();}@Overridepublic void go(HasWidgets composite) {composite.add(vue.asWidget());}@Overrideprotected void gererEvenements() {vue.getLienRechercheAvancee().addClickHandler(new ClickHandler() {public void onClick(ClickEvent event) {vue.basculerAffichageZoneCache();}});vue.getBoutonRechercheSimple().addClickHandler(new ClickHandler() {public void onClick(ClickEvent event) {afficherInfoRecherche();lancerRecherche(vue.getChaineRecherche());}});vue.getBoutonRechercheAvancee().addClickHandler(new ClickHandler() {public void onClick(ClickEvent event) {afficherInfoRecherche();lancerRecherche(vue.getChaineRecherche());}});vue.getChampSaisie().addKeyPressHandler(new KeyPressHandler() {public void onKeyPress(KeyPressEvent event) {if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {afficherInfoRecherche();lancerRecherche(vue.getChaineRecherche());}}});vue.getChampSaisieCliquable().addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {if (vue.getValeurRechercheSimple().equals(vue.getLabelRecherche())) {vue.setValeurRechercheSimple("");}}});}private void afficherInfoRecherche() {vue.setRecherchePrecedente();}public abstract void lancerRecherche(String termeRecherche);}