Subversion Repositories eFlore/Applications.cel

Rev

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

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