Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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