Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 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
	@SuppressWarnings("unused")
32
	private MenuFiltreVue()
33
	{
34
		super();
35
	}
36
 
37
	/**
38
	 * Constructeur avec paramètre
39
	 * @param im le médiateur à associer
40
	 */
41
	public MenuFiltreVue(ImageMediateur im)
42
	{
43
		super() ;
44
 
45
		iMediateur = im ;
46
 
47
		// on construit le menu
48
		chercherImage = new Item("Filtrer par les mots clés") ;
49
		chercherCommentaire = new Item("Filtrer par les commentaires") ;
50
		addItem(chercherImage) ;
51
		addItem(chercherCommentaire) ;
52
 
53
		// on ajoute les listeners
54
		ajouterListeners() ;
55
	}
56
 
57
	/**
58
	 * Ajoute les listeners pour la gestions des évènements
59
	 */
60
	private void ajouterListeners()
61
	{
62
		this.addListener(new MenuListenerAdapter() {
63
 
64
			// gestion du clic sur un item
65
 
66
			public void onItemClick(BaseItem item, EventObject e) {
67
 
68
				// si c'est la recherche par mots clé
69
				if(item.equals(chercherImage))
70
				{
71
					// on notifie le médiateur
72
				//	getIMediateur().afficherFiltreMotsCles() ;
73
				}
74
 
75
				// si c'est la recherche par commentaires
76
				if(item.equals(chercherCommentaire))
77
				{
78
					// on notifie le médiateur
79
					//getIMediateur().afficherFiltreCommentaires() ;
80
				}
81
 
82
				// enfin, on cache le menu
83
				hide() ;
84
 
85
			}
86
 
87
		}) ;
88
	}
89
 
90
	/**
91
	 * Accesseur pour le médiateur
92
	 * @return le médiateur associé à la vue
93
	 */
94
	public ImageMediateur getIMediateur()
95
	{
96
		return iMediateur ;
97
	}
98
 
99
}