Subversion Repositories eFlore/Applications.cel

Rev

Rev 1396 | Details | Compare with Previous | Last modification | View Log | RSS feed

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