Subversion Repositories eFlore/Applications.cel

Rev

Rev 1292 | Details | Compare with Previous | 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
 
1292 aurelien 58
			@Override
2 aperonnet 59
			public void onItemClick(BaseItem item, EventObject e) {
5 aperonnet 60
 
2 aperonnet 61
				// si c'est la recherche par commentaires
5 aperonnet 62
				if (item.equals(changerId)) {
2 aperonnet 63
					// on notifie le médiateur
5 aperonnet 64
					getIMediateur().afficherMenuId();
2 aperonnet 65
				}
5 aperonnet 66
 
2 aperonnet 67
				// enfin, on cache le menu
5 aperonnet 68
				hide();
69
 
2 aperonnet 70
			}
5 aperonnet 71
 
72
		});
173 aurelien 73
 
2 aperonnet 74
	}
5 aperonnet 75
 
2 aperonnet 76
	/**
77
	 * Accesseur pour le médiateur
5 aperonnet 78
	 *
2 aperonnet 79
	 * @return le médiateur associé à la vue
80
	 */
5 aperonnet 81
	public ImageMediateur getIMediateur() {
82
		return iMediateur;
2 aperonnet 83
	}
84
 
85
}