Subversion Repositories eFlore/Archives.cel-v2

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
48 aperonnet 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
4
 
5
import com.gwtext.client.core.EventObject;
6
import com.gwtext.client.widgets.menu.BaseItem;
7
import com.gwtext.client.widgets.menu.Item;
8
import com.gwtext.client.widgets.menu.Menu;
9
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
10
 
11
public class MenuFiltreVue extends Menu {
12
 
13
	/**
14
	 * Le médiateur associé à la vue
15
	 */
16
	private ImageMediateur iMediateur ;
17
 
18
	/**
19
	 * Item pour la recherche par mots clés
20
	 */
21
	private Item chercherImage = null ;
22
 
23
	/**
24
	 * Item pour la recherche sur les commentaires
25
	 */
26
	private Item chercherCommentaire = null ;
27
 
28
	/**
29
	 * Constructeur sans argument (privé car ne doit être utilisé)
30
	 */
31
	private MenuFiltreVue()
32
	{
33
		super();
34
	}
35
 
36
	/**
37
	 * Constructeur avec paramètre
38
	 * @param im le médiateur à associer
39
	 */
40
	public MenuFiltreVue(ImageMediateur im)
41
	{
42
		super() ;
43
 
44
		iMediateur = im ;
45
 
46
		// on construit le menu
47
		chercherImage = new Item("Filtrer par les mots clés") ;
48
		chercherCommentaire = new Item("Filtrer par les commentaires") ;
49
		addItem(chercherImage) ;
50
		addItem(chercherCommentaire) ;
51
 
52
		// on ajoute les listeners
53
		ajouterListeners() ;
54
	}
55
 
56
	/**
57
	 * Ajoute les listeners pour la gestions des évènements
58
	 */
59
	private void ajouterListeners()
60
	{
61
		this.addListener(new MenuListenerAdapter() {
62
 
63
			// gestion du clic sur un item
64
 
65
			public void onItemClick(BaseItem item, EventObject e) {
66
 
67
				// si c'est la recherche par mots clé
68
				if(item.equals(chercherImage))
69
				{
70
					// on notifie le médiateur
71
					getIMediateur().afficherFiltreMotsCles() ;
72
				}
73
 
74
				// si c'est la recherche par commentaires
75
				if(item.equals(chercherCommentaire))
76
				{
77
					// on notifie le médiateur
78
					getIMediateur().afficherFiltreCommentaires() ;
79
				}
80
 
81
				// enfin, on cache le menu
82
				hide() ;
83
 
84
			}
85
 
86
		}) ;
87
	}
88
 
89
	/**
90
	 * Accesseur pour le médiateur
91
	 * @return le médiateur associé à la vue
92
	 */
93
	public ImageMediateur getIMediateur()
94
	{
95
		return iMediateur ;
96
	}
97
 
98
}