Rev 1292 | Rev 2615 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.image.filtres;
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Filtrable;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.TextField;
public class RechercheFiltreTaxonVue extends Panel implements Filtrable {
private ImageMediateur iMediateur = null;
private TextField champRecherche = null;
private static String titrePanneau = "Recherche libre";
private String valeurRecherchee= "";
private Button boutonRechercher = null;
private boolean estModifie = true;
private final int KEY_ENTER = 13;
public RechercheFiltreTaxonVue(ImageMediateur im) {
super(titrePanneau);
iMediateur = im;
champRecherche = new TextField();
champRecherche.setWidth("90%");
boutonRechercher = new Button("Rechercher");
boutonRechercher.addListener(new ButtonListenerAdapter() {
@Override
public void onClick(Button button, EventObject e) {
valider();
}
});
champRecherche.addKeyPressListener(new EventCallback() {
@Override
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ENTER:
valider();
break;
}
}
});
add(champRecherche);
add(boutonRechercher);
setCollapsible(true);
setTitleCollapse(true);
setPaddings(5);
}
@Override
public boolean renvoyerEtatFiltre() {
return estModifie;
}
@Override
public String renvoyerNomFiltre() {
return "Recherche Libre";
}
@Override
public String[] renvoyerValeursAFiltrer() {
String nom = "recherche";
if(champRecherche.getValueAsString() != null && !champRecherche.getValueAsString().trim().equals("")) {
valeurRecherchee = champRecherche.getValueAsString();
nom = "recherche";
} else {
nom = "recherche";
valeurRecherchee = "";
}
String[] valeurs = {nom,valeurRecherchee};
return valeurs;
}
@Override
public void valider() {
if(champRecherche.getValueAsString() != null && champRecherche.getValueAsString() != valeurRecherchee) {
estModifie = true;
iMediateur.obtenirNombreMiniListeObservations();
} else {
estModifie = false;
}
}
public void raz() {
if(champRecherche.isCreated()) {
champRecherche.reset();
valeurRecherchee = "";
}
}
@Override
public void viderFiltre() {
champRecherche.setValue("");
valeurRecherchee = "";
}
}