Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | 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
 
2615 aurelien 3
import org.tela_botanica.client.i18n.Msg;
409 aurelien 4
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.interfaces.Filtrable;
2615 aurelien 6
 
409 aurelien 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 RechercheFiltreTaxonVue extends Panel implements Filtrable {
15
 
16
	private ImageMediateur iMediateur = null;
17
 
18
	private TextField champRecherche = null;
19
 
2615 aurelien 20
	private static String titrePanneau = Msg.get("recherche-libre");
409 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 RechercheFiltreTaxonVue(ImageMediateur im) {
32
		super(titrePanneau);
33
		iMediateur = im;
34
		champRecherche = new TextField();
35
		champRecherche.setWidth("90%");
2628 aurelien 36
		boutonRechercher = new Button(Msg.get("rechercher"));
409 aurelien 37
 
38
		boutonRechercher.addListener(new ButtonListenerAdapter() {
39
 
1292 aurelien 40
			@Override
409 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) {
409 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
409 aurelien 69
	public boolean renvoyerEtatFiltre() {
70
		return estModifie;
71
	}
72
 
73
 
1292 aurelien 74
	@Override
409 aurelien 75
	public String renvoyerNomFiltre() {
2628 aurelien 76
		return Msg.get("recherche-libre");
409 aurelien 77
	}
78
 
1292 aurelien 79
	@Override
409 aurelien 80
	public String[] renvoyerValeursAFiltrer() {
81
 
1396 aurelien 82
		String nom = "recherche";
409 aurelien 83
 
84
		if(champRecherche.getValueAsString() != null && !champRecherche.getValueAsString().trim().equals("")) {
85
			valeurRecherchee = champRecherche.getValueAsString();
1396 aurelien 86
			nom = "recherche";
409 aurelien 87
		} else {
1396 aurelien 88
			nom = "recherche";
409 aurelien 89
			valeurRecherchee = "";
90
		}
91
 
92
		String[] valeurs = {nom,valeurRecherchee};
93
		return valeurs;
94
	}
95
 
96
 
1292 aurelien 97
	@Override
409 aurelien 98
	public void valider() {
99
		if(champRecherche.getValueAsString() != null && champRecherche.getValueAsString() != valeurRecherchee) {
100
			estModifie = true;
101
			iMediateur.obtenirNombreMiniListeObservations();
102
		} else {
103
			estModifie = false;
104
		}
105
	}
106
 
107
	public void raz() {
108
		if(champRecherche.isCreated()) {
109
			champRecherche.reset();
110
			valeurRecherchee = "";
111
		}
112
	}
680 aurelien 113
 
1292 aurelien 114
	@Override
680 aurelien 115
	public void viderFiltre() {
116
		champRecherche.setValue("");
117
		valeurRecherchee = "";
118
	}
409 aurelien 119
}
120