Subversion Repositories eFlore/Applications.cel

Rev

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 MenuIdVue extends Menu {
5 aperonnet 12
 
2 aperonnet 13
	/**
14
	 * Le médiateur associé à la vue
15
	 */
5 aperonnet 16
	private ImageMediateur iMediateur;
17
 
2 aperonnet 18
	/**
19
	 * Item pour le changement d'utilisateur
20
	 */
5 aperonnet 21
	private Item changerId = null;
22
 
2 aperonnet 23
	/**
5 aperonnet 24
	 * Constructeur sans argument (privé car ne doit être utilisé)
2 aperonnet 25
	 */
26
	@SuppressWarnings("unused")
5 aperonnet 27
	private MenuIdVue() {
2 aperonnet 28
		super();
29
	}
5 aperonnet 30
 
2 aperonnet 31
	/**
32
	 * Constructeur avec paramètre
5 aperonnet 33
	 *
34
	 * @param im
35
	 *            le médiateur à associer
2 aperonnet 36
	 */
5 aperonnet 37
	public MenuIdVue(ImageMediateur im) {
38
		super();
39
 
40
		iMediateur = im;
41
 
2 aperonnet 42
		// on construit le menu
5 aperonnet 43
		changerId = new Item("Changer d'utilisateur");
44
		addItem(changerId);
45
 
2 aperonnet 46
		// on ajoute les listeners
5 aperonnet 47
		ajouterListeners();
2 aperonnet 48
	}
5 aperonnet 49
 
2 aperonnet 50
	/**
51
	 * Ajoute les listeners pour la gestions des évènements
52
	 */
5 aperonnet 53
	private void ajouterListeners() {
2 aperonnet 54
		this.addListener(new MenuListenerAdapter() {
55
 
56
			// gestion du clic sur un item
5 aperonnet 57
 
2 aperonnet 58
			public void onItemClick(BaseItem item, EventObject e) {
5 aperonnet 59
 
2 aperonnet 60
				// si c'est la recherche par commentaires
5 aperonnet 61
				if (item.equals(changerId)) {
2 aperonnet 62
					// on notifie le médiateur
5 aperonnet 63
					getIMediateur().afficherMenuId();
2 aperonnet 64
				}
5 aperonnet 65
 
2 aperonnet 66
				// enfin, on cache le menu
5 aperonnet 67
				hide();
68
 
2 aperonnet 69
			}
5 aperonnet 70
 
71
		});
173 aurelien 72
 
2 aperonnet 73
	}
5 aperonnet 74
 
2 aperonnet 75
	/**
76
	 * Accesseur pour le médiateur
5 aperonnet 77
	 *
2 aperonnet 78
	 * @return le médiateur associé à la vue
79
	 */
5 aperonnet 80
	public ImageMediateur getIMediateur() {
81
		return iMediateur;
2 aperonnet 82
	}
83
 
84
}