Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 5 Rev 168
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.interfaces.Filtrable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
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.Panel;
9
import com.gwtext.client.widgets.Panel;
10
import com.gwtext.client.widgets.event.KeyListener;
10
import com.gwtext.client.widgets.event.KeyListener;
11
import com.gwtext.client.widgets.form.TextField;
11
import com.gwtext.client.widgets.form.TextField;
12
 
12
 
13
/**
13
/**
14
 * Fenêtre de recherche pour les mots clés, contenant un champ texte, et un
14
 * Fenêtre de recherche pour les mots clés, contenant un champ texte, et un
15
 * bouton cliquable
15
 * bouton cliquable
16
 * 
16
 * 
17
 * @author aurelien
17
 * @author aurelien
18
 * 
18
 * 
19
 */
19
 */
20
public class BarreRechercheFiltreVue extends Panel implements Rafraichissable,
20
public class BarreRechercheFiltreVue extends Panel implements Rafraichissable,
21
		Filtrable {
21
		Filtrable {
22
 
22
 
23
	/**
23
	/**
24
	 * Médiateur associé à la vue
24
	 * Médiateur associé à la vue
25
	 */
25
	 */
26
	private ImageMediateur iMediateur = null;
26
	private ImageMediateur iMediateur = null;
27
 
27
 
28
	/**
28
	/**
29
	 * Barre de recherche
29
	 * Barre de recherche
30
	 * 
30
	 * 
31
	 */
31
	 */
32
	private TextField champRecherche = null;
32
	private TextField champRecherche = null;
33
 
33
 
34
	/**
34
	/**
35
	 * Booleen d'etat du filtre
35
	 * Booleen d'etat du filtre
36
	 */
36
	 */
37
	private boolean filtreModifie = false;
37
	private boolean filtreModifie = false;
38
 
38
 
39
	/**
39
	/**
40
	 * mot(s) à chercher
40
	 * mot(s) à chercher
41
	 */
41
	 */
42
	private String motsAChercher = "";
42
	private String motsAChercher = "";
43
 
43
 
44
	/**
44
	/**
45
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
45
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
46
	 */
46
	 */
47
	@SuppressWarnings("unused")
47
	@SuppressWarnings("unused")
48
	private BarreRechercheFiltreVue() {
48
	private BarreRechercheFiltreVue() {
49
		super();
49
		super();
50
	}
50
	}
51
 
51
 
52
	/**
52
	/**
53
	 * Constructeur avec médiateur
53
	 * Constructeur avec médiateur
54
	 * 
54
	 * 
55
	 * @param im
55
	 * @param im
56
	 */
56
	 */
57
	public BarreRechercheFiltreVue(ImageMediateur im) {
57
	public BarreRechercheFiltreVue(ImageMediateur im) {
58
		super();
58
		super();
59
		iMediateur = im;
59
		iMediateur = im;
60
 
60
 
61
		Label labelRecherche = new Label("Commentaires :");
61
		Label labelRecherche = new Label("Par commentaires :");
62
		champRecherche = new TextField();
62
		champRecherche = new TextField();
63
 
63
 
64
		add(labelRecherche);
64
		add(labelRecherche);
65
		add(champRecherche);
65
		add(champRecherche);
66
 
66
 
67
		setPaddings(5);
67
		setPaddings(5);
68
		setBorder(false);
68
		setBorder(false);
69
		setAutoWidth(true);
69
		setAutoWidth(true);
70
		setCollapsible(true);
70
		setCollapsible(true);
71
 
71
 
72
		ajouterListeners();
72
		ajouterListeners();
73
	}
73
	}
74
 
74
 
75
	/**
75
	/**
76
	 * ajoute des listeners
76
	 * ajoute des listeners
77
	 */
77
	 */
78
	private void ajouterListeners() {
78
	private void ajouterListeners() {
79
 
79
 
80
		// gestion de la touche entrée
80
		// gestion de la touche entrée
81
		champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
81
		champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
82
 
82
 
83
			public void onKey(int key, EventObject e) {
83
			public void onKey(int key, EventObject e) {
84
 
84
 
85
				valider();
85
				valider();
86
				getIMediateur().obtenirPhotoGalerie(
86
				getIMediateur().obtenirPhotoGalerie(
87
						getIMediateur().getFiltreCommentaires());
87
						getIMediateur().getFiltreCommentaires());
88
			}
88
			}
89
 
89
 
90
		});
90
		});
