Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
268 aurelien 1
package org.tela_botanica.client.vues.observation.filtres;
2
 
3
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.observation.ObservationMediateur;
5
 
6
import com.google.gwt.user.client.ui.ClickListener;
7
import com.gwtext.client.core.EventCallback;
8
import com.gwtext.client.core.EventObject;
9
import com.google.gwt.user.client.ui.Widget;
10
import com.gwtext.client.widgets.Button;
11
import com.gwtext.client.widgets.Panel;
12
import com.gwtext.client.widgets.event.ButtonListener;
13
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
14
import com.gwtext.client.widgets.form.TextField;
15
 
16
public class RechercheLibreVue extends Panel implements Filtrable {
17
 
18
	private ObservationMediateur oMediateur = null;
19
 
20
	private TextField champRecherche = null;
21
 
22
	private static String titrePanneau = "Recherche libre";
23
 
24
	private String valeurRecherchee= "";
25
 
26
	private Button boutonRechercher = null;
27
 
28
	private boolean estModifie = true;
29
 
30
	private final int KEY_ENTER = 13;
31
 
32
 
33
	public RechercheLibreVue(ObservationMediateur om) {
34
		super(titrePanneau);
35
		oMediateur = om;
36
		champRecherche = new TextField();
280 aurelien 37
		champRecherche.setWidth("90%");
268 aurelien 38
		boutonRechercher = new Button("Rechercher");
39
 
40
		boutonRechercher.addListener(new ButtonListenerAdapter() {
41
 
42
			public void onClick(Button button, EventObject e) {
43
				valider();
44
			}
45
		});
46
 
47
		champRecherche.addKeyPressListener(new EventCallback()	{
48
 
49
    	    public void execute(EventObject e) {
50
 
51
	    		switch(e.getKey()) {
52
	    			case KEY_ENTER:
53
	    				valider();
54
	    			break;
55
	    		}
56
    	    }
57
		});
58
 
59
		add(champRecherche);
60
		add(boutonRechercher);
61
 
62
		setCollapsible(true);
63
		setTitleCollapse(true);
64
		setPaddings(5);
65
	}
66
 
67
 
68
	public boolean renvoyerEtatFiltre() {
69
		return estModifie;
70
	}
71
 
72
 
73
	public String renvoyerNomFiltre() {
74
		return "Taxon";
75
	}
76
 
77
	public String[] renvoyerValeursAFiltrer() {
78
 
320 aurelien 79
		String nom = "";
80
 
81
		if(champRecherche.getValueAsString() != null && !champRecherche.getValueAsString().trim().equals("")) {
268 aurelien 82
			valeurRecherchee = champRecherche.getValueAsString();
320 aurelien 83
			nom = "nom_taxon";
340 aurelien 84
		} else {
85
			nom = "nom_taxon";
86
			valeurRecherchee = "";
268 aurelien 87
		}
88
 
320 aurelien 89
		String[] valeurs = {nom,valeurRecherchee};
268 aurelien 90
		return valeurs;
91
	}
92
 
93
 
94
	public void valider() {
95
		if(champRecherche.getValueAsString() != null && champRecherche.getValueAsString() != valeurRecherchee) {
96
			estModifie = true;
97
			oMediateur.obtenirNombreObservation();
98
		} else {
99
			estModifie = false;
100
		}
101
	}
102
 
103
	public void raz() {
104
		if(champRecherche.isCreated()) {
105
			champRecherche.reset();
106
			valeurRecherchee = "";
107
		}
108
	}
683 aurelien 109
 
110
	public void viderFiltre() {
111
		champRecherche.setValue("");
112
		valeurRecherchee = "";
113
	}
268 aurelien 114
}