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