Rev 1292 | 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 org.tela_botanica.client.interfaces.Rafraichissable;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;import com.gwtext.client.widgets.layout.HorizontalLayout;/*** Fenêtre de recherche pour les mots clés, contenant un champ texte, et un* bouton cliquable** @author aurelien**/public class BarreRechercheFiltreVue extends Panel implements Rafraichissable,Filtrable {/*** Médiateur associé à la vue*/private ImageMediateur iMediateur = null;/*** Barre de recherche**/private TextField champRecherche = null;/*** Booleen d'etat du filtre*/private boolean filtreModifie = false;private Button boutonRechercher = null;/*** mot(s) à chercher*/private String motsAChercher = "";private final int KEY_ENTER = 13;/*** Constructeur sans argument (privé car ne doit pas être utilisé)*/@SuppressWarnings("unused")private BarreRechercheFiltreVue() {super();}/*** Constructeur avec médiateur** @param im*/public BarreRechercheFiltreVue(ImageMediateur im) {super();setLayout(new HorizontalLayout(3));iMediateur = im;champRecherche = new TextField();boutonRechercher = new Button("OK");add(champRecherche);add(boutonRechercher);setPaddings(5);setBorder(false);setAutoWidth(true);setCollapsible(true);ajouterListeners();}/*** ajoute des listeners*/public void ajouterListeners() {boutonRechercher.addListener(new ButtonListenerAdapter() {@Overridepublic void onClick(Button button, EventObject e) {valider();iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());}});champRecherche.addKeyPressListener(new EventCallback() {@Overridepublic void execute(EventObject e) {switch(e.getKey()) {case KEY_ENTER:valider();iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());break;}}});}/*** Fonction héritée de l'interface rafraichissable*/@Overridepublic void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {filtreModifie = false;}/*** renvoie l'état du filtre (modifié ou non)** @return l'état du filtre*/@Overridepublic boolean renvoyerEtatFiltre() {return filtreModifie;}/*** Renvoie le nom du filtre** @return le nom du filtre*/@Overridepublic String renvoyerNomFiltre() {return "Recherche ";}/*** Renvoie un tableau contenant le nom du champ à filtrer et la valeur** @return un tableau contenant le nom du champ à filtrer et sa valeur*/@Overridepublic String[] renvoyerValeursAFiltrer() {valider() ;String[] valeurFiltre = { "recherche", motsAChercher };return valeurFiltre;}/*** Accesseur pour le médiateur** @return le médiateur associé*/public ImageMediateur getIMediateur() {return iMediateur;}/*** Effectue quelque opérations dans la classe et envoie une requête de* données au médiateur*/@Overridepublic void valider() {filtreModifie = true;motsAChercher = champRecherche.getText();}/*** Affiche la fenetre*/public void afficherFiltre() {champRecherche.setValue(motsAChercher);}@Overridepublic void viderFiltre() {champRecherche.setValue("");}}