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