Subversion Repositories eFlore/Applications.cel

Rev

Rev 195 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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