Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
81 jpm 1
package org.tela_botanica.client.vues;
2
 
2618 aurelien 3
import org.tela_botanica.client.i18n.Msg;
81 jpm 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 MenuAideVue extends Menu {
13
 
14
	/**
15
	 * Le médiateur associé à la vue
16
	 */
17
	private ImageMediateur iMediateur;
18
 
19
	/**
20
	 * Item pour l'aide
21
	 */
22
	private Item aide = null;
23
 
24
	private Item bugRemarque = null ;
25
 
26
	/**
27
	 * Constructeur sans argument (privé car ne doit être utilisé)
28
	 */
29
	@SuppressWarnings("unused")
30
	private MenuAideVue() {
31
		super();
32
	}
33
 
34
	/**
35
	 * Constructeur avec paramètre
36
	 *
37
	 * @param im
38
	 *            le médiateur à associer
39
	 */
40
	public MenuAideVue(ImageMediateur im) {
41
		super();
42
 
43
		iMediateur = im;
44
 
45
		// on construit le menu
2618 aurelien 46
		aide = new Item(Msg.get("aide"));
47
		bugRemarque = new Item(Msg.get("bugs-remarques")) ;
81 jpm 48
		addItem(aide);
49
		addItem(bugRemarque) ;
50
 
51
		// on ajoute les listeners
52
		ajouterListeners();
53
	}
54
 
55
	/**
56
	 * Ajoute les listeners pour la gestions des évènements
57
	 */
58
	private void ajouterListeners() {
59
		this.addListener(new MenuListenerAdapter() {
60
 
61
			// gestion du clic sur un item
62
 
1291 aurelien 63
			@Override
81 jpm 64
			public void onItemClick(BaseItem item, EventObject e) {
65
 
66
				// si c'est l'aide
67
				if (item.equals(aide)) {
68
					// on notifie le médiateur
69
					getIMediateur().afficherAide();
70
				}
71
 
72
				// si c'est la soumission de bug ou de remarques
73
				if (item.equals(bugRemarque)) {
74
 
75
					getIMediateur().soumettreBugRemarque() ;
76
				}
77
 
78
				// enfin, on cache le menu
79
				hide();
80
 
81
			}
82
 
83
		});
84
	}
85
 
86
	/**
87
	 * Accesseur pour le médiateur
88
	 *
89
	 * @return le médiateur associé à la vue
90
	 */
91
	public ImageMediateur getIMediateur() {
92
		return iMediateur;
93
	}
94
 
95
}