Subversion Repositories eFlore/Applications.cel

Rev

Rev 1292 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1292 Rev 2630
1
package org.tela_botanica.client.vues.observation;
1
package org.tela_botanica.client.vues.observation;
-
 
2
 
2
 
3
import org.tela_botanica.client.i18n.Msg;
3
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.observation.ObservationMediateur;
6
import org.tela_botanica.client.observation.ObservationMediateur;
6
 
7
 
7
import com.google.gwt.user.client.ui.Label;
8
import com.google.gwt.user.client.ui.Label;
8
import com.gwtext.client.core.EventObject;
9
import com.gwtext.client.core.EventObject;
9
import com.gwtext.client.widgets.Button;
10
import com.gwtext.client.widgets.Button;
10
import com.gwtext.client.widgets.Panel;
11
import com.gwtext.client.widgets.Panel;
11
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
12
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
12
import com.gwtext.client.widgets.event.KeyListener;
13
import com.gwtext.client.widgets.event.KeyListener;
13
import com.gwtext.client.widgets.form.TextField;
14
import com.gwtext.client.widgets.form.TextField;
14
 
15
 
15
public class MotsClesObsVue extends Panel implements Filtrable, Rafraichissable {
16
public class MotsClesObsVue extends Panel implements Filtrable, Rafraichissable {
16
	
17
	
17
	private ObservationMediateur oMediateur = null ; 
18
	private ObservationMediateur oMediateur = null ; 
18
	
19
	
19
	/**
20
	/**
20
	 * Barre de recherche
21
	 * Barre de recherche
21
	 * 
22
	 * 
22
	 */
23
	 */
23
	private TextField champRecherche = null;
24
	private TextField champRecherche = null;
24
 
25
 
25
	/**
26
	/**
26
	 * Booleen d'etat du filtre
27
	 * Booleen d'etat du filtre
27
	 */
28
	 */
28
	private boolean filtreModifie = false;
29
	private boolean filtreModifie = false;
29
 
30
 
30
	/**
31
	/**
31
	 * mot(s) à chercher
32
	 * mot(s) à chercher
32
	 */
33
	 */
33
	private String motsAChercher = "";
34
	private String motsAChercher = "";
34
	
35
	
35
	/**
36
	/**
36
	 * bouton de validation
37
	 * bouton de validation
37
	 */
38
	 */
38
	private Button ok = null ;
39
	private Button ok = null ;
39
	
40
	
40
	private Button afficherNuage = null;
41
	private Button afficherNuage = null;
41
	
42
	
42
	/**
43
	/**
43
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
44
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
44
	 */
45
	 */
45
	@SuppressWarnings("unused")
46
	@SuppressWarnings("unused")
46
	private MotsClesObsVue() {
47
	private MotsClesObsVue() {
47
		super();
48
		super();
48
	}
49
	}
49
 
50
 
50
	/**
51
	/**
51
	 * Constructeur avec médiateur
52
	 * Constructeur avec médiateur
52
	 * 
53
	 * 
53
	 * @param im
54
	 * @param im
54
	 */
55
	 */
55
	public MotsClesObsVue(ObservationMediateur om) {
56
	public MotsClesObsVue(ObservationMediateur om) {
56
		super();
57
		super();
57
		oMediateur = om;
58
		oMediateur = om;
58
 
59
 
59
		Label labelRecherche = new Label("Mots clés :");
60
		Label labelRecherche = new Label(Msg.Get("mots-cles") + " :");
60
		champRecherche = new TextField();
61
		champRecherche = new TextField();
61
		ok = new Button("Rechercher");
62
		ok = new Button(Msg.get("rechercher"));
62
		afficherNuage = new Button("Voir les mots clés");
63
		afficherNuage = new Button(Msg.get("voir-mots-cles"));
63
 
64
 
64
		add(labelRecherche);
65
		add(labelRecherche);
65
		add(champRecherche);
66
		add(champRecherche);
66
		add(ok);
67
		add(ok);
67
		add(afficherNuage);
68
		add(afficherNuage);
68
 
69
 
69
		setPaddings(5);
70
		setPaddings(5);
70
		setBorder(false);
71
		setBorder(false);
71
		setCollapsible(true);
72
		setCollapsible(true);
72
 
73
 
73
		ajouterListeners();
74
		ajouterListeners();
74
	}
75
	}
75
 
76
 
76
	/**
77
	/**
77
	 * ajoute des listeners
78
	 * ajoute des listeners
78
	 */
79
	 */
79
	private void ajouterListeners() {
80
	private void ajouterListeners() {
80
 
81
 
81
		// gestion de la touche entrée
82
		// gestion de la touche entrée
82
		champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
83
		champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
83
 
84
 
84
			@Override
85
			@Override
85
			public void onKey(int key, EventObject e) {
86
			public void onKey(int key, EventObject e) {
86
 
87
 
87
				valider();
88
				valider();
88
			}
89
			}
89
 
90
 
90
		});
91
		});
91
		
92
		
92
		ok.addListener(new ButtonListenerAdapter() {
93
		ok.addListener(new ButtonListenerAdapter() {
93
 
94
 
94
			@Override
95
			@Override
95
			public void onClick(Button button, EventObject e) {
96
			public void onClick(Button button, EventObject e) {
96
				valider();
97
				valider();
97
			}
98
			}
98
		});
99
		});
99
		
100
		
