Subversion Repositories eFlore/Applications.cel

Rev

Rev 1291 | Details | Compare with Previous | Last modification | View Log | RSS feed

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