Rev 184 | Rev 202 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.observation;import org.tela_botanica.client.interfaces.Filtrable;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.observation.ObservationMediateur;import com.google.gwt.user.client.ui.Label;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.event.KeyListener;import com.gwtext.client.widgets.form.TextField;public class MotsClesObsVue extends Panel implements Filtrable, Rafraichissable {private ObservationMediateur oMediateur = null ;/*** Barre de recherche**/private TextField champRecherche = null;/*** Booleen d'etat du filtre*/private boolean filtreModifie = false;/*** mot(s) à chercher*/private String motsAChercher = "";/*** bouton de validation*/private Button ok = null ;private Button afficherNuage = null;/*** Constructeur sans argument (privé car ne doit pas être utilisé)*/@SuppressWarnings("unused")private MotsClesObsVue() {super();}/*** Constructeur avec médiateur** @param im*/public MotsClesObsVue(ObservationMediateur om) {super();oMediateur = om;Label labelRecherche = new Label("Mots clés :");champRecherche = new TextField();ok = new Button("Rechercher");afficherNuage = new Button("Voir les mots clés");add(labelRecherche);add(champRecherche);add(ok);add(afficherNuage);setPaddings(5);setBorder(false);setAutoWidth(true);setCollapsible(true);ajouterListeners();}/*** ajoute des listeners*/private void ajouterListeners() {// gestion de la touche entréechampRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {public void onKey(int key, EventObject e) {valider();}});ok.addListener(new ButtonListenerAdapter() {public void onClick(Button button, EventObject e) {valider();}});afficherNuage.addListener(new ButtonListenerAdapter() {public void onClick(Button button, EventObject e) {// oMediateur.afficherNuageMotsCles();}});}/*** Fonction héritée de l'interface rafraichissable*/public void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {if(nouvelleDonnees instanceof String) {champRecherche.setValue(champRecherche.getValueAsString()+" "+(String)nouvelleDonnees);}filtreModifie = false;}/*** renvoie l'état du filtre (modifié ou non)** @return l'état du filtre*/public boolean renvoyerEtatFiltre() {return filtreModifie;}/*** Renvoie le nom du filtre** @return le nom du filtre*/public String renvoyerNomFiltre() {return "Recherche Mots clés";}/*** Renvoie un tableau contenant le nom du champ à filtrer et la valeur** @return un tableau contenant le nom du champ à filtrer et sa valeur*/public String[] renvoyerValeursAFiltrer() {String[] valeurFiltre = new String[0];if(!motsAChercher.equals("")) {valeurFiltre = new String[2];valeurFiltre[0] = "mots_cles";valeurFiltre[1] = motsAChercher;}return valeurFiltre;}/*** Accesseur pour le médiateur** @return le médiateur associé*/public ObservationMediateur getIMediateur() {return oMediateur;}/*** Effectue quelque opérations dans la classe et envoie une requête de* données au médiateur*/public void valider() {filtreModifie = true;motsAChercher = champRecherche.getText();oMediateur.obtenirNombreObservation();}/*** Affiche la fenetre*/public void afficherFiltre() {champRecherche.setValue(motsAChercher);}}