New file |
0,0 → 1,191 |
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() { |
|
@Override |
public void onClick(Button button, EventObject e) { |
valider(); |
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage()); |
} |
}); |
|
champRecherche.addKeyPressListener(new EventCallback() { |
|
@Override |
public void execute(EventObject e) { |
|
switch(e.getKey()) { |
case KEY_ENTER: |
valider(); |
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage()); |
break; |
} |
} |
}); |
} |
|
/** |
* Fonction héritée de l'interface rafraichissable |
*/ |
@Override |
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRaffraichissement) { |
|
filtreModifie = false; |
|
} |
|
/** |
* renvoie l'état du filtre (modifié ou non) |
* |
* @return l'état du filtre |
*/ |
@Override |
public boolean renvoyerEtatFiltre() { |
|
return filtreModifie; |
} |
|
/** |
* Renvoie le nom du filtre |
* |
* @return le nom du filtre |
*/ |
@Override |
public 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 |
*/ |
@Override |
public 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 |
*/ |
@Override |
public void valider() { |
filtreModifie = true; |
motsAChercher = champRecherche.getText(); |
} |
|
/** |
* Affiche la fenetre |
*/ |
public void afficherFiltre() { |
|
champRecherche.setValue(motsAChercher); |
} |
|
@Override |
public void viderFiltre() { |
champRecherche.setValue(""); |
} |
|
} |
Property changes: |
Added: svn:mergeinfo |