Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
195 david 1
package org.tela_botanica.client.vues.observation;
108 aurelien 2
 
2630 mathias 3
import org.tela_botanica.client.i18n.Msg;
108 aurelien 4
import org.tela_botanica.client.observation.ObservationMediateur;
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 MenuObservationVue extends Menu {
13
 
14
	/**
15
	 * Le médiateur associé à la vue
16
	 */
17
	private ObservationMediateur oMediateur;
18
 
19
	/**
20
	 * Item pour la suppression d'obs
21
	 */
22
	private Item supprimerObservation = null;
23
 
24
	private Item transmettreObservation = null;
145 aurelien 25
 
26
	private Item deTransmettreObservation = null;
108 aurelien 27
 
28
	/**
29
	 * Constructeur sans argument (privé car ne doit être utilisé)
30
	 */
31
	@SuppressWarnings("unused")
32
	private MenuObservationVue() {
33
		super();
34
	}
35
 
36
	/**
37
	 * Constructeur avec paramètre
38
	 *
39
	 * @param im
40
	 *            le médiateur à associer
41
	 */
42
	public MenuObservationVue(ObservationMediateur om) {
43
		super();
44
 
45
		oMediateur = om;
111 aurelien 46
 
2630 mathias 47
		transmettreObservation = new Item(Msg.get("rendre-publiques-selectionnees"));
108 aurelien 48
		addItem(transmettreObservation);
111 aurelien 49
 
2630 mathias 50
		deTransmettreObservation = new Item(Msg.get("rendre-privees-selectionnees"));
145 aurelien 51
		addItem(deTransmettreObservation);
52
 
2630 mathias 53
		supprimerObservation = new Item(Msg.get("supprimer-selectionnees"));
111 aurelien 54
		addItem(supprimerObservation);
108 aurelien 55
 
56
		// on ajoute les listeners
57
		ajouterListeners();
58
	}
59
 
60
	/**
61
	 * Ajoute les listeners pour la gestions des évènements
62
	 */
63
	private void ajouterListeners() {
64
		this.addListener(new MenuListenerAdapter() {
65
 
66
			// gestion du clic sur un item
67
 
1292 aurelien 68
			@Override
108 aurelien 69
			public void onItemClick(BaseItem item, EventObject e) {
70
 
71
				// si c'est la suppression
72
				if (item.equals(supprimerObservation)) {
73
					// on notifie le médiateur
74
					getOMediateur().supprimerObservations();
75
				}
76
 
77
				// si c'est la transmission
78
				if (item.equals(transmettreObservation)) {
79
					// on notifie le médiateur
145 aurelien 80
					getOMediateur().transmettreObservations(true);
108 aurelien 81
				}
111 aurelien 82
 
145 aurelien 83
				// si c'est la detransmission
84
				if (item.equals(deTransmettreObservation)) {
85
					// on notifie le médiateur
86
					getOMediateur().transmettreObservations(false);
87
				}
88
 
108 aurelien 89
				// enfin, on cache le menu
90
				hide();
91
 
92
			}
93
 
94
		});
95
	}
96
 
97
	/**
98
	 * Accesseur pour le médiateur
99
	 *
100
	 * @return le médiateur associé à la vue
101
	 */
102
	public ObservationMediateur getOMediateur() {
103
		return oMediateur;
104
	}
105
 
106
}