Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 544 → Rev 545

/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRechercheVue.ui.xml
1,5 → 1,6
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
<ui:with field='res' type='org.tela_botanica.del.client.resources.Ressources' />
65,11 → 66,11
<g:Label text="{constants.date}" />
<g:TextBox ui:field="date" />
</g:HTMLPanel>
<g:Button styleName="{style.boutonRecherche}" ui:field="boutonRechercheAvancee" text="{constants.rechercher}">
</g:Button>
<g:Button styleName="{style.boutonRecherche}" ui:field="boutonRechercheAvancee" text="{constants.rechercher}"></g:Button>
<g:HTMLPanel styleName="nettoyage" />
</g:HTMLPanel>
<g:Label ui:field="recherchePrecedente" styleName="{style.recherchePrecedente}" />
<g:HTMLPanel ui:field="zonePagination" />
</g:HTMLPanel>
</ui:UiBinder>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherchePresenteur.java
22,17 → 22,16
public abstract class MoteurRecherchePresenteur extends Presenteur {
 
public abstract interface Vue extends IsWidget {
 
public abstract void ajouterVue(HasWidgets composite);
public abstract HasClickHandlers getLienRechercheAvancee();
public abstract void basculerAffichageZoneCache();
public abstract HasClickHandlers getBoutonRechercheSimple();
public abstract HasClickHandlers getBoutonFermer();
public abstract HasClickHandlers getBoutonVider();
public abstract HasClickHandlers getBoutonRechercheAvancee();
public abstract HasKeyPressHandlers getChampSaisie();
public abstract HasClickHandlers getChampSaisieCliquable();
public abstract String getValeurRechercheSimple();
public void ajouterVue(HasWidgets composite);
public HasClickHandlers getLienRechercheAvancee();
public void basculerAffichageZoneCache();
public HasClickHandlers getBoutonRechercheSimple();
public HasClickHandlers getBoutonFermer();
public HasClickHandlers getBoutonVider();
public HasClickHandlers getBoutonRechercheAvancee();
public HasKeyPressHandlers getChampSaisie();
public HasClickHandlers getChampSaisieCliquable();
public String getValeurRechercheSimple();
public String getLabelRecherche();
public String getContientMots();
public String getDepartement();
57,54 → 56,14
public enum TypeMoteur {SIMPLE, AVANCEE};
private TypeMoteur typeMoteur = TypeMoteur.SIMPLE;
 
private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
private AutoCompletionComboBoxPresenteur autoCompletionCommunesPresenteur;
private AutoCompletionComboBoxPresenteur completionTaxonsPresenteur;
private AutoCompletionComboBoxPresenteur completionCommunesPresenteur;
public MoteurRecherchePresenteur(Vue vue, ModeRecherche mode) {
AutoCompletionComboBoxPresenteur completionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionNomLocale) {
 
protected String effectuerPreTraitementChaineRequete(String requete) {
return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
// A décommenter lors de l'utilisation des web services eflore
// return
// RetourAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceEflore(requete);
}
 
@Override
protected String[] parserResultatRequete(Response response) {
return UtilitairesAutoCompletionService.parserRetourSimple(response);
// A décommenter lors de l'utilisation des web services eflore
// return RetourAutoCompletionService.parserRetourOss(response);
}
};
AutoCompletionComboBoxPresenteur completionCommunesPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionCommunes) {
 
protected String effectuerPreTraitementChaineRequete(String requete) {
return requete;
}
@Override
protected void surSelectionSuggestion(String suggestion) {
String[] tableauCommuneDpt = suggestion.split(" ");
if(tableauCommuneDpt.length == 2) {
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
getVue().setValeurDepartement(dpt);
setValeur(tableauCommuneDpt[0]);
}
}
 
@Override
protected String[] parserResultatRequete(Response response) {
return UtilitairesAutoCompletionService.parserRetourSimple(response);
}
};
this.vue = vue;
setMode(mode);
 
autoCompletionCommunesPresenteur = completionCommunesPresenteur;
autoCompletionNomTaxonsPresenteur = completionNomTaxonsPresenteur;
this.creerCompletionTaxons();
this.creerCompletionCommunes();
gererEvenements();
}
113,8 → 72,8
Vue vue, ModeRecherche mode) {
this.vue = vue;
setMode(mode);
autoCompletionNomTaxonsPresenteur = presenteurAutoCompletionTaxon;
autoCompletionCommunesPresenteur = presenteurAutoCompletionCommunes;
completionTaxonsPresenteur = presenteurAutoCompletionTaxon;
completionCommunesPresenteur = presenteurAutoCompletionCommunes;
gererEvenements();
}
142,11 → 101,52
return (modeRecherche == ModeRecherche.MODE_OBSERVATION);
}
 