100
		afficherNuage.addListener(new ButtonListenerAdapter() {
101
		afficherNuage.addListener(new ButtonListenerAdapter() {
101
 
102
 
102
			@Override
103
			@Override
103
			public void onClick(Button button, EventObject e) {
104
			public void onClick(Button button, EventObject e) {
104
		//		oMediateur.afficherNuageMotsCles();
105
		//		oMediateur.afficherNuageMotsCles();
105
			}
106
			}
106
		});
107
		});
107
	}
108
	}
108
 
109
 
109
	/**
110
	/**
110
	 * Fonction héritée de l'interface rafraichissable
111
	 * Fonction héritée de l'interface rafraichissable
111
	 */
112
	 */
112
	@Override
113
	@Override
113
	public void rafraichir(Object nouvelleDonnees,
114
	public void rafraichir(Object nouvelleDonnees,
114
			boolean repandreRaffraichissement) {
115
			boolean repandreRaffraichissement) {
115
 
116
 
116
		if(nouvelleDonnees instanceof String) {
117
		if(nouvelleDonnees instanceof String) {
117
			
118
			
118
			champRecherche.setValue(champRecherche.getValueAsString()+" "+(String)nouvelleDonnees);
119
			champRecherche.setValue(champRecherche.getValueAsString()+" "+(String)nouvelleDonnees);
119
		}
120
		}
120
		filtreModifie = false;
121
		filtreModifie = false;
121
 
122
 
122
	}
123
	}
123
 
124
 
124
	/**
125
	/**
125
	 * renvoie l'état du filtre (modifié ou non)
126
	 * renvoie l'état du filtre (modifié ou non)
126
	 * 
127
	 * 
127
	 * @return l'état du filtre
128
	 * @return l'état du filtre
128
	 */
129
	 */
129
	@Override
130
	@Override
130
	public boolean renvoyerEtatFiltre() {
131
	public boolean renvoyerEtatFiltre() {
131
 
132
 
132
		return filtreModifie;
133
		return filtreModifie;
133
	}
134
	}
134
 
135
 
135
	/**
136
	/**
136
	 * Renvoie le nom du filtre
137
	 * Renvoie le nom du filtre
137
	 * 
138
	 * 
138
	 * @return le nom du filtre
139
	 * @return le nom du filtre
139
	 */
140
	 */
140
	@Override
141
	@Override
141
	public String renvoyerNomFiltre() {
142
	public String renvoyerNomFiltre() {
142
 
143
 
143
		return "Recherche Mots clés";
144
		return "Recherche Mots clés";
144
	}
145
	}
145
 
146
 
146
	/**
147
	/**
147
	 * Renvoie un tableau contenant le nom du champ à filtrer et la valeur
148
	 * Renvoie un tableau contenant le nom du champ à filtrer et la valeur
148
	 * 
149
	 * 
149
	 * @return un tableau contenant le nom du champ à filtrer et sa valeur
150
	 * @return un tableau contenant le nom du champ à filtrer et sa valeur
150
	 */
151
	 */
151
	@Override
152
	@Override
152
	public String[] renvoyerValeursAFiltrer() {
153
	public String[] renvoyerValeursAFiltrer() {
153
 
154
 
154
		String[] valeurFiltre = new String[0];
155
		String[] valeurFiltre = new String[0];
155
		if(!motsAChercher.equals("")) {
156
		if(!motsAChercher.equals("")) {
156
			valeurFiltre = new String[2];
157
			valeurFiltre = new String[2];
157
			valeurFiltre[0] = "mots_cles";
158
			valeurFiltre[0] = "mots_cles";
158
			valeurFiltre[1] = motsAChercher;
159
			valeurFiltre[1] = motsAChercher;
159
		}
160
		}
160
		return valeurFiltre;
161
		return valeurFiltre;
161
	}
162
	}
162
 
163
 
163
	/**
164
	/**
164
	 * Accesseur pour le médiateur
165
	 * Accesseur pour le médiateur
165
	 * 
166
	 * 
166
	 * @return le médiateur associé
167
	 * @return le médiateur associé
167
	 */
168
	 */
168
	public ObservationMediateur getIMediateur() {
169
	public ObservationMediateur getIMediateur() {
169
		return oMediateur;
170
		return oMediateur;
170
	}
171
	}
171
 
172
 
172
	/**
173
	/**
173
	 * Effectue quelque opérations dans la classe et envoie une requête de
174
	 * Effectue quelque opérations dans la classe et envoie une requête de
174
	 * données au médiateur
175
	 * données au médiateur
175
	 */
176
	 */
176
	@Override
177
	@Override
177
	public void valider() {
178
	public void valider() {
178
		filtreModifie = true;
179
		filtreModifie = true;
179
		motsAChercher = champRecherche.getText();
180
		motsAChercher = champRecherche.getText();
180
		oMediateur.obtenirNombreObservation();
181
		oMediateur.obtenirNombreObservation();
181
	}
182
	}
182
 
183
 
183
	/**
184
	/**
184
	 * Affiche la fenetre
185
	 * Affiche la fenetre
185
	 */
186
	 */
186
	public void afficherFiltre() {
187
	public void afficherFiltre() {
187
 
188
 
188
		champRecherche.setValue(motsAChercher);
189
		champRecherche.setValue(motsAChercher);
189
	}
190
	}
190
 
191
 
191
	@Override
192
	@Override
192
	public void viderFiltre() {
193
	public void viderFiltre() {
193
		champRecherche.setValue("");
194
		champRecherche.setValue("");
194
		motsAChercher = "";
195
		motsAChercher = "";
195
	}
196
	}
196
}
197
}