Subversion Repositories eFlore/Applications.cel

Rev

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