private void creerCompletionTaxons() {
completionTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionNomLocale) {
protected String effectuerPreTraitementChaineRequete(String requete) {
return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
// A décommenter lors de l'utilisation des web services eflore
// return
// RetourAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceEflore(requete);
}
 
@Override
protected String[] parserResultatRequete(Response response) {
return UtilitairesAutoCompletionService.parserRetourSimple(response);
// A décommenter lors de l'utilisation des web services eflore
// return RetourAutoCompletionService.parserRetourOss(response);
}
};
}
private void creerCompletionCommunes() {
completionCommunesPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionCommunes) {
protected String effectuerPreTraitementChaineRequete(String requete) {
return requete;
}
@Override
protected void surSelectionSuggestion(String suggestion) {
String[] tableauCommuneDpt = suggestion.split(" ");
if(tableauCommuneDpt.length == 2) {
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
getVue().setValeurDepartement(dpt);
setValeur(tableauCommuneDpt[0]);
}
}
 
@Override
protected String[] parserResultatRequete(Response response) {
return UtilitairesAutoCompletionService.parserRetourSimple(response);
}
};
}
@Override
public void go(HasWidgets composite) {
afficherRequeteEtLancerRecherche();
autoCompletionNomTaxonsPresenteur.go(vue.getTaxon());
autoCompletionCommunesPresenteur.go(vue.getCommune());
completionTaxonsPresenteur.go(vue.getTaxon());
completionCommunesPresenteur.go(vue.getCommune());
vue.ajouterVue(composite);
vue.focusSaisie();
}
216,23 → 216,25
}
private void nettoyerChamps() {
autoCompletionCommunesPresenteur.nettoyer();
autoCompletionNomTaxonsPresenteur.nettoyer();
completionCommunesPresenteur.nettoyer();
completionTaxonsPresenteur.nettoyer();
vue.nettoyer();
}
 