91
	}
91
	}
92
 
92
 
93
	/**
93
	/**
94
	 * Fonction héritée de l'interface rafraichissable
94
	 * Fonction héritée de l'interface rafraichissable
95
	 */
95
	 */
96
	public void rafraichir(Object nouvelleDonnees,
96
	public void rafraichir(Object nouvelleDonnees,
97
			boolean repandreRaffraichissement) {
97
			boolean repandreRaffraichissement) {
98
 
98
 
99
		filtreModifie = false;
99
		filtreModifie = false;
100
 
100
 
101
	}
101
	}
102
 
102
 
103
	/**
103
	/**
104
	 * renvoie l'état du filtre (modifié ou non)
104
	 * renvoie l'état du filtre (modifié ou non)
105
	 * 
105
	 * 
106
	 * @return l'état du filtre
106
	 * @return l'état du filtre
107
	 */
107
	 */
108
	public boolean renvoyerEtatFiltre() {
108
	public boolean renvoyerEtatFiltre() {
109
 
109
 
110
		return filtreModifie;
110
		return filtreModifie;
111
	}
111
	}
112
 
112
 
113
	/**
113
	/**
114
	 * Renvoie le nom du filtre
114
	 * Renvoie le nom du filtre
115
	 * 
115
	 * 
116
	 * @return le nom du filtre
116
	 * @return le nom du filtre
117
	 */
117
	 */
118
	public String renvoyerNomFiltre() {
118
	public String renvoyerNomFiltre() {
119
 
119
 
120
		return "Recherche Commentaires";
120
		return "Recherche Commentaires";
121
	}
121
	}
122
 
122
 
123
	/**
123
	/**
124
	 * Renvoie un tableau contenant le nom du champ à filtrer et la valeur
124
	 * Renvoie un tableau contenant le nom du champ à filtrer et la valeur
125
	 * 
125
	 * 
126
	 * @return un tableau contenant le nom du champ à filtrer et sa valeur
126
	 * @return un tableau contenant le nom du champ à filtrer et sa valeur
127
	 */
127
	 */
128
	public String[] renvoyerValeursAFiltrer() {
128
	public String[] renvoyerValeursAFiltrer() {
129
 
129
 
130
		valider() ;
130
		valider() ;
131
		String[] valeurFiltre = { "ci_meta_comment", motsAChercher };
131
		String[] valeurFiltre = { "ci_meta_comment", motsAChercher };
132
		return valeurFiltre;
132
		return valeurFiltre;
133
	}
133
	}
134
 
134
 
135
	/**
135
	/**
136
	 * Accesseur pour le médiateur
136
	 * Accesseur pour le médiateur
137
	 * 
137
	 * 
138
	 * @return le médiateur associé
138
	 * @return le médiateur associé
139
	 */
139
	 */
140
	public ImageMediateur getIMediateur() {
140
	public ImageMediateur getIMediateur() {
141
		return iMediateur;
141
		return iMediateur;
142
	}
142
	}
143
 
143
 
144
	/**
144
	/**
145
	 * Effectue quelque opérations dans la classe et envoie une requête de
145
	 * Effectue quelque opérations dans la classe et envoie une requête de
146
	 * données au médiateur
146
	 * données au médiateur
147
	 */
147
	 */
148
	public void valider() {
148
	public void valider() {
149
		filtreModifie = true;
149
		filtreModifie = true;
150
		motsAChercher = champRecherche.getText();
150
		motsAChercher = champRecherche.getText();
151
	}
151
	}
152
 
152
 
153
	/**
153
	/**
154
	 * Affiche la fenetre
154
	 * Affiche la fenetre
155
	 */
155
	 */
156
	public void afficherFiltre() {
156
	public void afficherFiltre() {
157
 
157
 
158
		champRecherche.setValue(motsAChercher);
158
		champRecherche.setValue(motsAChercher);
159
	}
159
	}
160
 
160
 
161
}
161
}