Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
108 aurelien 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.observation.ObservationMediateur;
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 MenuObservationVue extends Menu {
12
 
13
	/**
14
	 * Le médiateur associé à la vue
15
	 */
16
	private ObservationMediateur oMediateur;
17
 
18
	/**
19
	 * Item pour la suppression d'obs
20
	 */
21
	private Item supprimerObservation = null;
22
 
23
	private Item transmettreObservation = null;
24
 
25
	/**
26
	 * Constructeur sans argument (privé car ne doit être utilisé)
27
	 */
28
	@SuppressWarnings("unused")
29
	private MenuObservationVue() {
30
		super();
31
	}
32
 
33
	/**
34
	 * Constructeur avec paramètre
35
	 *
36
	 * @param im
37
	 *            le médiateur à associer
38
	 */
39
	public MenuObservationVue(ObservationMediateur om) {
40
		super();
41
 
42
		oMediateur = om;
111 aurelien 43
 
108 aurelien 44
		transmettreObservation = new Item("Transmettre les observations séléctionnées");
45
		addItem(transmettreObservation);
111 aurelien 46
 
47
		supprimerObservation = new Item("Supprimer les observations séléctionnées");
48
		addItem(supprimerObservation);
108 aurelien 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
 
62
			public void onItemClick(BaseItem item, EventObject e) {
63
 
64
				// si c'est la suppression
65
				if (item.equals(supprimerObservation)) {
66
					// on notifie le médiateur
67
					getOMediateur().supprimerObservations();
68
				}
69
 
70
				// si c'est la transmission
71
				if (item.equals(transmettreObservation)) {
72
					// on notifie le médiateur
73
					getOMediateur().transmettreObservations();
74
				}
111 aurelien 75
 
108 aurelien 76
				// enfin, on cache le menu
77
				hide();
78
 
79
			}
80
 
81
		});
82
	}
83
 
84
	/**
85
	 * Accesseur pour le médiateur
86
	 *
87
	 * @return le médiateur associé à la vue
88
	 */
89
	public ObservationMediateur getOMediateur() {
90
		return oMediateur;
91
	}
92
 
93
}