public void collecterInfosRecherche() {
InformationsRecherche informationRecherche = new InformationsRecherche();
informationRecherche.setTaxon(autoCompletionNomTaxonsPresenteur.getValeur());
informationRecherche.setDepartement(vue.getDepartement());
informationRecherche.setCommune(autoCompletionCommunesPresenteur.getValeur());
informationRecherche.setFamille(vue.getFamille());
informationRecherche.setGenre(vue.getGenre());
informationRecherche.setTag(vue.getTag());
informationRecherche.setMotClef(vue.getMotCle());
informationRecherche.setAuteur(vue.getAuteur());
informationRecherche.setDate(vue.getDate());
informationRecherche.setRechercheLibre(this.getRechercheLibre());
if (this.typeMoteur == TypeMoteur.AVANCEE) {
informationRecherche.setTaxon(completionTaxonsPresenteur.getValeur());
informationRecherche.setDepartement(vue.getDepartement());
informationRecherche.setCommune(completionCommunesPresenteur.getValeur());
informationRecherche.setFamille(vue.getFamille());
informationRecherche.setGenre(vue.getGenre());
informationRecherche.setTag(vue.getTag());
informationRecherche.setMotClef(vue.getMotCle());
informationRecherche.setAuteur(vue.getAuteur());
informationRecherche.setDate(vue.getDate());
}
 
if (estPourRechercheImages()) {
CacheClient.getInstance().setPageCouranteRechercheImages(1);
271,7 → 273,7
public void afficherRequeteEtLancerRecherche() {
InformationsRecherche informationsRecherche = getInformationsRechercheEnCache();
if (informationsRecherche != null) {
autoCompletionNomTaxonsPresenteur.setValeur(informationsRecherche.getTaxon());
completionTaxonsPresenteur.setValeur(informationsRecherche.getTaxon());
vue.chargerValeursRecherchePrecedente(informationsRecherche);
}
lancerRecherche();
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRechercheVue.java
10,7 → 10,6
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
19,8 → 18,7
 
public class MoteurRechercheVue extends Composite implements MoteurRecherchePresenteur.Vue {
 
interface Binder extends UiBinder<Widget, MoteurRechercheVue> {
}
interface Binder extends UiBinder<Widget, MoteurRechercheVue> {}
 
private static Binder uiBinder = GWT.create(Binder.class);
private String labelRecherche = "";
49,12 → 47,6
return lienRechercheAvancee;
}
 
public void basculerAffichageZoneCache() {
rechercheAvancee.setVisible(!rechercheAvancee.isVisible());
recherchePrincipale.setVisible(!recherchePrincipale.isVisible());
boutonRecherche.setVisible(!boutonRecherche.isVisible());
}
 
public HasClickHandlers getBoutonRechercheSimple() {
return boutonRecherche;
}
79,27 → 71,80
return recherchePrincipale.getText();
}
public String getContientMots() {
return contientMots.getText();
public void setValeurRechercheSimple(String valeurRecherche) {
recherchePrincipale.setText(valeurRecherche);
}
 
public HasClickHandlers getChampSaisieCliquable() {
return recherchePrincipale;
}
public String getContientMots() {
return contientMots.getText();
}
 
public void setValeurRechercheSimple(String valeurRecherche) {
recherchePrincipale.setText(valeurRecherche);
}
public void setContientMots(String mots) {
contientMots.setText(mots);
}
public String getDepartement() {
return departement.getText();
}
 
public void setValeurDepartement(String dpt) {
departement.setValue(dpt);
}
 
public HasWidgets getCommune() {
return commune;
}
 
public HasWidgets getTaxon() {
return taxon;
}
 
public String getFamille() {
return famille.getText();
}
 
public String getGenre() {
return genre.getText();
}
 
public String getTag() {
return tag.getText();
}
 
public String getMotCle() {
return motCle.getText();
}
 
public String getAuteur() {
return auteur.getText();
}
 
public String getDate() {
return date.getText();
}
public void focusSaisie() {
this.recherchePrincipale.setFocus(true);
}
 
public void ajouterVue(HasWidgets composite) {
composite.add(this.asWidget());
}
public void basculerAffichageZoneCache() {
rechercheAvancee.setVisible(!rechercheAvancee.isVisible());
recherchePrincipale.setVisible(!recherchePrincipale.isVisible());
boutonRecherche.setVisible(!boutonRecherche.isVisible());
}
public void nettoyer() {
chargerValeursRecherchePrecedente(new InformationsRecherche());
}
public void chargerValeursRecherchePrecedente(InformationsRecherche informationsRecherche) {
recherchePrincipale.setText(informationsRecherche.getRechercheLibre());
contientMots.setText(informationsRecherche.getRechercheLibre());
121,7 → 166,6
* @param informationRecherche
*/
private void afficherLigneInfoRecherche(InformationsRecherche informationRecherche) {
 
// tax dep com fam gen ta mo au date
StringBuffer texteRecherchePrecedente = new StringBuffer();
 
158,53 → 202,4
 
recherchePrecedente.setText(texteRecherchePrecedente.toString());
}
 
public void nettoyer() {
chargerValeursRecherchePrecedente(new InformationsRecherche());
}
 
public String getDepartement() {
return departement.getText();
}
 
public HasWidgets getCommune() {
return commune;
}
 
public HasWidgets getTaxon() {
return taxon;
}
 
public String getFamille() {
return famille.getText();
}
 
public String getGenre() {
return genre.getText();
}
 
public String getTag() {
return tag.getText();
}
 
public String getMotCle() {
return motCle.getText();
}
 
public String getAuteur() {
return auteur.getText();
}
 
public String getDate() {
return date.getText();
}
 
public void focusSaisie() {
this.recherchePrincipale.setFocus(true);
}
 
@Override
public void ajouterVue(HasWidgets composite) {
composite.add(this.asWidget());
}
}
}