Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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